Skip to content

Commit 4f10c79

Browse files
committed
Added actual immediate disconnects when server restarts or ends
1 parent d2fdd25 commit 4f10c79

16 files changed

+170
-11
lines changed

AM2R Server.project.gmx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@
206206
<object>objects\oBlacklistReset</object>
207207
<object>objects\oControl</object>
208208
<object>objects\oGenerateSeed</object>
209-
<object>objects\oCycleRando</object>
210209
<object>objects\oCustomSeed</object>
210+
<object>objects\oCycleRando</object>
211211
</objects>
212212
<rooms name="rooms">
213213
<room>rooms\room0</room>

objects/oControl.object.gmx

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,48 @@
77
<persistent>0</persistent>
88
<parentName>&lt;undefined&gt;</parentName>
99
<maskName>&lt;undefined&gt;</maskName>
10-
<events/>
10+
<events>
11+
<event eventtype="0" enumb="0">
12+
<action>
13+
<libid>1</libid>
14+
<id>603</id>
15+
<kind>7</kind>
16+
<userelative>0</userelative>
17+
<isquestion>0</isquestion>
18+
<useapplyto>-1</useapplyto>
19+
<exetype>2</exetype>
20+
<functionname></functionname>
21+
<codestring></codestring>
22+
<whoName>self</whoName>
23+
<relative>0</relative>
24+
<isnot>0</isnot>
25+
<arguments>
26+
<argument>
27+
<kind>1</kind>
28+
<string>sItemMissile = undefined;
29+
sItemSuperMissile = undefined;
30+
sItemEnergyTank = undefined;
31+
sItemPowerBomb = undefined;
32+
active = undefined;
33+
oItemBomb = undefined;
34+
oItemSpiderBall = undefined;
35+
oItemHijump = undefined;
36+
oItemVaria = undefined;
37+
oItemSpaceJump = undefined;
38+
oItemSpeedBooster = undefined;
39+
oItemScrewAttack = undefined;
40+
oItemGravity = undefined;
41+
oItemCBeam = undefined;
42+
oItemIBeam = undefined;
43+
oItemWBeam = undefined;
44+
oItemSBeam = undefined;
45+
oItemPBeam = undefined;
46+
</string>
47+
</argument>
48+
</arguments>
49+
</action>
50+
</event>
51+
</events>
1152
<PhysicsObject>0</PhysicsObject>
1253
<PhysicsObjectSensor>0</PhysicsObjectSensor>
1354
<PhysicsObjectShape>0</PhysicsObjectShape>

objects/oCycleRando.object.gmx

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,81 @@
77
<persistent>0</persistent>
88
<parentName>&lt;undefined&gt;</parentName>
99
<maskName>&lt;undefined&gt;</maskName>
10-
<events/>
10+
<events>
11+
<event eventtype="6" enumb="4">
12+
<action>
13+
<libid>1</libid>
14+
<id>603</id>
15+
<kind>7</kind>
16+
<userelative>0</userelative>
17+
<isquestion>0</isquestion>
18+
<useapplyto>-1</useapplyto>
19+
<exetype>2</exetype>
20+
<functionname></functionname>
21+
<codestring></codestring>
22+
<whoName>self</whoName>
23+
<relative>0</relative>
24+
<isnot>0</isnot>
25+
<arguments>
26+
<argument>
27+
<kind>1</kind>
28+
<string>if(instance_exists(oServer)){
29+
global.rando++;
30+
if(global.rando &gt; 3) global.rando = 0;
31+
}
32+
33+
</string>
34+
</argument>
35+
</arguments>
36+
</action>
37+
</event>
38+
<event eventtype="8" enumb="0">
39+
<action>
40+
<libid>1</libid>
41+
<id>603</id>
42+
<kind>7</kind>
43+
<userelative>0</userelative>
44+
<isquestion>0</isquestion>
45+
<useapplyto>-1</useapplyto>
46+
<exetype>2</exetype>
47+
<functionname></functionname>
48+
<codestring></codestring>
49+
<whoName>self</whoName>
50+
<relative>0</relative>
51+
<isnot>0</isnot>
52+
<arguments>
53+
<argument>
54+
<kind>1</kind>
55+
<string>draw_self();
56+
57+
if(instance_exists(oServer)){
58+
var str;
59+
60+
switch(global.rando){
61+
case 0:
62+
str = "Classic";
63+
break;
64+
case 1:
65+
str = "AM2Random";
66+
break;
67+
case 2:
68+
str = "Split Power-ups";
69+
break;
70+
case 3:
71+
str = "Split Items";
72+
break;
73+
}
74+
75+
draw_set_halign(fa_center);
76+
draw_text(x + sprite_width/2, y - 36, str);
77+
draw_set_halign(fa_left);
78+
}
79+
</string>
80+
</argument>
81+
</arguments>
82+
</action>
83+
</event>
84+
</events>
1185
<PhysicsObject>0</PhysicsObject>
1286
<PhysicsObjectSensor>0</PhysicsObjectSensor>
1387
<PhysicsObjectShape>0</PhysicsObjectShape>

