Server options
Server options are a bunch of key=value pairs that allow you to customize the non-scriptable behaviour of the server.
When you just omit a key, its value will not be changed if the option has been used before. So it is more secure to change only the value and not whole pair if you need to change something.
Lines beginning with # are not parsed, and can be used for comments.
Most of the keys are self-explanatory, but I will add comments anyway.
startlevel=level name startx=number starty=number
These define the default position of players that have not been online before. They default to onlinestartlocal.graal, 30.5, 30 I belive.
unstickmelevel=level name unstickmex=number unstickmey=number
These define the position a player that uses the `unstick me' command will get warped to. They default to startlevel/x/y.
protectedweapons=list of comma seperated weapon names
Weapons that cannot be deleted by the player. This differs from weapons prefixed with * by that * weapons cannot be deleted with the Del key, but still can be deleted clientsidedly using the destroy command. `Protected' weapons can (unless *ified) be deleted with Del, but the server will not remove them from the player's weapon list and thus the serverside part will keep existing and the player gets them back on the next connect.
jaillevels=level names comma separated
Non-staff players in these levels will not be able to leave them `clientsidedly', like by walking on links or using unstick me. A serverside setlevel2 or warping with RC is neccessary. Also, they can send PMs only to RC clients and not regular clients.
noexplosions=true/false
Blocks explosions caused by the client.
setbodyallowed=true/false setheadallowed=true/false setbomyallowed=true/false setswordallowed=true/false setshieldallowed=true/false
Whether the chat commands to change the player's appearance are enabled. Defaults to true.
mindeathgralats=number maxdeathgralats=number
Defines the range of gralats that the player drops on death.
normaladminscanchangegralats=true/false
If this option is set, it is not enough to have the change player attributes right to edit a player's gralats, but one needs to have the equivalent to level 4 RC. I think this is defined by whether one has the edit staff accounts right.
staffguilds=comma seperated list of guild names
People using guild tags that begins with one of these strings will appear in the upper part of the player list. If you want to have only the exact guild name listed as staff, put a ) after it.
bushitems=true/false
Whether bushes drop items. This is disabled on gmaps either way.
baddyitems=true/false
Whether killed baddies drop items. Note that default baddies are deprecated and should not be used at all.
healswords=true/false
Whether it is possible to have a negative sword power and thus heal people that are hit.
respawntime=number horselifetime=number baddyrespawntime=number
Time in second until these default things respawn. The first number applies to bushes.
dontaddserverflags=true/false
Whether scripts can add new server flags or only modify existing ones.
bigmap=maptext,mapimage,defaultx,defaulty minimap=maptext,mapimage,defaultx,defaulty
Default maps, syntax is like setmap and setminimap script commands.
warptoforall=true/false
Whether everybody can use the warpto chat command.
warptoforlowadmins=true/false
Whether global admin level 1 lets people warp. Please set this to true, or I will not be able to warp, and then I will stab you.
ghostmodeenabled=true/false ghostmodefornotstaff=true/false
Whether all players appear as ghost, or only non-staff players, or nobody. If everybody is ghostmoded, there might be problems with getting on RC as well.
playerlisticons=comma seperated list of statusses
Possible status list, players can select one of them in the player list. There must be a downloadable file plisticonNAME.png available.
profilevars=comma seperated list of profile variables
What is to be displayed in a player's profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin. You can just list them one after another here. You can also put Foo=bar in the list, whereas Foo will be displayed as the name of the profile variable, and bar must be a string variable in the player's account holding the value. If you omit Foo=, then the string variable's name will be displayed. Otherwise, the field name can be suffixed with : so it looks more like key-value pairs in the profile.
startap=number
Players start with that amount of AP.
limitfreeplayers2=true/false
Whether to disable adding of bombs, arrows, explosions for trial accounts
apsystem=true/false
Whether the AP system is enabled. If yes, there are some restrictions for players with low AP regarding regaining of lost playerhearts. I think players below 40 AP cannot heal and respawn with three hearts only.
globalguilds=true/false
Whether global guild tags are allowed. Please enable this, as disabling makes the precious guild system kind of pointless.
aptime0=number aptime1=number aptime2=number aptime3=number aptime4=number
Time it seconds it takes to respawn one point of AP when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200 respectively.
heartlimit=number swordlimit=number
The maximum amount of fullhearts and swordpower that is allowed.
putnpcenabled=true/false
Whether the putnpc command is enabled. I have serious doubts that this option has had any effect since the NPC Server was enabled. putnpc2 works anyway, and putnpc will not work in either case.
enabletranslations=true/false
Whether the translation system is enabled. If yes, signs and text in scripts in #U(text goes here) notation will be saved in a text file where they can be translated into different languages. The files are to be found in the translations/ folder on RC.
translatedlanguages=comma seperated list of languages, like Deutsch,...
The languages for which a translation file shall be loaded by the server. If a file exists, signs and #U() text will be replaced with values from this file.
serverlanguage=language name
The default language of the server. Defaults to English.
sleepwhennoplayers=true/false
Whether the NPC server must execute scripts even when no player is around.
newtilesets=true/false
Whether all levels will use the new tileset layout.
newtilesetlevels=comma seperated list of level names
All levels of which the name starts with one of those strings will use the new tileset layout.
staff=comma seperated list of account names
The accounts in this list will count as staff as if their admin level was > 0. Their mass messages override the option to ignore mass messages, their admin rights will be applied, and if the IP address range matches their actual IP, they may log in to RC. Although it is common practice, it is not suggested to put `comments', such as staff positions in this line. Use seperate lines for that.
gmaps=comma seperated list of gmap files, without .gmap extension
The server will consider and load these as gmaps. This is neccessary for any gmap to work, obviously. As this line might get rather crowded, it is possible to have multiple gmaps= lines, which do not overwrite each other but accumulate names.
weaponorder=comma seperated list of weapon names
Specifies the order in which the weapon scripts will be sent to the client upon connection. This can be used to assure that the inventory script that disables the Q menu will be sent first for example. First, all weapons in this list will be sent in order, then all unlisted weapons.
npcrights=true/false
If set to false, anybody with NC may edit any NPC. If set to true, one needs folder rights to a level to retrieve the local NPC attributes, and folder rights to CLASSES/classname, WEAPONS/weaponname, NPCS/npcname to access each type of script respectively. Wildcards may be used. Note that if you use a slash in a weapon name to make it appear inside the bag when used with the default Q menu, you will need seperate rights for it: rw WEAPONS/* will not let you edit a weapon called Minigames/Ballbounce for example.
dontchangekills=true/false
I dunno. Probably wether PKing people will affect the playerkills variable, but perhaps also whether serverside scripts can do playerkills = 42;.
nickname=freeform string
The NPC Server will use this as its nick name, with (Server) appended.
speedhacktolerance=number
This gives the percentage of data packages that clients may send above the expected over without being logged as trainer users. On Kingdoms, the rather conservative setting of 90 is used. If you set this too low, your server will die.
disconnectifnotmoved=true/false
I have no idea what this is, really.
savelevels=true/false
Setting this to true allows changes to the tiles of levels to be saved to the actual level files, so it is possible to persistently affect the world with scripts. Currently, it does not work with gmaps.
If you find any information that is outdated, inaccurate, or just plain wrong, or know of things I have not mentioned, please let me know. Also, if someone would bother to type up information on how to use the server option for /style customisation, I would appreciate. Although no one really uses /style.