James R
8486a9386d
serverinfo: enumerate refusereason
2021-05-10 18:10:16 -07:00
James R
22bfc2db78
Refactor HandleConnect refusals
...
Also removed some version fields from serverconfig_pak and
clientconfig_pak. Client version will be checked with
SRB2APPLICATION and MODVERSION.
Not updating PACKETVERSION because those packets shouldn't
have been packetversion'd in the first place.
2021-05-10 17:50:01 -07:00
Louis-Antoine
50d2c95470
Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into resend-gamestate
2020-10-24 16:21:44 +02:00
Lachlan Wright
92b61aacd8
Merge branch 'name-change-spam' into 'next'
...
Don't let players change their name more than five times per minute
See merge request STJr/SRB2!1155
2020-09-25 09:36:39 -04:00
Lachlan Wright
86252cbea7
Merge branch 'more-nodes' into 'next'
...
Increase MAXNETNODES, show more servers in the server browser
See merge request STJr/SRB2!1106
2020-09-25 08:24:16 -04:00
James R
b655fa496e
Don't let players change their name more than five times per minute
...
(ported 17f75903b029bbf01217153dc98009d305137c8f and 11ddcfa9a1f2311ec67377b76ed1160ef14b7f60)
2020-09-22 12:04:28 -07:00
Louis-Antoine
9dd5c11322
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into resend-gamestate
...
# Conflicts:
# src/d_clisrv.c
# src/d_clisrv.h
# src/d_net.c
# src/p_saveg.c
# src/p_saveg.h
2020-08-13 13:53:10 +02:00
James R
cd30f0e933
Match MAXSERVERLIST to MAXNETNODES, increase MAXNETNODES
...
Each server in the server list requires a node. It's also MAXNETNODES-1 because
the first node is yourself.
(cherry picked from commit 1484f0484f6c22382b2cae955a93c01f83d54655)
2020-08-08 15:13:21 -07:00
James R
54e446199d
Merge remote-tracking branch 'origin/next' into http-mserv
2020-08-08 15:05:03 -07:00
Steel Titanium
e9a03401cb
Port netticbuffer from Kart
2020-07-19 15:24:27 -04:00
James R
479bbeacbe
Merge remote-tracking branch 'origin/next' into http-mserv
2020-07-11 17:41:46 -07:00
Louis-Antoine
65054bd0aa
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into increase-input-buffer-more
2020-06-21 01:20:39 +02:00
LJ Sonic
7ffee074d8
Merge branch 'next' into 'better-download'
...
# Conflicts:
# src/d_clisrv.c
2020-06-10 07:57:49 -04:00
LJ Sonic
715cb857f5
Merge branch 'next' into 'better-download'
...
# Conflicts:
# src/sdl/i_system.c
# src/win32/win_sys.c
2020-06-01 08:16:53 -04:00
LJ Sonic
e2b860dc28
Merge branch 'next' into 'fix-spawn-desynch'
...
# Conflicts:
# src/p_map.c
2020-06-01 08:15:02 -04:00
SteelT
1c42102ddb
Merge branch 'fix-input-buffer' into 'next'
...
Allow input buffer to hold more than 64 tics
See merge request STJr/SRB2!950
2020-05-28 11:27:39 -04:00
Louis-Antoine
67eef5a37f
Fix potential desynch when a player spawns
2020-05-28 11:03:35 +02:00
SwitchKaze
b37c73b008
Make colors UINT16, increase color freeslots to 1024
2020-05-23 19:35:36 -05:00
Louis-Antoine
bf00955786
Wait for acks before resending file fragments
2020-05-20 16:21:18 +02:00
Louis-Antoine
37d2796b91
Increase the length of the player input buffer even more
2020-05-18 12:35:55 +02:00
Louis-Antoine
56cc5190e5
Allow input buffer to hold more than 64 tics
2020-05-18 11:34:09 +02:00
Louis-Antoine
e49d3d0bb9
Use per-node reference tics in ExpandTics
2020-05-17 20:23:07 +02:00
Louis-Antoine
fc07db26c0
Store starttic as a raw value in PT_SERVERTICS packets
...
This avoids some desynch issues and is simpler to handle.
Those packets are always big anyway, so the difference is irrelevant.
2020-05-17 20:09:11 +02:00
Louis-Antoine
3c7c758d17
Rewrite file transfer code
...
This code uses a custom packet acknowledgement system,
which is more suited for file transfer and does not suffer from
the small sender window used by the default acknowledgement system
2020-05-16 22:09:00 +02:00
James R
f9ec2a634c
Fix switching the master server
2020-05-13 17:26:34 -07:00
James R
7ebde22b77
Make mod update, room list and server list multithreaded
...
This took fucking ages and it still fails sometimes in edge cases, but I
don't give a FUCK right now.
2020-05-13 17:24:27 -07:00
Louis-Antoine
9ec4ba3824
Add a minimum delay between connections
2020-04-24 14:05:15 +02:00
James R
536fb1ef2a
Merge remote-tracking branch 'origin/master' into next
2020-04-18 17:20:33 -07:00
James R
4214397679
Make the PACKETVERSION rule easier
2020-04-12 17:05:18 -07:00
Louis-Antoine
e3cbdf8fab
Use HAVE_BLUA as fuel for my fireplace
2020-03-19 18:36:14 +01:00
LJ Sonic
c43ca31dc2
Merge branch 'increase-input-buffer' into 'next'
...
Increase the length of the player input buffer
See merge request STJr/SRB2!835
2020-03-18 09:49:14 -04:00
LJ Sonic
0a54c40ff4
Merge branch 'fix-playernode-crash' into 'next'
...
Fix buffer overrun with players with no associated node
See merge request STJr/SRB2!810
2020-03-15 15:36:45 -04:00
Louis-Antoine
04a1f479be
Increase the length of the player input buffer
2020-03-02 15:36:28 +01:00
LJ Sonic
60cd6fe986
Merge branch 'next' into 'resend-gamestate'
...
# Conflicts:
# src/d_clisrv.c
2020-03-01 12:35:53 -05:00
LJ Sonic
2cace6e147
Merge branch 'lua-io' into 'next'
...
Support for Lua's I/O library
See merge request STJr/SRB2!727
2020-03-01 11:12:45 -05:00
Louis-Antoine
846560910d
Obliterate resynch
...
Okay, more precisely this substitutes the old resynch with
the newly added gamestate resend code.
2020-03-01 03:22:47 +01:00
Louis-Antoine
29d8389461
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into resend-gamestate
2020-02-29 13:43:47 +01:00
Louis-Antoine
4f7591a044
Rename packet
2020-02-29 13:40:15 +01:00
Louis-Antoine
af9164f336
Improve join refusal handling
2020-02-22 02:17:21 +01:00
James R
7060083db5
Update copyright year to 2020
2020-02-19 14:08:45 -08:00
Louis-Antoine
12959ff4a9
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into lua-io
2020-02-19 22:40:54 +01:00
Louis-Antoine
d02c4c0cc7
Add "resendgamestate" command
2020-01-31 15:57:04 +01:00
Louis-Antoine
014b93406e
Store most data in gamestate instead of server config packet
2020-01-31 15:29:22 +01:00
Louis-Antoine
e8760fe5dd
Update Lua I/O support to 2.2
2020-01-22 23:08:57 +01:00
Louis-Antoine
f209721ded
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into keep-body
...
# Conflicts:
# src/g_game.c
# src/p_setup.c
2020-01-22 03:57:22 +01:00
Louis-Antoine
d374bf4f9b
Let clients rejoin the server without losing their status
...
This is accomplished by simply preserving
the player's body after disconnecting.
Bodies will despawn after the number of minutes
specified by the "rejointimeout" console variable (float).
A value of 0 disables the feature completely.
Clients rejoining are identified by their IP address,
and may rejoin even if the server is full or joins are disabled,
for as long as their body remains.
From a technical standpoint, when the user disconnects,
the player they were controlling does not leave,
the underlying player_t just keeps working normally,
except it does not receive any input anymore.
When the user reconnects, they are simply "relinked"
to their player_t.
Those "soulless" players can be identified through
their "quittime" field, which is the number of tics
elapsed since the user disconnected, or zero
if still connected. "quittime" is exposed to Lua.
2020-01-22 03:05:08 +01:00
James R
339ceafdf0
Remove adminplayer from SERVERINFO (PACKETVERSION 2)
2020-01-12 20:21:35 -08:00
James R
2b95ea0135
Merge remote-tracking branch 'origin/master' into next
2020-01-12 14:17:52 -08:00
Louis-Antoine
e9108de365
Replace all instances of XD_KICK with a SendKick function
2020-01-12 19:43:04 +01:00
Louis-Antoine
5b34923352
Fix node numbers being used in place of player numbers
2020-01-12 18:34:08 +01:00