[quake3-commits] r1951 - trunk
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Apr 27 12:04:24 EDT 2011
Author: thilo
Date: 2011-04-27 12:04:23 -0400 (Wed, 27 Apr 2011)
New Revision: 1951
Modified:
trunk/README
Log:
- Change the layout of the README and split "misc" section into a part for end users, and a part for developers
- Update the readme for rev. 1950
Modified: trunk/README
===================================================================
--- trunk/README 2011-04-27 16:03:35 UTC (rev 1950)
+++ trunk/README 2011-04-27 16:04:23 UTC (rev 1951)
@@ -214,9 +214,15 @@
ipv6 servers on the local network
net_mcastiface - outgoing interface to use for scan
- protocol - Allow changing protocol version
+ oldprotocol - when encountering a server/client that
+ only supports the version configured in
+ this cvar, ioquake3 will use the old and
+ less secure protocol from quake3 1.32c.
(startup only)
+ protocol - Allow changing protocol version that is
+ sent to the server (startup only)
+
r_allowResize - make window resizable (SDL only)
r_ext_texture_filter_anisotropic - anisotropic texture filtering
r_zProj - distance of observer camera to projection
@@ -277,8 +283,9 @@
which <filename/path> - print out the path on disk to a loaded item
------------------------------------------------------------- Miscellaneous -----
+--------------------------------------------------------- README for Users -----
+
Using shared libraries instead of qvm
To force Q3 to use shared libraries instead of qvms run it with the following
parameters: +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0
@@ -305,6 +312,109 @@
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.
+
+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
+ ioquake3 clients have different keyboard behaviour compared to the original
+ Quake3 clients.
+
+ * "Caps Lock" and "Num Lock" can not be used as normal binds since they
+ do not send a KEYUP event until the key is pressed again.
+
+ * SDL > 1.2.9 does not support disabling dead key recognition. In order to
+ send dead key characters (e.g. ~, ', `, and ^), you must key a Space (or
+ sometimes the same character again) after the character to send it on
+ many international keyboard layouts.
+
+ * The SDL client supports many more keys than the original Quake3 client.
+ For example the keys: "Windows", "SysReq", "ScrollLock", and "Break".
+ For non-US keyboards, all of the so called "World" keys are now supported
+ as well as F13, F14, F15, and the country-specific mode/meta keys.
+
+ On many international layouts the default console toggle keys are also dead
+ keys, meaning that dropping the console potentially results in
+ unintentionally initiating the keying of a dead key. Futhermore SDL 1.2's
+ dead key support is broken by design and Q3 doesn't support non-ASCII text
+ entry, so the chances are you won't get the correct character anyway.
+
+ If you use such a keyboard layout, you can set the cvar cl_consoleKeys. This
+ is a space delimited list of key names that will toggle the console. The key
+ names are the usual Q3 names e.g. "~", "`", "c", "BACKSPACE", "PAUSE",
+ "WINDOWS" etc. It's also possible to use ASCII characters, by hexadecimal
+ number. Some example values for cl_consoleKeys:
+
+ "~ ` 0x7e 0x60" Toggle on ~ or ` (the default)
+ "WINDOWS" Toggle on the Windows key
+ "c" Toggle on the c key
+ "0x43" Toggle on the C character (Shift-c)
+ "PAUSE F1 PGUP" Toggle on the Pause, F1 or Page Up keys
+
+ Note that when you elect a set of console keys or characters, they cannot
+ then be used for binding, nor will they generate characters when entering
+ text. Also, in addition to the nominated console keys, Shift-ESC is hard
+ coded to always toggle the console.
+
QuakeLive mouse acceleration (patch and this text written by TTimo from id)
I've been using an experimental mouse acceleration code for a while, and
decided to make it available to everyone. Don't be too worried if you don't
@@ -350,6 +460,9 @@
If you try the new acceleration code and start using it, I'd be very
interested by your feedback.
+
+---------------------------------------------------- README for Developers -----
+
64bit mods
If you wish to compile external mods as shared libraries on a 64bit platform,
and the mod source is derived from the id Q3 SDK, you will need to modify the
@@ -406,7 +519,7 @@
+set com_homepath <homedirname>
- to the command line. Then you can control which kind of messages to send to
+ to the command line. You can also control which kind of messages to send to
the master server:
+set sv_heartbeat <heartbeat> +set sv_flatline <flatline>
@@ -456,6 +569,36 @@
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: "protocol" and "oldprotocol".
+ 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 fix a vulnerability in the network protocol as outlined in
+
+ http://aluigi.altervista.org/papers/q3noclient.txt
+
+ 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 "protocol" denotes the protocol version for the new hardened
+ protocol, whereas the "oldprotocol" cvar denotes the protocol version for the
+ legacy protocol.
+ If the value for "oldprotocol" and "protocol" is identical, then the legacy
+ protocol is always used. If oldprotocol 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. You can enable it in q_shared.h if desired by defining
+ PROTOCOL_SUPPORT_OLD.
+
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
@@ -474,109 +617,6 @@
than just name
2) granting some weak admin rights to players without requiring passwords
-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.
-
-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
- ioquake3 clients have different keyboard behaviour compared to the original
- Quake3 clients.
-
- * "Caps Lock" and "Num Lock" can not be used as normal binds since they
- do not send a KEYUP event until the key is pressed again.
-
- * SDL > 1.2.9 does not support disabling dead key recognition. In order to
- send dead key characters (e.g. ~, ', `, and ^), you must key a Space (or
- sometimes the same character again) after the character to send it on
- many international keyboard layouts.
-
- * The SDL client supports many more keys than the original Quake3 client.
- For example the keys: "Windows", "SysReq", "ScrollLock", and "Break".
- For non-US keyboards, all of the so called "World" keys are now supported
- as well as F13, F14, F15, and the country-specific mode/meta keys.
-
- On many international layouts the default console toggle keys are also dead
- keys, meaning that dropping the console potentially results in
- unintentionally initiating the keying of a dead key. Futhermore SDL 1.2's
- dead key support is broken by design and Q3 doesn't support non-ASCII text
- entry, so the chances are you won't get the correct character anyway.
-
- If you use such a keyboard layout, you can set the cvar cl_consoleKeys. This
- is a space delimited list of key names that will toggle the console. The key
- names are the usual Q3 names e.g. "~", "`", "c", "BACKSPACE", "PAUSE",
- "WINDOWS" etc. It's also possible to use ASCII characters, by hexadecimal
- number. Some example values for cl_consoleKeys:
-
- "~ ` 0x7e 0x60" Toggle on ~ or ` (the default)
- "WINDOWS" Toggle on the Windows key
- "c" Toggle on the c key
- "0x43" Toggle on the C character (Shift-c)
- "PAUSE F1 PGUP" Toggle on the Pause, F1 or Page Up keys
-
- Note that when you elect a set of console keys or characters, they cannot
- then be used for binding, nor will they generate characters when entering
- text. Also, in addition to the nominated console keys, Shift-ESC is hard
- coded to always toggle the console.
-
PNG support
ioquake3 supports the use of PNG (Portable Network Graphic) images as
textures. It should be noted that the use of such images in a map will
More information about the quake3-commits
mailing list