summaryrefslogtreecommitdiff
path: root/src/qcommon/qcommon.h
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
2017-03-09stop accessing the hostname, the current username and the ↵/dev/humancontroller
architecture/platform/OS information use "UnnamedPlayer" as the default player name
2017-03-09remove the (generally unsecure) use of PIDs and PID files/dev/humancontroller
this includes the removal of the "safe mode" question feature
2017-03-09remove the (generally unsecure) setenv command/dev/humancontroller
2017-02-07be more cautious in assigning default fs_ paths/dev/humancontroller
2017-02-07stop referencing the current working directory/dev/humancontroller
remove Sys_GetCwd()
2017-02-07silence a bunch of compiler warnings/dev/humancontroller
2016-04-09Merge branch 'master' into gppTim Angus
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.)
2016-04-07sayto cmd with player name completionPan7
2015-06-08change the serverlist-querying methods to be compatible with the current ↵/dev/humancontroller
deployment of master servers
2015-03-17Add facility to describe cvarsTim Angus
2014-06-17Remove function prototypes for non-existant Sys_* DLL functionsZack Middleton
2014-06-17Remove old comment that FS_Seek doesn't work on zipped filesZack Middleton
2013-05-31fix some OOB enumerator usages/dev/humancontroller
(should be no-op with usual compiler workings)
2013-05-03Don't allow modifying qvms or pk3sZack Middleton
Exception for allowing pk3s to be downloaded.
2013-03-27Fix some warnings caused by lack of noreturnTim Angus
2013-03-19Remove Sys_SnapVectorZack Middleton
2013-02-16Update copyright noticesTim Angus
2013-02-165717 - Gamecode can open file "" for readingZack Middleton
2013-02-16Unify/cleanup max snapshot entities on client and serverZack Middleton
2013-02-16Remove MSG_WriteDeltaUsercmd and MSG_ReadDeltaUsercmdZack Middleton
2013-01-12Fix a bunch of warningsTim Angus
2013-01-12REFACTOR [reletive -> relative]Zack Middleton
From /dev/humancontroller.
2013-01-12CVE-2012-3345Zachary Slater
2013-01-12#5462 - do not require clients to have a matching qagame.qvm (adapted from ↵Zack Middleton
OpenArena)
2013-01-12Support up to 16 joystick axes, select which to use with j_*_axis cvars.Zack Middleton
2013-01-12Removed unused functoin Hunk_Trash.Zack Middleton
2013-01-12Enable zone and hunk debug in debug build.Zack Middleton
2013-01-10Allow VM_Restart to load unpure qagame.qvm so that local server won't crash ↵Thilo Schulz
after map_restart if server operator has qagame.qvm residing outside pak file (#5196) Thanks to "rg3" for providing a shell account
2013-01-10* Fix some grammar in DLL loading * s/Sys_LoadQVMDll/Sys_LoadGameDll/Tim Angus
2013-01-10- Fix already defined command warnings for minimize - Fix recursive ↵Thilo Schulz
CL_Shutdown warning and "command already defined" warnings when quitting while playing on a server that changed the gamedir.
2013-01-10Change DLL search path order for external libraries that are linked at ↵Thilo Schulz
runtime, like libcurl or libopenal to: * system library paths * executable path * fs_basepath
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-10Bug 4812 - GCC __attribute__ annotations for printf, non-returning functions ↵Thilo Schulz
etc., patch by linux@youmustbejoking.demon.co.uk and Zack Middleton
2013-01-10Move rate limiting / queued packet sending logic from Com_Frame() to sv_main.cThilo Schulz
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- Automatically reset fs_game to "" if it was supplied by the user and is ↵Thilo Schulz
equal to com_basegame - Fix problem where users could change values of CVAR_INIT variables after the call to Cvar_Get() via Com_StartupVariable() - Move sound shutdown after client shutdown so VMs don't hold invalid sound handles in memory
2013-01-10- Improve game_restart: * differing screen resolutions and network settings ↵Thilo Schulz
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()
2013-01-10- Fix memory leak in DMA sound after S_Shutdown() - Make codec load use temp ↵Thilo Schulz
hunk memory instead of zone mem - Fix sound issues with direct sound and game_restart (#4526)
2013-01-10- Small change to search path order - local files not in .pk3s take ↵Thilo Schulz
precedence over files in pk3s. Should make life easier for modders/mappers wanting to override textures that are already contained in some older pk3 - Make VM loading more robust, change loading order: when vm_* == 0 first try loading DLL, then QVM in *each* search directory/path - Fix FS_FileForHandle that would return a FILE pointer to invalid file handle 0
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