Commit graph

98 commits

Author SHA1 Message Date
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
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 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 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 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
James R 281f30c4fd Replace gametype with gametypename in SERVERINFO
PACKETVERSION 1
2019-12-30 22:18:55 -08:00
James R 6bd383621e More fine tuned versioning
You get a PACKETVERSION, for when some packets change format.

You get SRB2APPLICATION, for when you have big fucking mod.
2019-12-25 20:52:02 -08:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
MascaraSnake 3e7e749327 Merge branch 'reset-rollangle' into 'master'
Reset rollangle

See merge request STJr/SRB2Internal!494
2019-11-18 14:11:32 -05:00
Steel Titanium 2584241a44
Better ping implementation. 2019-11-17 20:22:47 -05:00
Jaime Passos 88fb22d688 Yeah, yeah... 2019-11-14 22:14:40 -03:00
MascaraSnake 7d69409cf7 Merge branch 'set-name-on-join' into 'master'
Set the player's name as soon as they enter the game

See merge request STJr/SRB2Internal!397
2019-10-25 15:38:21 -04:00
James R 29a5999a44 "NEWPING" might as well be the only ping 2019-10-22 19:39:26 -07:00
Louis-Antoine 88d239ac36 Set the player's name as soon as they enter the game 2019-10-19 17:09:18 +02:00
Monster Iestyn 07c02f075b Fix sprite-related console errors that occur in netgames whenever the game attempts to synch the player's state.
Turns out the code was using P_SetMobjStateNF to "fix" the player's state ...which got things all wrong, lol.
2019-10-17 18:22:06 +01:00
Monster Iestyn c696063260 Merge branch 'mprelated-tweaks' into 'master'
Various improvements and changes to multiplayer menu

See merge request STJr/SRB2Internal!300
2019-09-08 16:45:14 -04:00
toaster d26ff197dc * Store gravflip (resolves #206) and destscale in starposts. (Using the same field, taking advantage of the fact that object scale will always be positive!)
* Update the function signature of P_MixUp to accomodate both it and drawangle instead of doing it outside of the function.
* If the player is spawning from the start of the stage and it's from the ceiling, be in fall frames as requested (resolves #191).
2019-09-07 22:12:47 +01:00
Steel Titanium 1416312200
Move some cvars out of D_ClientServerInit and save them
Ported over from Kart
2019-08-26 20:38:32 -04:00
James R 89c4989987 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
Monster Iestyn f3484f7ded Merge branch 'public_next'
# Conflicts:
#	src/config.h.in
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/doomdef.h
#	src/p_map.c
#	src/p_maputl.c
#	src/sdl12/macosx/Srb2mac.xcodeproj/project.pbxproj
2019-08-20 13:54:48 +01:00
James R 19dd9a3c14 Kart discrepancies 2019-08-17 10:33:14 -07:00
James R 91502f1499 Don't send login final hashes to everyone
Someone thought it was a good fucking idea to make logins NetXCmds. NetXCmds
are sent to everyone however. Thankfully logins are two passes. And the second
pass uses a salt based on the playernum. Therefore, in order to actually make
use of the final hash, you'd have to be the same playernum as who originally
sent it. Still a stupid exploit.

P.S. The netcode is LOL XD by VincyTM -Telos
2019-07-15 16:14:00 -07:00
mazmazz 075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
Digiku 8d56c2f486 Merge branch 'addons-backport' into '2122-version'
Addons Menu backport to vanilla

See merge request STJr/SRB2!384
2018-12-23 18:08:06 -05:00