objects/oServer.object.gmx

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,25 @@ syncedELM = 0;
129129
<arguments>
130130
<argument>
131131
<kind>1</kind>
132-
<string>network_destroy(server);
132+
<string>buffer_delete(buffer);
133+
var size, type, alignment;
134+
size = 1024;
135+
type = buffer_grow;
136+
alignment = 1;
137+
buffer = buffer_create(size, type, alignment);
138+
buffer_seek(buffer, buffer_seek_start, 0);
139+
buffer_write(buffer, buffer_u8, 107);
140+
var bufferSize = buffer_tell(buffer);
141+
buffer_seek(buffer, buffer_seek_start, 0);
142+
buffer_write(buffer, buffer_s32, bufferSize);
143+
buffer_write(buffer, buffer_u8, 107);
144+
145+
var sockets = ds_list_size(playerList);
146+
for(var i=0; i&lt;sockets; i++){
147+
network_send_packet(playerList[| i], buffer, buffer_tell(buffer));
148+
}
149+
150+
network_destroy(server);
133151
network_destroy(webpanel);
134152
if(buffer_exists(buffer)){
135153
buffer_delete(buffer);
@@ -2955,7 +2973,25 @@ for(var i=0; i&lt;sockets; i++){
29552973
<arguments>
29562974
<argument>
29572975
<kind>1</kind>
2958-
<string>network_destroy(server);
2976+
<string>buffer_delete(buffer);
2977+
var size, type, alignment;
2978+
size = 1024;
2979+
type = buffer_grow;
2980+
alignment = 1;
2981+
buffer = buffer_create(size, type, alignment);
2982+
buffer_seek(buffer, buffer_seek_start, 0);
2983+
buffer_write(buffer, buffer_u8, 107);
2984+
var bufferSize = buffer_tell(buffer);
2985+
buffer_seek(buffer, buffer_seek_start, 0);
2986+
buffer_write(buffer, buffer_s32, bufferSize);
2987+
buffer_write(buffer, buffer_u8, 107);
2988+
2989+
var sockets = ds_list_size(playerList);
2990+
for(var i=0; i&lt;sockets; i++){
2991+
network_send_packet(playerList[| i], buffer, buffer_tell(buffer));
2992+
}
2993+
2994+
network_destroy(server);
29592995
network_destroy(webpanel);
29602996
if(buffer_exists(buffer)){
29612997
buffer_delete(buffer);

rooms/room0.room.gmx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ for(var i = 0; i &lt; p_num; i += 1){
8383
<instance objName="oELM" x="1120" y="864" name="inst_66269891" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
8484
<instance objName="oBlacklistReset" x="712" y="896" name="inst_FACA1F74" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
8585
<instance objName="oGenerateSeed" x="520" y="896" name="inst_044E107B" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
86-
<instance objName="oCycleRando" x="904" y="896" name="inst_01148158" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
87-
<instance objName="oCustomSeed" x="328" y="896" name="inst_3C6FBD9B" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
86+
<instance objName="oCustomSeed" x="328" y="896" name="inst_4BD1F5F9" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
87+
<instance objName="oCycleRando" x="904" y="896" name="inst_D0C33B1D" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
8888
</instances>
8989
<tiles/>
9090
<PhysicsWorld>0</PhysicsWorld>

scripts/add_randomod_buffer.gml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/// add_randomod_buffer
2-
2+
/*
33
var size, type, alignment;
44
size = 1024;
55
type = buffer_grow;
@@ -214,3 +214,4 @@ buffer_write(buffer, buffer_s16, oControl.mod_301);
214214
buffer_write(buffer, buffer_s16, oControl.mod_302);
215215
216216
show_debug_message("added");
217+
*/

scripts/load_stats2.gml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/// load_stats()
2+
/*
23
var header;
34
filename = "extras.sav";
45
if (os_is_native) {

scripts/mus_change_itemroom.gml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*
12
if (file_exists("musItemAmb2.ogg")) {
23
audio_sound_gain(oMusicV2.currentbgm, 0, 250);
34
oMusicV2.alarm[8] = 15;

scripts/save_stats2.gml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/// save_stats()
2+
/*
23
var filename, fid;
34
save_str[0] = data_sav_extras();
45
filename = "extras.sav";

scripts/scr_SubScrTop_swap.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
/*
22
if (global.stanks > 0 && global.ptanks > 0) return bg_SubScrTop;
33
else if (global.stanks > 0) return bg_SubScrTop_SM;
44
else if (global.ptanks > 0) return bg_SubScrTop_PB;

0 commit comments

Comments
 (0)