287 lines
8.9 KiB
Plaintext
287 lines
8.9 KiB
Plaintext
|
OSP Server Mode Configuration
|
||
|
=============================
|
||
|
23 Feb 2003
|
||
|
rhea@OrangeSmoothie.org
|
||
|
http://www.OrangeSmoothie.org
|
||
|
|
||
|
|
||
|
OSP allows server operators to define custom configurations for
|
||
|
availability to clients to vote on while connected. These
|
||
|
configurations can be as simple as strict FFA/1v1/Team DM/CTF and
|
||
|
Clan Arena play as defined out of the box, with the option to
|
||
|
define modes of play that are deviate far from the norm (i.e.
|
||
|
instagib CTF with low gravity and all items on the level
|
||
|
replaced with BFGs).
|
||
|
|
||
|
While this flexibility can be quite powerful, for the uninitiated,
|
||
|
and for the players subjected to server operator experimentation
|
||
|
with alternate config modes, it is also bit overwhelming and
|
||
|
equally as confusing.
|
||
|
|
||
|
Since most server ops and players just want to be able to switch
|
||
|
between out of the box modes of play (i.e. to go from 1v1 to ctf
|
||
|
to team DM), OSP has defined 8 internal configurations with core
|
||
|
settings that have been accepted by the community as "standard":
|
||
|
- FFA
|
||
|
- 1v1
|
||
|
- QIL TDM (http://www.qil.org)
|
||
|
- Team DM
|
||
|
- CTF
|
||
|
- Clan Arena
|
||
|
- FreezeTag (OSP settings)
|
||
|
- FreezeTag (Vanilla 1.51b settings)
|
||
|
|
||
|
Now, another way to view alternate server configurations is to
|
||
|
define them as new custom game "modes". OSP takes this to the
|
||
|
next step by allowing server operators to utilize custom game
|
||
|
modes in the same manner in which "g_gametype" is used. That
|
||
|
is, a server's start-up configuration can be a simple shell of
|
||
|
a configuration that defines such things as the hostname, MOTD
|
||
|
to display to clients, maxplayers, etc. with a "mode_start"
|
||
|
setting that defines the set of core gameplay parameters to
|
||
|
tweak when the server is launched. Essentially, "mode_start"
|
||
|
is a much more powerful version of "g_gametype" that allows
|
||
|
the setting of parameters in addition to the gametype.
|
||
|
|
||
|
Alternate game modes are defined in a configuration file
|
||
|
specified in the server's start-up .cfg with the
|
||
|
"mode_customfile" parameter. The format of this file is
|
||
|
as follows:
|
||
|
|
||
|
<new modename> [tab] <mode filename.cfg>
|
||
|
|
||
|
[NOTE: [tab] refers to the "tab" character. That is, the
|
||
|
custom mode name and its .cfg file *must* be separated with
|
||
|
a TAB character.]
|
||
|
|
||
|
The mode_start parameter is a dynamic setting, based on the
|
||
|
internal configurations defined by OSP with the addtion of
|
||
|
alternate game modes defined by the server operator. The
|
||
|
first 8 values of mode_start are always the same:
|
||
|
0 - FFA
|
||
|
1 - 1v1
|
||
|
2 - QIL TeamDM
|
||
|
3 - TeamDM
|
||
|
4 - CTF
|
||
|
5 - Clan Arena
|
||
|
6 - FT (OSP)
|
||
|
7 - FT (Vanilla)
|
||
|
|
||
|
All custom modes will start at 8 or higher. The custom mode
|
||
|
value is based on the order in which it is specified in the
|
||
|
"mode_customfile" .cfg file. So, for example, if the .cfg
|
||
|
specified in the "mode_customfile" is as follows:
|
||
|
|
||
|
instagib cfg-modes\instagib.cfg
|
||
|
instagib-ctf cfg-modes\instagib-ctf.cfg
|
||
|
bfg madness cfg-modes\bfg.cfg
|
||
|
gauntlet-only cfg-modes\gauntlet.cfg
|
||
|
|
||
|
Then the server's available modes of play would be:
|
||
|
0 - FFA
|
||
|
1 - 1v1
|
||
|
2 - QIL TeamDM
|
||
|
3 - TeamDM
|
||
|
4 - CTF
|
||
|
5 - Clan Arena
|
||
|
6 - FT (OSP)
|
||
|
7 - FT (Vanilla)
|
||
|
8 - instagib
|
||
|
9 - instagib-ctf
|
||
|
10 - bfg madness
|
||
|
11 - gauntlet-only
|
||
|
|
||
|
The server could then specify "mode_start 7" in its
|
||
|
start-up script to launch the server as an instagib CTF
|
||
|
server, yet have all of the other modes available to
|
||
|
players for voting.
|
||
|
|
||
|
The default setting for "mode_customfile" is "none",
|
||
|
which disables any additional custom mode settings.
|
||
|
|
||
|
Now, what about the internal configs you ask? Well, as
|
||
|
mentioned earlier, this custom mode setting is a bit
|
||
|
time-consuming and confusing the first go-around. Since
|
||
|
most server ops just want to get OSP up and running with
|
||
|
basic gametypes available, the core internal configs
|
||
|
define preset settings that cannot be changed. This
|
||
|
gives assurances to players that these settings are
|
||
|
GUARANTEED to be the same on any OSP server. It also
|
||
|
lets the server op to not have to worry that they have
|
||
|
the exact settings that everyone expects. When upgrading
|
||
|
to the latest version of the OSP server, they also have
|
||
|
the latest set of "standard" settings.
|
||
|
|
||
|
Of course, not ALL settings are hard-coded in these core
|
||
|
configs. As mentioned earlier, the server shell .cfg is
|
||
|
used to specify custom non-gameplay-affecting settings.
|
||
|
The list at the bottom of this file defines what variables
|
||
|
can be set in the start-up .cfg that won't be affected by
|
||
|
the internal server modes.
|
||
|
|
||
|
Specific internal configs are made available for client
|
||
|
voting through the "server_availmodes" setting. It is
|
||
|
a bitmask that defines which modes are to be enabled:
|
||
|
1 - FFA
|
||
|
2 - 1v1
|
||
|
4 - QIL TeamDM
|
||
|
8 - TeamDM
|
||
|
16 - CTF
|
||
|
32 - Clan Arena
|
||
|
64 - FT (OSP)
|
||
|
128 - FT (Vanilla)
|
||
|
|
||
|
Thus, a setting of "56" means that Team DM, CTF, and Clan
|
||
|
Arena (modes 3, 4, and 5) are available for client voting.
|
||
|
The default setting for "server_availmodes" is 59 (all
|
||
|
modes are available for voting, EXCEPT for "Badlands TDM").
|
||
|
|
||
|
It is *highly* recommended that server operators utilize
|
||
|
the mode_start (and mode_customfile, if alternate server
|
||
|
configs are to be used) variables to ensure that proper
|
||
|
mode rotation is in place. If mode_start is defined, the
|
||
|
server will rotate back to this mode if client's have
|
||
|
voted in alternate server modes and have left after 10
|
||
|
minutes. This guarantees that the server will be in a
|
||
|
known mode state if it has been vacant for some time.
|
||
|
This goes for ANY mode_start value.
|
||
|
|
||
|
When defining new custom configs, it is useful to note that
|
||
|
all server cvars are reset to Q3/OSP default settings before
|
||
|
reverting to a new game mode. This means that all that is
|
||
|
needed in the custom configs is to set ONLY the vars that need
|
||
|
to be tweaked.
|
||
|
|
||
|
As a reference to all of this madness, check out the defualt
|
||
|
server configs that come with OSP (team.cfg, ctf.cfg, etc.).
|
||
|
Hopefully, these configs will shed more light on all of this
|
||
|
"flexibility" :)
|
||
|
|
||
|
One thing to remember, the start-up server config is VERY
|
||
|
simple: just define stuff like server name, sv_maxclients,
|
||
|
rconPassword, etc. All of the specific gameplay settings
|
||
|
are handled either by the internal configs or your alternate
|
||
|
server configurations.
|
||
|
|
||
|
For reference, I've also included the internal server configs
|
||
|
in cfg-reference with each cvar that is modified listed
|
||
|
explicitly in each of the configs.
|
||
|
|
||
|
*NOTE*: Custom configs should NOT specify sv_maxclients!!!!
|
||
|
This leads to serious instability for the server!!!!! Specify
|
||
|
this parameter ONLY in the server's start up config.
|
||
|
|
||
|
Also, just can vote for alternate modes with:
|
||
|
\callvote mode [mode_id]
|
||
|
|
||
|
Omitting the mode_id will show all available modes that can
|
||
|
be voted.
|
||
|
|
||
|
Good luck!
|
||
|
|
||
|
|
||
|
Maplists for internal configs. If you want an alternate map list for
|
||
|
a mode, create a file with the same name under the main osp/ directory.
|
||
|
OSP will load the map list from this file. If no file is specified, it
|
||
|
will use a default internal map list:
|
||
|
=======================================================================
|
||
|
1v1: cfg-maps/1v1maps.txt
|
||
|
FFA: cfg-maps/ffamaps.txt
|
||
|
QIL TeamDM: cfg-maps/qilmaps.txt
|
||
|
Team DM: cfg-maps/teammaps.txt
|
||
|
CTF: cfg-maps/ctfmaps.txt
|
||
|
ClanArena: cfg-maps/teammaps.txt
|
||
|
FT (OSP): cfg-maps/teammaps.txt
|
||
|
FT (Vanilla): cfg-maps/teammaps.txt
|
||
|
|
||
|
Default map lists:
|
||
|
==================
|
||
|
Exactly the same as what is shipped with the main OSP distribution.
|
||
|
Please refer to the files in the cfg-maps/ directory for complete info.
|
||
|
|
||
|
|
||
|
Default settings for each mode:
|
||
|
===============================
|
||
|
All mode changes from the default settings in Q3/OSP are given in the
|
||
|
files in the cfg-reference/ directory.
|
||
|
|
||
|
|
||
|
Here is a list of variables that you can set in the server config that will
|
||
|
NOT be erased by the *DEFAULT* internal configs.
|
||
|
===========================================================================
|
||
|
admin_log
|
||
|
bot_checktime
|
||
|
bot_autoload
|
||
|
com_blood
|
||
|
filter_file
|
||
|
g_allowVote
|
||
|
g_banIPs
|
||
|
g_debugAlloc
|
||
|
g_debugDamage
|
||
|
g_debugMove
|
||
|
g_filterBan
|
||
|
g_gravity
|
||
|
g_inactivity
|
||
|
g_knockback
|
||
|
g_listEntity
|
||
|
g_log
|
||
|
g_logSync
|
||
|
g_maxGameClients
|
||
|
g_motd
|
||
|
g_needpass
|
||
|
g_password
|
||
|
g_podiumDist
|
||
|
g_podiumDrop
|
||
|
g_rankings
|
||
|
g_speed
|
||
|
g_synchronousClients
|
||
|
g_smoothClients
|
||
|
item_disable
|
||
|
log_default
|
||
|
log_stat
|
||
|
map_debug
|
||
|
map_file
|
||
|
map_halt
|
||
|
mg_damage
|
||
|
mg_damageTeamplay
|
||
|
mode_customfile
|
||
|
mode_start
|
||
|
osp_gamename
|
||
|
player_always
|
||
|
player_file
|
||
|
pmove_fixed
|
||
|
pmove_msec
|
||
|
ref_password
|
||
|
server_availmodes
|
||
|
server_batcher
|
||
|
server_customclient
|
||
|
server_gfxspecfile
|
||
|
server_maxpacketsmin
|
||
|
server_maxpacketsmax
|
||
|
server_ospauth
|
||
|
server_promode
|
||
|
server_timenudgemin
|
||
|
server_timenudgemax
|
||
|
server_realping
|
||
|
server_record
|
||
|
server_motd1
|
||
|
server_motd2
|
||
|
server_motd3
|
||
|
server_motd4
|
||
|
server_motd5
|
||
|
server_motd6
|
||
|
server_motd7
|
||
|
server_motd8
|
||
|
sv_cheats
|
||
|
sv_hostname
|
||
|
sv_maxclients
|
||
|
viewcam_directory
|
||
|
vote_allow_altgraphics
|
||
|
vote_allow_kick
|
||
|
vote_allow_maxpackets
|
||
|
vote_allow_osphud
|
||
|
vote_allow_promode
|
||
|
vote_allow_referee
|
||
|
vote_allow_thrufloors
|
||
|
vote_allow_truelightning
|