summaryrefslogtreecommitdiff
path: root/src/server/sv_client.c
AgeCommit message (Collapse)Author
2017-03-09implement part 2 of the multi-protocol functionality: pk3 control/dev/humancontroller
this contains a simple method to control the serving of alternate pk3 files to clients using the alternate-2 protocol (69); there's also a fixup for the VoIP part the new fs_pk3PrefixPairs cvar has the format "P1&A1|P2&A2|...", where, for each i, Pi and Ai are corresponding primary and alternate pk3 filename prefixes, one of which one may be empty (eg. "P1&|&A2|...") to denote no correspondence
2017-03-09implement part 1 of the multi-protocol functionality: protocols/dev/humancontroller
this contains support for connecting via, and serving simultaneously via, any of the three protocols: latest, GPP and 1.1 alternate-1 means protocol 70 (GPP), alternate-2 means protocol 69 (1.1) relevant cvars: - net_alternateProtocols - net_alt{1|2}port[6] - sv_alt{1|2}master{1|...|5} - sv_clAltProto{0|..|63}
2017-03-09remove the crappy "argument sanitization" workaround/dev/humancontroller
2016-04-07Use Opus for VoIPZack Middleton
Server/client VoIP protocol is handled by adding new cvars cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip are used to auto set/clear them. All users need to touch are cl/sv_voip as 0 or 1 just like before. Old Speex VoIP packets in demos are skipped. New VoIP packets are skipped in demos if sv_voipProtocol doesn't match cl_voipProtocol. Notable difference between usage of speex and opus codecs, when using Speex client would be sent 80ms at a time. Using Opus, 60ms is sent at a time. This was changed because the Opus codec supports encoding up to 60ms at a time. (Simpler to send only one codec frame in a packet.)
2014-06-17Fix sending pk3 download error messages to clientsZack Middleton
Disabled in e52a492f615e1245d6d22a84d2cc100c6d2f9f88.
2014-06-17Rate limit getchallengeTim Angus
2013-02-16Update copyright noticesTim Angus
2013-01-15Remove a bunch of LEGACY_PROTOCOL blocksTim Angus
2013-01-12Fix clients being able to reset their player state and respawn using donedl.Zack Middleton
2013-01-12Fix server ignoring client move commands if voip data is included.Zack Middleton
2013-01-12add a missing '\n', remove some unwanted onesZack Middleton
From /dev/humancontroller.
2013-01-10Require gamename if not supporting legacy protocol.Zack Middleton
2013-01-10- Switch master server protocol to dpmaster for better game separation. ↵Thilo Schulz
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.
2013-01-10Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes ↵Thilo Schulz
unused-but-set gcc warnings
2013-01-10- Apply parts of Ben Millwood's target bitfield patch (#3787) - Fix Ryan's ↵Thilo Schulz
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
2013-01-10Fix compile for USE_VOIP=0Thilo Schulz
2013-01-10Have server send protocol version in challengeResponse so protocol ↵Thilo Schulz
negotiation works. (Where did this one get lost?)
2013-01-10- Revert back to Z_Malloc from Hunk_FreeTempMemory introduced in r2077 as ↵Thilo Schulz
Hunk_FreeTempMemory must be freed in LIFO order (#5079) - Introduce SV_ClientFree() to prevent memory leaks r2077 was supposed to fix
2013-01-10- Forgot to mention: last rev (2077) bumped default protocol version to 70 - ↵Thilo Schulz
Fix queued packet rate control
2013-01-10- Improve snapshot rate and data rate control - Make server send packet ↵Thilo Schulz
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
2013-01-10- Implement dual protocol support (#4962) - Fix several UDP spoofing ↵Thilo Schulz
security issues
2013-01-10- Greatly improve UDP downloading speed for clients - Add download rate ↵Thilo Schulz
control cvar sv_dlRate - Don't send snapshots to downloading clients
2013-01-10- Add better protection against DoSing connecting users from connecting - ↵Thilo Schulz
Have Com_sprintf return string length - add STR_LEN macro for static strings
2013-01-09- Remove Q_strrchr(), replace with standard, portable strrchr() - Add ↵Thilo Schulz
strrchr() to bg_lib.c, patch by DevHC
2013-01-09Remove newlines from Com_Error message format strings, patch by DevHCThilo Schulz
2013-01-09Refactoring patch by DevHCThilo Schulz
2013-01-09Revert protocol 69 pending further discussion (#4962)Thilo Schulz
2013-01-09- Harden the client and server protocol against UDP spoofing attacks. This ↵Thilo Schulz
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
2013-01-03* Merge ioq3-r1946Tim Angus
2013-01-03* Merge ioq3-r1813Tim Angus
2013-01-03* Remove unnecessary security code introduced from ioq3 mergeM. Kristall
2013-01-03* Update copyright noticesTim Angus
2013-01-03* Merge ioq3-r1666Tim Angus
2013-01-03* (bug #3836) Add [SV|trap]_SetConfigstringRestrictions which prevents someTim Angus
clients receiving a config string * Move BG_ClientList* to Com_ClientList* * Split CS_STAGES into CS_ALIEN_STAGES and CS_HUMAN_STAGES
2013-01-03* Remove some experimental code accidentally introduced during the mergeChristopher Schwarz
2013-01-03* Merge ioq3-r1637Tim Angus
2013-01-03* Merge ioq3-r1498, by popular demandTim Angus
2013-01-03Fix server-side team voip checkBen Millwood
2013-01-03 * Experimental cg_voipTeamOnly handling on the serverBen Millwood
2013-01-03* Merge ioq3-r1423Tim Angus
+ IPv6 + VoIP + Stereo rendering + Other minor stuff
2013-01-03* (bug 3517) connect.menu isn't properly opened on connectionTim Angus
* Partially revert 772 * Strip off trailing '\n' from server denial messages
2013-01-03Added armour files to version control.Michael Levin
2007-03-21* ioq3-r1052 mergeTim Angus
2006-11-28* Merge ioq3-989Tim Angus
2006-06-17* Merged ioq3-r810Tim Angus
2006-05-16* Merged ioq3-r783Tim Angus
* Added back the syscalls things I didn't mean to remove
2006-05-16* Removal of bot codeTim Angus
* Refactored botlib parsing code into qcommon
2006-05-06* Merged ioq3-r775Tim Angus
- SDL_GammaRamp stuff - Anisotropic texture filtering - q3testesque r_flares - cl_guid - Security fixes
2006-04-24* Removed some \n from server connection messagesTim Angus
* Removed nextmap cvar and associated code, replaced with "advanceMapRotation" command * Rework the text displayed during votes to be more verbose * "destroy" command now only works when cheats are enabled * Voting UI is now a frontend for "clientkick" instead of plain "kick"
2006-04-16* Removed server command queueing -- that was a silly ideaTim Angus