Commit graph

254 commits

Author SHA1 Message Date
Louis-Antoine
ad1b4066d9 Increase the length of the player input buffer 2020-03-02 15:36:28 +01:00
LJ Sonic
e0f3a5b8f5 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
James R
f9b5f71171 Merge branch 'gentlemen' into parties 2020-02-23 23:22:37 -08:00
James R
46ac563eaf Implement big bad parties (splitscreen with network players)
Use the 'invite' command to invite another player to your party.

If that player accepts, via the 'acceptinvite' command, they and any
splitscreen players on their machine will be added after the players
in your party. They may also use the 'rejectinvite' command.

Use the 'leaveparty' command to leave a party. You and any splitscreen players
on your machine will be removed from the party. Players after you will be
shifted to take your place on the splitscreen.
2020-02-23 23:20:20 -08:00
James R
352d576979 Don't turn off lagless at map start; draw LAGLESS in intermission 2020-02-23 23:07:57 -08:00
Louis-Antoine
59a53908e5 Improve join refusal handling 2020-02-22 02:17:21 +01:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Louis-Antoine
a09d46a092 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into lua-io 2020-02-19 22:40:54 +01:00
Louis-Antoine
6d42930c8e Update Lua I/O support to 2.2 2020-01-22 23:08:57 +01:00
Louis-Antoine
a997683d1c 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
c2682ac1b6 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
b3afa91673 Remove adminplayer from SERVERINFO (PACKETVERSION 2) 2020-01-12 20:21:35 -08:00
James R
7daf24fcb8 Merge remote-tracking branch 'origin/master' into next 2020-01-12 14:17:52 -08:00
Louis-Antoine
82876c2eff Replace all instances of XD_KICK with a SendKick function 2020-01-12 19:43:04 +01:00
Louis-Antoine
ad38ba1f39 Fix node numbers being used in place of player numbers 2020-01-12 18:34:08 +01:00
James R
6d042c4d3f Replace gametype with gametypename in SERVERINFO
PACKETVERSION 1
2019-12-30 22:18:55 -08:00
James R
14fed1f644 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
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
MascaraSnake
269b2be9f7 Merge branch 'reset-rollangle' into 'master'
Reset rollangle

See merge request STJr/SRB2Internal!494
2019-11-18 14:11:32 -05:00
Steel Titanium
b1f39e836d Better ping implementation. 2019-11-17 20:22:47 -05:00
Jaime Passos
d0a996349b Yeah, yeah... 2019-11-14 22:14:40 -03:00
MascaraSnake
a039814673 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
4f5d32a73f "NEWPING" might as well be the only ping 2019-10-22 19:39:26 -07:00
Louis-Antoine
209a883821 Set the player's name as soon as they enter the game 2019-10-19 17:09:18 +02:00
Monster Iestyn
7d5ebaf892 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
TehRealSalt
f75392109d Forgotten include 2019-09-23 21:28:45 -04:00
TehRealSalt
45fd60a4ab Master Server scary 2019-09-23 20:26:47 -04:00
TehRealSalt
a46036e489 Last few magic numbers I could find 2019-09-23 08:50:59 -04:00
TehRealSalt
77aeb4663b Merge branch 'master' into versus-record 2019-09-23 07:03:56 -04:00
Monster Iestyn
361fbf8f6a 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
09f7dc1350 * 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
2fc5ee0ec3 Move some cvars out of D_ClientServerInit and save them
Ported over from Kart
2019-08-26 20:38:32 -04:00
James R
d51b516446 Show a negative number to indicate ammo penalty 2019-08-26 16:07:17 -07:00
Monster Iestyn
0b6a463cff 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
f69983c010 Kart discrepancies 2019-08-17 10:33:14 -07:00
Latapostrophe
ec1272dd14 remove join passwords 2019-08-04 11:26:26 +02:00
Sryder
564fa58c77 Merge branch 'master' of git@git.magicalgirl.moe:KartKrew/Kart-Public.git into next 2019-07-17 21:29:35 +01:00
James R
6fdfd3b90c 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
James R
3d81d09fe0 Send the old GT_MATCH only for specific versions
These version numbers were gathered from the Master Server's PHP code.
2019-06-30 10:47:08 -07:00
Sryder
3d6161c7ca Fix compatibility with the MS (Specifically Doomseeker)
Send back 32 players worth of playerinfo regardless of MAXPLAYERS. Fill the extra with unconnected nodes.
2019-06-17 21:04:48 +01:00
TehRealSalt
31534fe96b Merge branch 'master' into versus-record 2019-05-29 22:23:17 -04:00
TehRealSalt
d82fa7eb60 Merge branch 'v1' into no-limits 2019-05-06 21:55:33 -04:00
TehRealSalt
f48a08cd53 Merge v1 2019-05-06 21:23:29 -04:00
Sal
80226b3c39 Merge branch 'skins-fix' into 'v1'
Remove skin shit

See merge request KartKrew/Kart!145
2019-05-06 21:07:24 -04:00
TehRealSalt
e59a7175be Fix skin shit 2019-05-02 00:39:49 -04:00
TehRealSalt
ed093e0856 Display on server browser 2019-04-26 14:07:48 -04:00
TehRealSalt
ea2bcb3b99 Update from master 2019-04-19 20:14:06 -04:00
fickleheart
a83f887cb3 Send the rest of the file list 2019-04-18 00:30:28 -05:00
fickleheart
d7ed880e81 Wait, we don't need pages, just first file index... 2019-04-17 23:51:15 -05:00
fickleheart
8aa719108d Paginate PutFileNeeded 2019-04-17 23:29:27 -05:00