Commit graph

63 commits

Author SHA1 Message Date
Ryan C. Gordon
8ab3f7af8d Changed the protocol for VoIP packets to support legacy clients.
Previously, a legacy client wouldn't get a VoIP packet, but if they did,
 they'd panic and disconnect. Now they ignore them and continue on. This also
 gives us the framework to add other features legacy clients can ignore.

Oh, this also has the benefit of allowing us to store incoming VoIP for
 playback in recorded demos. They'll play the chatter on VoIP clients, and
 be ignored on legacy ones. Huge win.
2008-06-03 02:32:52 +00:00
Ryan C. Gordon
0403ca2260 More VoIP work: treat voip/sv_voip cvars as protocol version numbers. 2008-06-02 19:52:13 +00:00
Ryan C. Gordon
1e4fa5a54c Treat sv_voip cvar as a version number (0 == off, 1 == version 1 protocol).
Don't publish it to server's info string if set to zero.
2008-06-02 19:41:09 +00:00
Ryan C. Gordon
953e9ec287 sv_voip cvar should be latched. 2008-06-02 19:37:05 +00:00
Ryan C. Gordon
12326a9eac Initial patch for in-game VoIP support! 2008-06-01 07:51:23 +00:00
Thilo Schulz
563eb9443b One minor comment fix 2008-04-12 17:14:53 +00:00
Thilo Schulz
f8d8a1c2f7 - fix a potential file descriptor leak in server side of pak downloading
- add new functions for banning clients from server, in engine part. This will also make it possible to ban ipv6 addresses in old mods.
2008-04-12 17:00:18 +00:00
Thilo Schulz
9a8cc99a93 - Revamp in-game server browser: you can now scan for games on multiple master servers, while retaining compatibility with old QVMs.
- Make Master server reporting/server queries ipv6 capable.
2008-04-11 18:39:03 +00:00
Thilo Schulz
78a82bcba2 Add com_standalone cvar for at-runtime handling of mods that do not require the original quake3 game data. 2008-04-10 15:37:25 +00:00
Thilo Schulz
b3822d03e2 Include #ifdef to make it easier to create a stand-alone binary. 2008-04-09 23:43:30 +00:00
Thilo Schulz
eb3b59308b Add Multicast capabilities for LAN server scanning. 2008-04-09 14:37:42 +00:00
Thilo Schulz
5d63a38ad9 Basic IPv6 support. Some inspiration from the patches by Lubos Dolezel and JF Tremblay at https://bugzilla.icculus.org/show_bug.cgi?id=2355. 2008-04-04 23:22:22 +00:00
Thilo Schulz
bb47026b5f - Replace vsprintf function in bg_lib.c with vsnprintf implementation started by Patrick Powell.
- Remove all calls to vsprintf in the engine and gamecode and replace them with calls to vsnprintf.
2008-03-25 21:36:09 +00:00
Tony J. White =
4c3b7def84 * send along the reason for disconnection when sending the disconnect
cmd to all clients in SV_FinalMessage()
* on Com_Error(), set the cvar "com_errorCode" with the errorParm_t integer
  value for the error.  This can be used by a mod's ui to an draw error
  dialog specific for the error (e.g. Reconnect button on ERR_SERVERDISCONNECT)
