Zack Middleton
8234225459
Change more operator commands to require sv_running to be usable. Patch by Ensiform.
2012-11-01 06:03:15 +00:00
Zack Middleton
b82c02fc03
Don't replay to status OOB requests in Team Arena single player.
2012-08-16 21:38:02 +00:00
Thilo Schulz
a3c7003d9c
prevent using getinfo as an amplifier for DDOS attacks ( #5678 ). Patch by DevHC
2012-07-01 14:18:31 +00:00
Zack Middleton
afa607c3b6
Added kicknum, kickall, and kickbots commands, patch by Ensiform.
2012-06-19 15:52:08 +00:00
Zack Middleton
2a4f775d6c
Fixed comment in server.h (ent->v.absmax to ent->r.absmax).
2012-06-18 22:25:35 +00:00
Zack Middleton
1d70ffc9b2
fix the usage description of the clientkick server command (also rename SV_KickNum_f() to SV_ClientKick_f())
...
found by Ensiform
2012-06-18 16:33:13 +00:00
Zack Middleton
997615168a
fix some typos
...
From /dev/humancontroller.
2012-06-18 16:25:13 +00:00
Zack Middleton
a4c61d874d
add a missing '\n', remove some unwanted ones
...
From /dev/humancontroller.
2012-06-18 16:16:57 +00:00
Zack Middleton
ce3ec3ceef
#5453 - Tell command for server.
2012-04-05 22:43:32 +00:00
Thilo Schulz
3241ca6e7b
Add the new ioquake3 master server as standard for sv_master2
2012-01-24 23:42:16 +00:00
Thilo Schulz
f9cde509b2
[18:48:20] <Ensiform> Thilo: http://pastebin.com/2UUmSCQK fixes point contents on the server side related to the cg fix with moving water. Dunno why s.origin and s.angles was ever used, the rest of sv_world.c always uses r.currentOrigin and r.currentAngles
...
[18:58:10] <Thilo> mhm
[18:58:15] <Thilo> Ensiform: it doesnt break anything?
[18:59:20] <Ensiform> nah
2011-10-14 17:03:59 +00:00
Thilo Schulz
7eba074ce4
Allow VM_Restart to load unpure qagame.qvm so that local server won't crash after map_restart if server operator has qagame.qvm residing outside pak file ( #5196 )
...
Thanks to "rg3" for providing a shell account
2011-09-27 22:16:07 +00:00
Zack Middleton
d9b72dedc1
Require gamename if not supporting legacy protocol.
2011-09-07 19:38:19 +00:00
Thilo Schulz
ba385fa43c
- Switch master server protocol to dpmaster for better game separation. Based partly on patch by Zack Middleton
...
- Get rid of ugly cvars sv_heartbeat and cl_gamename and replace with single com_gamename
- Remove sv_flatline. Flatlines are ignored by dpmaster and are considered to be insecure because flatlines can be udp-spoofed.
2011-07-29 13:46:50 +00:00
Thilo Schulz
23f6fd1633
Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings
2011-07-29 12:27:00 +00:00
Thilo Schulz
2349148cf1
- Apply parts of Ben Millwood's target bitfield patch ( #3787 )
...
- Fix Ryan's FIXME and have voip packet buffer on the server dynamically allocated via Z_Malloc and store pointers in a circular buffer
- Improve voip target parsing on top of Ben Millwood's patch
- Add new "spatial" target where speaker is spatialized in 3d space and can be heard by all clients in hearing range (s_alMaxDistance)
(#4467 )
- Decrease voip sound lengths from 240ms to 80ms per voip packet to mitigate udp packet loss and decrease latency
- Protocol version incremented to 71
2011-07-27 15:47:29 +00:00
Thilo Schulz
9dc32d55e2
Bug 4812 - GCC __attribute__ annotations for printf, non-returning functions etc., patch by linux@youmustbejoking.demon.co.uk and Zack Middleton
2011-07-18 14:56:57 +00:00
Thilo Schulz
69a7ada911
Fix delta compression breaking due to packet queuing
2011-07-18 14:23:54 +00:00
Thilo Schulz
8a831d34ab
Fix legacy protocol with new packet queueing
2011-07-17 23:43:33 +00:00
Thilo Schulz
4c5e9963e3
Fix compile for USE_VOIP=0
2011-07-16 11:14:20 +00:00
Thilo Schulz
e6ba500164
Move rate limiting / queued packet sending logic from Com_Frame() to sv_main.c
2011-07-15 16:51:54 +00:00
Thilo Schulz
58a5d3d383
Have server send protocol version in challengeResponse so protocol negotiation works. (Where did this one get lost?)
2011-07-15 14:49:51 +00:00
Thilo Schulz
f6d6ed4b30
- Revert back to Z_Malloc from Hunk_FreeTempMemory introduced in r2077 as Hunk_FreeTempMemory must be freed in LIFO order ( #5079 )
...
- Introduce SV_ClientFree() to prevent memory leaks r2077 was supposed to fix
2011-07-15 14:44:06 +00:00
Thilo Schulz
d827447da8
- Forgot to mention: last rev (2077) bumped default protocol version to 70
...
- Fix queued packet rate control
2011-07-13 18:37:26 +00:00
Thilo Schulz
ac30d86db0
- Improve snapshot rate and data rate control
...
- Make server send packet fragments and queued packets when server is idle
- Voip protocol detection is tied to com_protocol making past-end-of-message reading unncessary
- Use Hunk_AllocateTempMemory() for buffering VOIP packets and fix buffering scheme that ryan hates so much
- Disable packet scrambling for new protocol as it is useless now
- Get rid of the old packet scrambling functions predating latest point release
- Use Hunk_AllocateTempMemory() for netchan packet queue to fix memory leak when client gets disconnected with packets in the queue
- Use Hunk_AllocateTempMemory() for download blocks to fix memory leak when client gets disconnected with download blocks in the queue
- Fix SV_RateMsec to account for udp/udp6 packet lengths
2011-07-13 17:11:30 +00:00
Thilo Schulz
e06c117e9e
- Implement dual protocol support ( #4962 )
...
- Fix several UDP spoofing security issues
2011-07-12 11:59:48 +00:00
Thilo Schulz
e52a492f61
- Greatly improve UDP downloading speed for clients
...
- Add download rate control cvar sv_dlRate
- Don't send snapshots to downloading clients
2011-07-12 11:01:20 +00:00
Thilo Schulz
74e538ffcf
- Add better protection against DoSing connecting users from connecting
...
- Have Com_sprintf return string length
- add STR_LEN macro for static strings
2011-07-07 16:07:58 +00:00
Thilo Schulz
dee3724a13
- Improve game_restart:
...
* differing screen resolutions and network settings are now honoured when changing fs_game
* Fix hunk memory leak on game_restart
* Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
* Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
* Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
2011-06-21 11:18:35 +00:00
Thilo Schulz
03201aff22
- Add MASM assembler files for MSVC x64 projects to support vm_x86 in x64 mode
...
- Clean up ftol()/snapvector() mess
- Make use of SSE instructions for ftol()/snapvector() if available
- move ftol/snapvector pure assembler to inline assembler, this will add x86_64 and improve support for different calling conventions
- Set FPU control word at program startup to get consistent behaviour on all platforms
2011-06-13 09:56:39 +00:00
Thilo Schulz
f5deb4a88b
Fix return values for several syscall functions, patch by Zack Middleton ( #5018 )
2011-06-06 15:08:00 +00:00
Thilo Schulz
e676b41c8f
Fix wrong usage info message for cmd dumpuser, patch by Zack Middleton ( #5024 )
2011-06-06 14:54:18 +00:00
Thilo Schulz
b509d770a7
- Remove Q_strrchr(), replace with standard, portable strrchr()
...
- Add strrchr() to bg_lib.c, patch by DevHC
2011-05-15 14:08:03 +00:00
Thilo Schulz
c95bd0a684
Remove newlines from Com_Error message format strings, patch by DevHC
2011-05-12 14:02:48 +00:00
Thilo Schulz
a9696d3558
Refactoring patch by DevHC
2011-05-11 14:21:27 +00:00
Thilo Schulz
876fd7dcb9
- Add HOMEPATH default name define to q_shared.c, patch by uZu ( #4973 )
...
- Reverted change from (#4972 ) and implemented the other suggestion to be consistent with cl_cgame.c and cl_ui.c
2011-05-04 15:39:35 +00:00
Thilo Schulz
1062c1b87b
Do use the SV_Game{Error,Print} functions ( #4972 )
2011-05-04 14:51:56 +00:00
Thilo Schulz
50721a6580
Remove sv_strictAuth cvar for STANDALONE games
2011-05-02 15:58:56 +00:00
Thilo Schulz
d34c6b7e0b
Revert protocol 69 pending further discussion ( #4962 )
2011-04-27 20:17:45 +00:00
Thilo Schulz
a5580d8974
- Harden the client and server protocol against UDP spoofing attacks. This will defend ioquake3 against http://aluigi.altervista.org/papers/q3noclient.txt ( #3041 )
...
- Retains full compatibility to the old but unsecure protocol between clients and servers
- Harden the connection process against DoS attacks, possibly connected to UDP spoofing
2011-04-27 16:03:35 +00:00
Thilo Schulz
8c3f320504
( #3767 ) Some protection from malicious qvms - patches and ideas by Amanieu d'Antras and Ben Millwood
2011-03-08 01:39:34 +00:00
Thilo Schulz
0a6f873999
Add g_humansplayers (found by server) and g_needpass (cvar) to serverinfo ( #4702 )
2011-03-07 23:12:16 +00:00
Thilo Schulz
fef4d12d68
Refactoring patch by DevHC
2011-03-05 19:20:37 +00:00
Thilo Schulz
21668c0616
Fix systeminfo command, fix by DevHC
2011-03-05 19:11:56 +00:00
Thilo Schulz
0387b8002e
Add cvar "protocol" so user can change protocol version on command line, for standalone games. Most of the patch by Simon McVittie with a few minor modifications by myself
2011-03-05 19:10:23 +00:00
Tim Angus
ab9b08e584
* Fix Sys_Milliseconds wrapping causing the flood protection code to
...
malfunction and block all traffic (reported by bubu^)
2011-02-18 23:46:02 +00:00
Thilo Schulz
8bb9a261bd
Auto complete demos on not in pk3s while in pure servers. Patch by Zack Middleton ( #4794 )
2011-02-11 14:30:55 +00:00
Thilo Schulz
91d1a6aab4
OMGWHATISTHISSHITIDONTEVENKNOW
2011-02-10 23:16:14 +00:00
Thilo Schulz
614f315ce8
Fix console tab autocomplete for exec and condump on pure servers, patch by Zack Middleton
2011-02-10 19:58:20 +00:00
Thilo Schulz
ba19fe1152
Still not compiling when STANDALONE is set
2011-02-08 20:24:41 +00:00
Thilo Schulz
7efcc91265
fix compiling error when in standalone mode
2011-02-08 20:21:37 +00:00
Thilo Schulz
ecbe1ab9fd
Thanks Simon McVittie for fixing the bug regression in https://bugzilla.icculus.org/show_bug.cgi?id=4629
2011-02-04 15:11:57 +00:00
Thilo Schulz
67a8b273c2
- Add cvars cl_gamename, sv_heartbeat, sv_flatline so standalone games can customise their messages to the master server
2011-02-04 13:25:51 +00:00
Thilo Schulz
0eb5d1720c
Fix banfile writing to wrong game directory
2011-02-04 12:34:11 +00:00
Thilo Schulz
3148416c04
- Change runtime standalone detection:
...
* com_standalone now read-only
* add new cvars com_basegame, com_homepath
* standalone now automatically detected when com_basegame is set to something different than baseq3 and no id pak pk3s are found
* This fixes https://bugzilla.icculus.org/show_bug.cgi?id=4699
- Replace a few hardcoded string literals with macros
- Add checks for Team Arena PK3s to FS_CheckPak0()
2011-02-04 12:04:56 +00:00
Thilo Schulz
e5dbce839a
- Use select() to sleep when idle as opposed to busy waiting.
...
- Introduce com_busyWait cvar to go back to old behaviour
2011-02-02 16:46:23 +00:00
Thilo Schulz
f725b23c4f
Fix floating point imprecision causing glitches in snapshot sending
2011-01-29 22:01:55 +00:00
Thilo Schulz
de0e3cba34
Fix hanging client when map_restart executed on the server while client is still loading the map
2011-01-27 16:40:15 +00:00
Thilo Schulz
b179fb087c
Make sure status reply always has at least one space between address and qport, important for ipv6 addresses.
2011-01-25 15:16:50 +00:00
Thilo Schulz
5c0ae99642
Make number of supported master servers tunable via define
2011-01-25 02:04:25 +00:00
Thilo Schulz
bf07014b1d
Make this change so standalone developers will know to change the HEARTBEAT game string for their versions, too.
2011-01-24 18:09:20 +00:00
Thilo Schulz
8243a77c0e
Revert changes because dpmaster doesn't work that way.
2011-01-24 01:24:07 +00:00
Thilo Schulz
7861cde4a2
Make it use the correct game name in getserversExt queries
2011-01-24 00:21:33 +00:00
Zachary Slater
df758ba6c2
Bugzilla #4629
...
commands sent to client when disconnecte
2010-10-25 06:43:55 +00:00
Thilo Schulz
5fe2a61910
Second batch of bug fixes reported and patched by Zack "ZTurtleMan" Middleton:
...
#4740
#4741
#4742
#4743
#4744
2010-08-29 18:08:29 +00:00
Ludwig Nussel
1434fd1845
fix typo
2010-06-21 07:11:52 +00:00
Tim Angus
fc05ba7f46
* Fix some compiler warnings
2010-01-03 22:37:14 +00:00
Tim Angus
4056c90358
* Rate limit getstatus and rcon connectionless requests
2010-01-03 22:12:20 +00:00
Tim Angus
37598962f5
* Actually that can be more precise...
2009-10-16 19:21:31 +00:00
Tim Angus
b539a87e72
* (bug #4232 ) Avoid "cl.snap.serverTime < cl.oldFrameServerTime" for slow
...
loading clients combined with short g_warmups
2009-10-15 23:39:19 +00:00
Thilo Schulz
186f30a74f
Fix netcode inconsistency, thanks to /dev/humancontroller for the patch, see http://bugzilla.icculus.org/show_bug.cgi?id=4060
2009-10-12 17:17:15 +00:00
Thilo Schulz
9b7543a905
Fix circumventing sv_maxping restriction, thanks to Amanieu for reporting. http://bugzilla.icculus.org/show_bug.cgi?id=3423
2009-10-08 20:03:25 +00:00
Tim Angus
5c62c95c64
* Fix incorrect comment
2009-10-05 22:07:01 +00:00
Thilo Schulz
5fec4498f1
Add received rcon command string to server log, see https://bugzilla.icculus.org/show_bug.cgi?id=3748
2009-09-17 16:54:01 +00:00
Ryan C. Gordon
d56a093317
Removed more unused variables.
...
Partially fixes Bugzilla #3782 .
2009-09-15 03:19:43 +00:00
Ryan C. Gordon
815026072a
Removed unused variables.
...
CM_LeadArea() has no side effects, so those could go, too.
Partially fixes Bugzilla #3782 .
2009-09-15 02:58:38 +00:00
Ryan C. Gordon
8d0f212521
When dropping bots, don't move to CS_ZOMBIE. Go straight to CS_FREE.
...
They aren't a real network connection, so you don't want to waste time before
opening the slot for humans.
Fixes Bugzilla #4243 .
2009-09-15 01:11:09 +00:00
Ryan C. Gordon
df13db2b64
Fixed triggering Com_Error() when kicking a large number of bots at once.
...
Fixes Bugzilla #3418 .
2009-09-14 23:12:54 +00:00
Thilo Schulz
948f7a6015
- fix typo in previous commit to net_ip.c
...
- Make servers send heartbeats to master servers in ipv4 as well as ipv6 if master server has both protocols
2009-06-23 00:59:47 +00:00
Thilo Schulz
18cc7c1ed3
Make servers echo challenge codes from client getchallenge commands
2009-06-01 05:28:47 +00:00
Thilo Schulz
4e8a181073
I'll retain the new way seeding the random number generator.. these calls are therefore redundant
2009-05-31 20:30:37 +00:00
Thilo Schulz
e4d0c14f70
Revert changes of rand() to random() as random() was redefined in quake3.
2009-05-31 20:24:10 +00:00
Thilo Schulz
b40f1507ea
- Introduce seeding of the random number generator at startup
...
- Replaced all engine-side occurances of rand() with random()
2009-05-31 19:48:28 +00:00
Thilo Schulz
0693f0c1b3
This could never have worked in the first place. Duh.
2009-05-28 07:52:09 +00:00
Thilo Schulz
50ca55702f
- Introduce new NET_CompareBaseAdrMask for easy comparison of ip address ranges
...
- Overhaul of the new banning functions:
* basic check for redundant bans/exceptions
* introduction of sv_banFile to make it possible to configure the file where to read bans and exceptions from
* bans can now be deleted by giving address ranges, too.
2009-05-24 16:58:08 +00:00
Thilo Schulz
f2d63c1633
More commentary to source code
2009-05-21 20:52:35 +00:00
Ludwig Nussel
10aca2387f
whitespace fixes
2009-05-08 09:50:52 +00:00
Ludwig Nussel
eff87e9524
SV_ReplacePendingServerCommands is unused
2009-05-08 09:48:49 +00:00
Ludwig Nussel
bbd9f02d08
mark functions static ( #4010 )
2009-05-08 09:48:45 +00:00
Ludwig Nussel
f0e24f9a46
msg->oob is actually qboolean ( #4010 )
2009-05-08 09:48:40 +00:00
Ludwig Nussel
ae612721a3
fix STANDALONE challengeResponse ( #4000 )
2009-03-02 17:29:51 +00:00
Ludwig Nussel
f5aae78481
security fix: prevent command injection via callvote
2009-01-17 23:09:58 +00:00
Ludwig Nussel
8536a42dd5
gamename is already a cvar with CVAR_SERVERINFO
...
do not set gamename to different values in getstatus and getinfo responses
2009-01-11 18:42:50 +00:00
Ludwig Nussel
c754d6fdfb
fix strict aliasing issues
...
Patch by Przemysław Iskra (#3805 )
2008-11-03 17:03:54 +00:00
Tim Angus
130c0c6575
* Move command argument completion from being hard coded to being associated
...
with the individual commands to be completed
2008-09-16 21:05:22 +00:00
Tim Angus
47ee177430
* Supply specific identifier to the master server (Mathieu Olivier)
2008-09-15 20:24:04 +00:00
Thilo Schulz
9dd887b2ea
- Add scope id to ipv6 addresses.
...
- Clean up a few other ipv6 issues like removing the seemingly unnecessary MacOSX workaround.
- Bring ipv6 master server up to speed for dpmaster
Thanks go out to Mathieu Olivier for this work.
2008-08-31 19:54:29 +00:00
Tim Angus
de8131938c
* Fix server info string voip setting
2008-07-08 16:23:06 +00:00
Tim Angus
37d664d4b2
* Rename voip cvar to cl_voip
...
* s/#if USE_VOIP/#ifdef USE_VOIP/
* Add generalised runtime cvar range checking, currently on [sv|cl]_voip,
dedicated and a bunch of r_ variables
2008-07-07 22:31:39 +00:00
Ryan C. Gordon
809c361744
Reverted svn revision #1410 to sv_init.c
...
sv_voip is a protocol version number, not a boolean, so this check is
reasonable and correct.
2008-07-06 20:07:43 +00:00