From 80a61f5b30f19b2a139458cf5a958e9c92153c67 Mon Sep 17 00:00:00 2001 From: "Zachary J. Slater" Date: Fri, 28 Aug 2015 14:26:32 -0700 Subject: [PATCH] Moving large chunks of README to wiki step 1 --- README.md | 129 ------------------------------------------------------ 1 file changed, 129 deletions(-) diff --git a/README.md b/README.md index a6e9b3c5..96987800 100644 --- a/README.md +++ b/README.md @@ -356,86 +356,6 @@ really it can only wait for a multiple of 5ms, i.e. 5, 10, 15, 20... ms. In this case you can always revert back to the old behaviour by setting the cvar com_busyWait to 1. -## Using HTTP/FTP Download Support (Server) - -You can enable redirected downloads on your server even if it's not -an ioquake3 server. You simply need to use the 'sets' command to put -the sv_dlURL cvar into your SERVERINFO string and ensure sv_allowDownloads -is set to 1 - -sv_dlURL is the base of the URL that contains your custom .pk3 files -the client will append both fs_game and the filename to the end of -this value. For example, if you have sv_dlURL set to -`"http://ioquake3.org"`, fs_game is `"baseq3"`, and the client is -missing `"test.pk3"`, it will attempt to download from the URL -`"http://ioquake3.org/baseq3/test.pk3"` - -sv_allowDownload's value is now a bitmask made up of the following -flags: - - * 1 - ENABLE - * 4 - do not use UDP downloads - * 8 - do not ask the client to disconnect when using HTTP/FTP - -Server operators who are concerned about potential "leeching" from their -HTTP servers from other ioquake3 servers can make use of the HTTP_REFERER -that ioquake3 sets which is `"ioQ3://{SERVER_IP}:{SERVER_PORT}"`. For, -example, Apache's mod_rewrite can restrict access based on HTTP_REFERER. - -On a sidenote, downloading via UDP has been improved and yields higher data -rates now. You can configure the maximum bandwidth for UDP downloads via the -cvar sv_dlRate. Due to system-specific limits the download rate is capped -at about 1 Mbyte/s per client, so curl downloading may still be faster. - -## Using HTTP/FTP Download Support (Client) - -Simply setting cl_allowDownload to 1 will enable HTTP/FTP downloads -assuming ioquake3 was compiled with USE_CURL=1 (the default). -like sv_allowDownload, cl_allowDownload also uses a bitmask value -supporting the following flags: - - * 1 - ENABLE - * 2 - do not use HTTP/FTP downloads - * 4 - do not use UDP downloads - -When ioquake3 is built with USE_CURL_DLOPEN=1 (default on some platforms), -it will use the value of the cvar cl_cURLLib as the filename of the cURL -library to dynamically load. - -## Multiuser Support on Windows systems -On Windows, all user specific files such as autogenerated configuration, -demos, videos, screenshots, and autodownloaded pk3s are now saved in a -directory specific to the user who is running ioquake3. - -On NT-based such as Windows XP, this is usually a directory named: - - C:\Documents and Settings\%USERNAME%\Application Data\Quake3\ - -Windows 95, Windows 98, and Windows ME will use a directory like: - - C:\Windows\Application Data\Quake3 - -in single-user mode, or: - - C:\Windows\Profiles\%USERNAME%\Application Data\Quake3 - -if multiple logins have been enabled. - -In order to access this directory more easily, the installer may create a -Shortcut which has its target set to: - - %APPDATA%\Quake3\ - -This Shortcut would work for all users on the system regardless of the -locale settings. Unfortunately, this environment variable is only -present on Windows NT based systems. - -You can revert to the old single-user behaviour by setting the fs_homepath -cvar to the directory where ioquake3 is installed. For example: - - ioquake3.exe +set fs_homepath "c:\ioquake3" - -Note that this cvar MUST be set as a command line parameter. ## SDL Keyboard Differences @@ -635,55 +555,6 @@ not prohibit commercial exploitation and all assets (e.g. textures, sounds, maps) created by yourself are your property and can be sold like every other game you find in stores. -## Network protocols - -There are now two cvars that give you some degree of freedom over the reported -protocol versions between clients and servers: "com_protocol" and -"com_legacyprotocol". -The reason for this is that some standalone games increased the protocol -number even though nothing really changed in their protocol and the ioquake3 -engine is still fully compatible. - -In order to harden the network protocol against UDP spoofing attacks a new -network protocol was introduced that defends against such attacks. -Unfortunately, this protocol will be incompatible to the original quake3 1.32c -which is the latest official release from id. -Luckily, ioquake3 has backwards compatibility, on the client as well as on the -server. This means ioquake3 players can play on old servers just as ioquake3 -servers are able to service old clients. - -The cvar "com_protocol" denotes the protocol version for the new hardened -protocol, whereas the "com_legacyprotocol" cvar denotes the protocol version -for the legacy protocol. -If the value for "com_protocol" and "com_legacyprotocol" is identical, then -the legacy protocol is always used. If "com_legacyprotocol" is set to 0, then -support for the legacy protocol is disabled. - -Mods that use a standalone engine obviously do not require dual protocol -support, and it is turned off if the engine is compiled with STANDALONE per -default. If you desire backwards compatibility to older versions of your -game you can still enable it in q_shared.h by defining -LEGACY_PROTOCOL. - -## cl_guid Support - -cl_guid is a cvar which is part of the client's USERINFO string. Its value -is a 32 character string made up of [a-f] and [0-9] characters. This -value is pseudo-unique for every player. Id's Quake 3 Arena client also -sets cl_guid, but only if Punkbuster is enabled on the client. - -If cl_guidServerUniq is non-zero (the default), then this value is also -pseudo-unique for each server a client connects to (based on IP:PORT of -the server). - -The purpose of cl_guid is to add an identifier for each player on -a server. This value can be reset by the client at any time so it's not -useful for blocking access. However, it can have at least two uses in -your mod's game code: - - 1. improve logging to allow statistical tools to index players by more - than just name - 2. granting some weak admin rights to players without requiring passwords ## PNG support