2007-12-31 22:35:22 +00:00
Tim Angus
3f3e1a51a1 * (bug 3420) Don't respect sv_killserver unless a server is actually running
* (bug 3431) USERINFO cvars created in cg_main not getting sent (arQon)
2007-11-23 00:33:13 +00:00
Tony J. White =
e46fe24426 * rewrite of the win32 dedicated console:
1) NET_Sleep() no longer watches for input, Sys_Sleep() added for waiting
     on input.
  2) Added "CtrlHandler" for trapping Ctrl-C and other quit methods not
     handled by signals on windows
  3) Added history support
  4) Added tab completion
  5) Removed automatic cursor/scroll adjustment (too problematic)
  6) Enable mousewheel scrolling
  7) Stop using the InputBuffer for editing

  This seems to work pretty well now, but I jumped the gun on a previous
  commit message by saying you can scroll now without locking up your server.
  That was only true up until the point that a server tried to print to
  the console, at that point it will hang until you release the scroll bar :(
  It may be possible to get around this by using a seperate thread for
  console output, but that's a whole new can of worms.
2007-09-15 02:22:58 +00:00
Tim Angus
672cfbf16f * Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
2007-09-05 18:17:46 +00:00
Tony J. White =
7d13d6cd3b * (bug 3066) rcon rate-limiting was not compatible with the eventual
integer overflow in Com_Milliseconds() (R1CH)
2007-05-10 01:39:58 +00:00
Tony J. White =
b5bf1280c1 * (bug 3018) Should not reset CVAR_CHEAT cvars when loading cgame/ui if they
are being loaded to play a demo.  This restores the normal
             "timedemo" cvar behaviour.
* (bug 3054) The "demo" command works properly now when connected to
             the local server
2007-04-05 15:26:15 +00:00
Tony J. White =
da75e9fda8 * (bug 3027) don't trust the "ip" value in the userinfo string since a client
could set this.  disconnect (or disallow connection for) a client that
  has a userinfo string that's too full for "ip" to be added properly.
  (Richard Stanway)
2007-02-14 23:14:25 +00:00
Tony J. White =
046e86a925 * (bug 3014) my revision 935 broke the sending of the kick/clientkick message
since SV_DropClient() tried to set the client's state to CS_ZOMBIE prior 
  to sending the message.
2007-02-01 22:24:45 +00:00
Thilo Schulz
5dc3b35b49 - Fix loads of format string bugs
- Fix locally looping sounds, thanks to Timbo
2007-01-24 21:23:21 +00:00
Ludwig Nussel
8ca8d84591 fix buffer overflow and format string bug in auth server response
processing
2006-12-31 15:36:42 +00:00
Ludwig Nussel
8e82c3d605 - tag more functions with gnu format attribute
- fix format string bugs. still some left
2006-12-30 12:32:54 +00:00
Tony J. White =
189e8b33f3 * (bug 2784) help to prevent reliable command overflow in cases when a slow
client is loading the map on a busy server. Specifically, hold back all
  configstring update commands while the client is CS_PRIMED.  Once the
  client goes from CS_PRIMED to CS_ACTIVE, send the cleint commands for
  updating each of the configstring indexes which were updated while the 
  client was CS_PRIMED.
2006-10-13 19:44:52 +00:00
Tony J. White =
2af23e813d * add cURL support for HTTP/FTP downloading (bug 2661) 2006-09-11 16:41:55 +00:00
Thilo Schulz
bea6fcff13 Correctly handle 0 timescale 2006-08-26 12:43:38 +00:00
Thilo Schulz
5ee7b5ed59 A few more timescale influences added 2006-08-26 02:45:59 +00:00
Thilo Schulz
fb18a4b2e4 - compensate sv_fps for timescale value.
- Add a non-dirty-hack fix for client hanging when unpausing a game.
2006-08-26 01:45:27 +00:00
Thilo Schulz
5e88acf217 Fix 100% CPU usage on idle dedicated servers. 2006-08-18 01:50:51 +00:00
Tim Angus
e41d081710 * qvm files no longer installed by "make copyfiles"
* Loopback clients only get snapshots at the server frame rate now
  (Anonymous <nkylqinhvgcbyl@mailinator.com>)
* JPEG chroma subsampling disabled if the quality value is >= 85
  (Anonymous <nkylqinhvgcbyl@mailinator.com>)
* cl_lanForcePackets. When set to 0 (default is 1) the cl_maxpackets setting
  will be ignored if on a LAN. (Anonymous <nkylqinhvgcbyl@mailinator.com>)
2006-08-13 17:09:05 +00:00
Tim Angus
7d657ba62f * sv_minRate (from R1CH)
* [cl|sv]_packetdelay (from tjw)
2006-06-17 19:19:34 +00:00
Thilo Schulz
6fe78df757 Fixed missing initialization of idPack and missionPack variables which may result in failure to autodownload files from the server even if legitimate. 2006-05-15 19:50:44 +00:00
Thilo Schulz
60293f49ee Fix bug that permits download of arbitrary files from a download enabled server by checking requested file name against the list of loaded pk3 files. See CVE-2006-2082 2006-05-08 19:53:41 +00:00
Thilo Schulz
1847c321f0 - Added SV_Shutdown to Linux signal handler to ensure that clients don't hang when server gets killed, as suggested by Tony J. White
- Added newline to final message sent to clients.
- Added check for whether client is running at all before CL_Shutdown runs through.
2006-05-04 13:59:58 +00:00
Thilo Schulz
2583351211 - Replaced SV_GetPlayerByName with SV_GetPlayerByHandle that supports lookup of client_t structures by playernum, too.
That means the ban and kick commands will now accept the playernum - as seen in the status command - as argument.
2006-05-02 21:20:07 +00:00
Thilo Schulz
7b6fe90aad Fix "Net_CompareAdr: Bad address type" error message when starting a new map with bots. 2006-05-02 17:53:26 +00:00
Tim Angus
d475dfef97 * Yet another tweak to the long server uptime bug fix 2006-04-28 17:31:02 +00:00
Thilo Schulz
70fca10af2 Replaced various "baseq3" strings with the centrally defined BASEGAME macro. 2006-04-26 11:27:12 +00:00
Tim Angus
ef51968654 * Fix to a bug introduced by the fix to the long server uptime bug 2006-04-22 15:57:43 +00:00
Tim Angus
131fb9933f * Fix to bug involving the port value of master server heartbeats (from Thilo
Schulz)
2006-04-14 20:28:28 +00:00
Tim Angus
4ec0c94828 * Displace the '\n's passed to SV_Shutdown 2006-02-28 23:01:23 +00:00
Tim Angus
d5509dcd35 * Fix to a bug where servers with long uptimes (~27 days) would consume 100%
CPU if the running game did not set the nextmap cvar. This patch instead uses
  the mapname server cvar, which is guaranteed to be defined.
2006-02-23 23:10:54 +00:00
Ludwig Nussel
4c242115dc - change long to intptr_t for 64bit windows compatability
- change vmMain arguments back to int. 64bit types are apparently not
  needed there. Only the syscall function needs them.
2006-02-18 19:07:23 +00:00
Ludwig Nussel
e129637b5a 64bit fix: VM_Call return value is a pointer 2006-02-18 19:03:06 +00:00
Tim Angus
c41483634c * General decrufting:
* Removed Q3_STATIC and associated defines
* Removed MAC_STATIC
* Replaced __LCC__ with Q3_VM
* Removed bspc and splines directories
2005-10-29 23:13:09 +00:00
Tim Angus
05e8ab9538 * Added STATUS
* Updated TODO
* Moved ChangeLog to root
* Updated ChangeLog
* s/Foobar/Quake III Arena Source Code/
* Biggest patch EVAR. I wonder how many mail boxes this will fill...
2005-10-29 01:53:09 +00:00
Tim Angus
ffdc69f138 * Deleted code/unix/vm_x86.c - wtf was that about anyway?
* Removed HAVE_VM_NATIVE
* Removed DLL_ONLY
* Replace HAVE_VM_COMPILED with NO_VM_COMPILED -- this means the JIT compiler
  should be enabled on the OS X and VC builds now
* Remove the remainder of the freetype building stuff
2005-10-29 00:23:10 +00:00
Tim Angus
090f4d7266 * Compiler warning fix from ankon 2005-10-28 22:10:39 +00:00
Tim Angus
4c63d1ed40 * Fix to https://bugzilla.icculus.org/show_bug.cgi?id=2454 2005-10-28 21:09:50 +00:00