James R
7b6675178e
Merge branch 'oldguards' into 'next'
...
Kill remaining HAVE_BLUA and SEENAMES
See merge request STJr/SRB2!1319
2020-12-12 17:34:04 -05:00
James R
93e4f43e4b
Hooklib macros names -> uppercase + documentation
2020-12-12 03:16:30 -08:00
James R
9ddeb5f589
Resolve GameQuit hook conflicts
2020-12-12 02:05:21 -08:00
James R
2778cc3ce9
Merge remote-tracking branch 'origin/next' into hooklib-refactor
2020-12-12 02:02:38 -08:00
James R
9ea969b62d
Merge branch 'gamequit-argument' into 'next'
...
Send a `quitting` argument to the GameQuit Lua hook.
See merge request STJr/SRB2!1276
2020-12-10 15:25:52 -05:00
James R
a5d228773d
Merge branch 'reload-bans' into 'next'
...
Fix reloadbans clearing ban.txt and clearbans not actually saving the changes
See merge request STJr/SRB2!1215
2020-12-10 14:28:13 -05:00
James R
e0a307da15
Merge branch 'next' into hooklib-refactor
2020-12-10 03:09:24 -08:00
James R
2ab71571aa
Merge branch 'high-resolution-timer-2' into next
2020-12-10 02:55:02 -08:00
James R
8d382e49fb
Big Large Lua Hooklib Refactor
...
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
and name array.
2020-12-10 00:36:41 -08:00
James R
e7883f3f8e
That moment when you see HAVE_BLUA crawl back from the grave
...
This would mean MapChange hasn't been firing for demos ...since 2.2.5.
2020-12-10 00:36:14 -08:00
GoldenTails
119d2e9e37
Remove the rest of the Playing() checks for GameQuit hook
2020-11-29 16:53:29 -06:00
GoldenTails
59d2646593
Send a quitting
argument to the GameQuit Lua hook
2020-11-29 08:30:50 -06:00
GoldenTails
fae4709f4b
Fix stupid divide-by-zero error
2020-11-08 23:28:20 -06:00
James R
b72789b0c9
Huge perfstats refactor
...
I needed to update it to make it functional with the precise timer. But I also
got sick of looking at the mess of sprintf followed by draw call.
2020-11-07 01:32:59 -08:00
Louis-Antoine
e178966367
Remove useless condition
2020-10-27 20:28:54 +01:00
Louis-Antoine
395d1f1b8f
Do not pause the client while redownloading the gamestate
2020-10-27 20:23:32 +01:00
Louis-Antoine
5c48b92b2c
Fix camera going wild after reloading the gamestate
2020-10-27 20:21:56 +01:00
Louis-Antoine
499bb56436
Only resend the gamestate to one client at a time
2020-10-27 01:22:31 +01:00
Louis-Antoine
7ae53364f2
Add a 15 seconds cooldown between successive gamestate resends
2020-10-27 01:20:05 +01:00
Louis-Antoine
9f5686ef48
Fix underflow in consistancy checking code
2020-10-26 23:15:22 +01:00
James R
9278f04fbf
Delete ban.txt if no bans to save
2020-10-24 15:59:11 -07:00
James R
288ffebea7
Do not save cleared ban list when reloading bans
2020-10-24 15:52:02 -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
Louis-Antoine
5091c19abf
Kick clients that fail to catch up with server gamelogic
2020-10-21 20:25:29 +02:00
James R
d279489753
Merge branch 'perfstats' into 'next'
...
Performance stats
See merge request STJr/SRB2!1186
2020-10-18 15:33:20 -04:00
Hannu Hanhi
4f20a20165
Performance stats
2020-10-10 22:12:34 +03:00
James R
f5e4d076b9
Add CV_NETVAR to server affecting cvars
...
showjoinaddress
maxplayers
joindelay
rejointimeout
resynchattempts
blamecfail
maxsend
noticedownload
downloadspeed
jointimeout
maxping
pingtimeout
servername
2020-10-09 15:23:16 -07:00
James R
aa102dcea0
Add CV_SAVE to netvars
...
dumpconsistency
allowjoin
joinnextround
restrictskinchange
allowteamchange
startinglives
respawndelay
competitionboxes
allowseenames
matchboxes
specialrings
powerstones
countdowntime
touchtag
hidetime
autobalance
teamscramble
scrambleonchange
friendlyfire
overtime
pointlimit
timelimit
basenumlaps
allowexitlevel
inttime
coopstarposts
cooplives
advancemap
playersforexit
exitmove
pausepermission
respawnitemtime
respawnitem
flagtime
tv_recycler
tv_teleporter
tv_superring
tv_supersneaker
tv_invincibility
tv_jumpshield
tv_watershield
tv_ringshield
tv_forceshield
tv_bombshield
tv_1up
tv_eggmanbox
2020-10-09 15:06:09 -07:00
James R
b3d8ed7d43
Revert netvars after leaving a netgame
2020-10-06 23:32:11 -07:00
James R
dbd79a29a4
Replace C90's junk with a modest macro
2020-10-06 23:04:23 -07: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
86b7957b61
Merge branch 'clarity' into 'next'
...
Add-on clarity from Kart
See merge request STJr/SRB2!1153
2020-09-25 09:33:04 -04:00
Lachlan Wright
c42f247ce5
Merge branch 'snake-fixes' into 'next'
...
Fix bonus items sometimes overriding apples in Snake minigame
See merge request STJr/SRB2!1134
2020-09-25 09:23:33 -04:00
Lachlan Wright
982435cf86
Merge branch 'more-stats' into 'next'
...
Add tic and UI times to render stats
See merge request STJr/SRB2!1125
2020-09-25 08:54:01 -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
Zippy_Zolton
62f379ec41
Add-on clarity from Kart
2020-09-20 13:07:28 -05:00
James R
679bfa21ed
Fix stupid NONET
2020-08-29 17:51:59 -07:00
James R
a6e59cbb24
Do not do master server things when NOCURL
...
(cherry picked from commit 7a05a8acf73ac0f012135339447c9a935e3b7939)
2020-08-29 17:45:28 -07:00
Louis-Antoine
cb06d05692
Fix bonus items sometimes overriding apples in Snake minigame
2020-08-24 00:34:44 +02:00
Hannu Hanhi
dd7d1e40b1
Add tic and ui times to render stats
2020-08-23 20:09:55 +03:00
James R
405639bc78
Disable showjoinaddress by default
2020-08-14 21:05:23 -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
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
James R
99e0c48f7b
Fix a lot of stuff related to the version automation
2020-07-10 22:39:46 -07:00
Louis-Antoine
f8aefc2fd3
Revert "Fix computation of very high pings"
...
This reverts commit 82dbe95e22
.
2020-07-11 01:55:40 +02:00
Louis-Antoine
78f8a44c25
Fix timeout
2020-07-07 02:06:26 +02:00
James R
e56fc08757
Merge branch 'delete-connection-screen-and-midgame-joins' into 'next'
...
Delete connection screen and midgame joins
See merge request STJr/SRB2!1021
2020-06-28 18:41:07 -04:00
SteelT
22459df1f1
Merge branch 'increase-input-buffer-more' into 'next'
...
Increase the length of the player input buffer even more
See merge request STJr/SRB2!951
2020-06-27 13:32:19 -04:00
Louis-Antoine
c96e07b61c
Delete CLIENT_CONNECTIONSCREEN and JOININGAME defines
2020-06-27 02:01:16 +02:00
Louis-Antoine
82dbe95e22
Fix computation of very high pings
2020-06-26 15:34:26 +02:00
Zachary McAlpin
08e9efee76
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook
2020-06-11 15:02:31 -05: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
bc2edb2ae4
Merge branch 'snake' into 'next'
...
Add a Snake minigame to the file transfer screen
See merge request STJr/SRB2!903
2020-06-10 07:38:37 -04:00
Zachary McAlpin
291479e3e8
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook
2020-06-09 19:54:47 -05:00
Louis-Antoine
e6ffedbce8
Fix food occasionally spawning inside the snake
2020-06-01 15:21:16 +02: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
Zachary McAlpin
7bdea21435
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook
2020-05-29 15:32:59 -05:00
LJ Sonic
aab6339e66
Merge branch 'possibly-fix-dedi-crash' into 'next'
...
Possible fix for dedicated server crashes (aka the msvcrt.dll!_mbscat crash)
See merge request STJr/SRB2!963
2020-05-28 11:29:00 -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
Louis-Antoine
bb1e3fdf13
Add a few missing calls to GameQuit hook
2020-05-27 14:58:10 +02:00
Monster Iestyn
40566e6926
Got_AddPlayer: check that I_GetNodeAddress(node) is non-NULL before using strcpy to copy it to the playeraddress array
2020-05-25 21:27:48 +01:00
SwitchKaze
b37c73b008
Make colors UINT16, increase color freeslots to 1024
2020-05-23 19:35:36 -05:00
Louis-Antoine
c8948909d3
Fix I_Error when queuing multiple Lua files
2020-05-19 23:50:37 +02:00
Louis-Antoine
f620b52672
Fix sending Lua files in text mode
2020-05-19 21:36:21 +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
66ecfb741a
Show total size when downloading gamestate
2020-05-16 22:49:20 +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
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
James R
1584b7394b
WHY THE FUCK DID I DO THIS
2020-05-13 17:21:18 -07:00
James R
197cffb7f5
Compiler errors: won't stop, can't stop
2020-05-13 17:21:18 -07:00
James R
4fd707984b
Kill the old mserv, long live HMS!
2020-05-13 17:20:59 -07:00
James R
06da1425b3
The big bad HTTP master server
...
Cvars:
http_masterserver is the url to the master server's API.
masterserver_token may be an authentication token.
2020-05-13 17:18:26 -07:00
Louis-Antoine
061fd4761a
Rename some file transfer functions
2020-05-12 19:06:40 +02:00
sphere
0287c6956e
Fix some errors and add some comments. Also, actnum is not an INT32.
2020-05-12 17:20:28 +02:00
Louis-Antoine
dc55ab9ae2
Use W_CachePatchLongName in Snake minigame
2020-05-10 11:02:45 +02:00
Louis-Antoine
614f45b380
Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into snake
2020-05-10 11:00:30 +02:00
Louis-Antoine
2d6c9a94f4
Fix compiler warning
2020-05-05 14:05:19 +02:00
Louis-Antoine
752b48de3a
Update sound and closed captions in connection screen
2020-04-28 00:37:58 +02:00
Louis-Antoine
231a835bf6
Minor adjustements in Snake minigame
2020-04-27 23:15:18 +02:00
Louis-Antoine
dfdace22bb
Add bonuses and maluses to Snake minigame
2020-04-27 23:10:13 +02:00
Louis-Antoine
a3dcc100c0
Add pause and retry to Snake minigame
2020-04-27 22:06:32 +02:00
Louis-Antoine
647d74bad5
Add a background to Snake minigame
2020-04-27 15:31:38 +02:00
Louis-Antoine
58c0383e88
Use sprites for snake and apple
2020-04-27 13:01:14 +02:00
Louis-Antoine
380e246be3
Lower the download progress bar
2020-04-26 21:57:17 +02:00
Louis-Antoine
7c9ce1faee
Prevent edge warping in Snake minigame
2020-04-26 21:17:15 +02:00
Louis-Antoine
10fbaaf781
Fix compiler warnings
2020-04-24 22:19:05 +02:00
Louis-Antoine
d235d401bc
Improve controls handling in connection screen minigame
2020-04-24 19:27:42 +02:00
Louis-Antoine
9ac3fd202f
Add a Snake minigame to the downloading screen
2020-04-24 19:27:29 +02:00
Louis-Antoine
9ec4ba3824
Add a minimum delay between connections
2020-04-24 14:05:15 +02:00
Steel Titanium
9a242818a7
Merge branch 'master' into next
2020-03-31 20:46:54 -04:00
Louis-Antoine
ad12e29fda
Fix allowjoin off affecting single player
2020-03-30 22:11:48 +02:00
Louis-Antoine
8130599a4f
Fix disconnected players being kicked for high ping
2020-03-28 15:23:15 +01:00
Louis-Antoine
e3cbdf8fab
Use HAVE_BLUA as fuel for my fireplace
2020-03-19 18:36:14 +01:00
SteelT
bd058ecc4b
Merge branch 'viewpointswitch-fix' into 'next'
...
Fix incorrect newdisplayplayer in forced ViewpointSwitch
See merge request STJr/SRB2!814
2020-03-18 15:34:18 -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
Monster Iestyn
ddc0762ecc
Merge branch 'master' into next
2020-03-09 19:53:08 +00:00
Louis-Antoine
b85ac65378
Fix missing break
2020-03-08 20:04:29 +01:00
colette
ce29129f3a
Fix resyncs never recovering if node and player mismatch
2020-03-08 13:09:39 -04: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
a927d67259
Fix warning
2020-02-28 18:17:37 +01:00
Jaime Passos
0362f53e9b
Fix incorrect newdisplayplayer in forced ViewpointSwitch
2020-02-23 12:14:52 -03:00
Louis-Antoine
d19fe295e0
Fix buffer overrun with nodeless players
2020-02-22 15:08:17 +01:00
James R
f6df71ba54
Fix NOMD5 compiling
2020-02-21 21:06:04 -08:00
Louis-Antoine
778715f611
Cleanup code a little
2020-02-22 02:21:27 +01:00
Louis-Antoine
af9164f336
Improve join refusal handling
2020-02-22 02:17:21 +01:00
James R
2df4717f18
Fix NO_LUA compiling
2020-02-20 17:20:50 -08: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
20d054a679
Minor code cleanup
2020-02-19 22:37:30 +01:00
Louis-Antoine
7b13f0a2de
Fix dedicated servers not running gamelogic
...
Note to future testers:
Remember to test dedicated servers before merging.
And splitscreen also.
2020-02-15 23:47:11 +01:00
James R
7805828c4a
Merge remote-tracking branch 'origin/master' into next
2020-02-04 14:31:21 -08:00
James R
bf3b7fc5b0
Clean player name before joining!!!
2020-02-01 18:20:35 -08:00
Louis-Antoine
7dd0f2b808
Fix splitscreen player being unable to move
2020-02-01 20:19:39 +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
LJ Sonic
53e2cfbde2
Merge branch 'keep-body' into 'next'
...
Let clients rejoin the server without losing their status
See merge request STJr/SRB2!722
2020-01-24 18:50:03 -05:00
MascaraSnake
7ac1b9298f
Merge branch 'master' into next
2020-01-24 22:37:25 +01:00
Louis-Antoine
8bd897a269
Be silent when "kicking" a disconnected player
...
This lets the host manually remove a body if they want,
without polluting the chat with redundant messages.
2020-01-24 19:56:57 +01:00
Louis-Antoine
e8760fe5dd
Update Lua I/O support to 2.2
2020-01-22 23:08:57 +01:00
Louis-Antoine
cfec8609f9
Fix missing declaration
2020-01-22 04:01:06 +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
Confusion
ad505a6fe7
Fix title screen broken when leaving during resynch
2020-01-19 17:55:22 +03:00
Alam Ed Arias
709489cab8
Merge branch 'master' into next
2020-01-16 12:08:36 -05:00
James R
223edd8ee0
Merge branch 'disable-titlemap-in-netgames' into 'master'
...
Disable title map when entering a netgame
See merge request STJr/SRB2!683
2020-01-13 16:47:17 -05:00
James R
2b95ea0135
Merge remote-tracking branch 'origin/master' into next
2020-01-12 14:17:52 -08:00
LJ Sonic
6eba68bc3b
Merge branch 'fix-node-player-mixups' into 'master'
...
Fix node player mixups
See merge request STJr/SRB2!684
2020-01-12 15:57:20 -05:00
LJ Sonic
34f73ec083
Merge branch 'fix-node-player-mixups' into 'master'
...
Fix node numbers being used in place of player numbers
See merge request STJr/SRB2!681
2020-01-12 15:40:25 -05:00
Louis-Antoine
f6244ec9a4
Disable title map when entering a netgame
2020-01-12 20:08:41 +01: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
fickleheart
f8a3e3b898
Merge remote-tracking branch 'origin/next' into next-newcontrols
2020-01-04 09:57:09 -06:00
fickleheart
f0e6a56b6b
Merge branch 'newcontrols' into next-newcontrols
2020-01-04 09:56:24 -06:00
fickleheart
794d74c4d7
Merge remote-tracking branch 'origin/master' into newcontrols
2020-01-04 09:35:12 -06:00
Alam Ed Arias
a26c5f5428
Merge branch 'master' into next
2020-01-03 14:56:37 -05:00
Louis-Antoine
1845266bc8
Do not save netgame-synced console variables
...
This is a bad thing to do, because if you join a server,
your game will save the host's settings.
2020-01-03 00:40:49 +01:00
fickleheart
b22de48c03
Merge branch 'next' into next-newcontrols
...
# Conflicts:
# src/g_game.c
# src/p_setup.c
2019-12-31 12:58:36 -06:00
James R
281f30c4fd
Replace gametype with gametypename in SERVERINFO
...
PACKETVERSION 1
2019-12-30 22:18:55 -08:00
James R
80bb6fe7a0
Merge branch 'modid' into 'next'
...
Put a mod name in SERVERINFO
See merge request STJr/SRB2!577
2019-12-30 15:41:08 -05:00
fickleheart
a9b80bf1f0
Merge branch 'master' into newcontrols
...
# Conflicts:
# src/d_netcmd.c
# src/g_game.c
# src/g_game.h
# src/m_menu.c
2019-12-30 10:47:09 -06:00