Server options: Difference between revisions

From Graal Bible
(A full writeup of all the server options and what they do.)
 
No edit summary
 
(92 intermediate revisions by 27 users not shown)
Line 1: Line 1:
Server options are a bunch of key=value pairs that allow you to customize the non-scriptable behaviour of the server.
[[Category:Administration]]
The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].


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.
== Usage ==
 
Options are usually set only by high [[Playerworld]] staff, preferably only the [[Playerworld]] owner, as they are very powerful and can be abused easily.
 
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.


Lines beginning with # are not parsed, and can be used for comments.
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.
A full list of server options commands can be found [http://forums.graalonline.com/forums/showthread.php?t=134269912 here].
----
 
startlevel=level name
== Known Server Options ==
startx=number
 
starty=number
Please add new options if you discover them.
 
=== Start location ===
  startlevel=level name
  startx=number
  starty=number
 
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].
 
=== Unstick me location ===
  unstickmelevel=level name
  unstickmex=number
  unstickmey=number
 
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.
 
=== Unstick Time ===
  unstickmetime=number
 
This option sets the amount of time a player has to be idle before they can use the unstick me command.
 
=== Protected Weapons ===
  protectedweapons=list of comma seperated weapon names
 
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.
 
=== Jail Levels ===
  jaillevels=level names comma separated
 
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.
, ,
 
=== Explosion Restriction ===
  noexplosions=true/false
 
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].
 
=== Statistic Restriction ===
  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 commands|appearance]] are enabled. Defaults to true.
 
=== Gralat Loss Options ===
  mindeathgralats=number
  maxdeathgralats=number
 
Defines the amount of [[Gralat]]s that the player drops on death.
 
=== Staff Gralat Restriction ===
  normaladminscanchangegralats=true/false
 
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.
 
=== Local 'Staff Guilds' ===
  staffguilds=comma seperated list of guild names
 
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.
 
=== `Bush' Items ===
  bushitems=true/false


These define the default position of players that have not been online before. They default to onlinestartlocal.graal, 30.5, 30 I belive.
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].
----
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.
=== `Baddy' Items ===
----
  baddyitems=true/false
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.
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.
----
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.
=== `Healing' Swords ===
----
  healswords=true/false
noexplosions=true/false


Blocks explosions caused by the client.
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.
----
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.
=== Non-script timeouts ===
----
  respawntime=number
mindeathgralats=number
  horselifetime=number
maxdeathgralats=number
  baddyrespawntime=number


Defines the range of gralats that the player drops on death.
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]
----
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.
=== Server Scripting Flags ===
----
  dontaddserverflags=true/false
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.
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.
----
bushitems=true/false


Whether bushes drop items. This is disabled on gmaps either way.
=== Server Maps ===
----
  bigmap=maptext,mapimage,defaultx,defaulty
baddyitems=true/false
  minimap=maptext,mapimage,defaultx,defaulty


Whether killed baddies drop items. Note that default baddies are deprecated and should not be used at all.
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.
----
healswords=true/false


Whether it is possible to have a negative sword power and thus heal people that are hit.
=== Warping (All Players) ===
----
  warptoforall=true/false
respawntime=number
  warptoforlowadmins=true/false
horselifetime=number
baddyrespawntime=number


Time in second until these default things respawn. The first number applies to bushes.
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.
----
dontaddserverflags=true/false


Whether scripts can add new server flags or only modify existing ones.
=== Warping Activation ===
----
  warpto=false/true
bigmap=maptext,mapimage,defaultx,defaulty
  ignorewarpto=true/false
minimap=maptext,mapimage,defaultx,defaulty


Default maps, syntax is like setmap and setminimap script commands.
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.
----
warptoforall=true/false


Whether everybody can use the warpto chat command.
Note that warpto=false will show a "(warping is disabled)" error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message.  
----
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.
The latter is good for replacing the default [[Warpto]] command with a scripted version.
----
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.
=== Ghost Mode ===
----
  ghostmodeenabled=true/false
playerlisticons=comma seperated list of statusses
  ghostmodefornotstaff=true/false


Possible status list, players can select one of them in the player list. There must be a downloadable file plisticonNAME.png available.
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.
----
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.
=== Playerlist Icons ===
----
  playerlisticons=comma seperated list of statusses
startap=number


Players start with that amount of AP.
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].
----
limitfreeplayers2=true/false


Whether to disable adding of bombs, arrows, explosions for trial accounts
=== Profile Variables ===
----
  profilevars=comma seperated list of profile variables
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.
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.
----
globalguilds=true/false


Whether global guild tags are allowed. Please enable this, as disabling makes the precious guild system kind of pointless.
=== Trial Account Limits ===
----
  limitfreeplayers2=true/false
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.
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.
----
 
heartlimit=number
=== AP System Activation ===
swordlimit=number
  apsystem=true/false
 
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.
 
=== Starting AP ===
  startap=number
 
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].
 
=== Global Guilds Activation ===
  globalguilds=true/false
 
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.
 
  allowedglobalguilds=guild,guild,guild
 
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.
 
=== AP Timeouts ===
  aptime0=number
  aptime1=number
  aptime2=number
  aptime3=number
  aptime4=number
 
Time (in seconds) it takes to recharge 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.
 
=== Heart/Sword Limits ===
  heartlimit=number
  swordlimit=number


The maximum amount of fullhearts and swordpower that is allowed.
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.
=== 'putnpc' Scripting Command ===
----
  putnpcenabled=true/false
enabletranslations=true/false
 
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])
 
=== Language Selection ===
  translatedlanguages=comma seperated list of language domains, like de,...
 
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.
 
=== Server Language ===
  serverlanguage=language domain
 
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.
 
=== Default Language ===
  defaultlanguage=language domain
 
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.
 
=== NPC-Server 'Sleep' ===
  sleepwhennoplayers=true/false
 
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.
 
=== Tilesets ===
  newtilesets=true/false
  newtilesetlevels=comma seperated list of levels
 
Whether all [[level]]s will use the new [[tileset]] layout, or a match list of levels that shall. This will influence collision behavior (onwall script function, serverside [[Creation/Dev/Script/Client/TProjectile|projectile]] hit detection, etc.) on server-side only.
 
You can specify just the start of the level name if you want to include a lot of levels at once (newtilesetlevels=myquest will switch on new tileset onwall behavior on server-side for myquest1.nw, myquest2.nw etc.).
 
=== Staff ===
  staff=comma separated list of account names or community names
 
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was > 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.
 
=== GMAP List ===
  gmaps=comma seperated list of gmap files, without .gmap extension
 
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.
 
=== Weapon Order ===
  weaponorder=comma seperated list of weapon names
 
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure 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.
 
=== NPC-Control Rights ===
  npcrights=true/false
 
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.
 
=== Kill Count ===
  dontchangekills=true/false
 
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].
 
=== NPC-Server Nickname ===
  nickname=string
 
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.
 
=== Speedhack Tolerance ===
  speedhacktolerance=number
 
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.
 
=== Idle Disconnect ===
  disconnectifnotmoved=true/false
 
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).
 
=== Save Levels ===
  savelevels=true/false
 
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.
 
  savelevelsmessage=true/false
 
Specifies if saving of levels should be reported on the RC chat (by default enabled).
 
=== Only Staff ===
  onlystaff=false
 
=== Log script function calls ===
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc
 
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You
can get a list of available functons / actions by typing ''/listscriptlogfunctions''
on RC chat. Currently only important or exploitable things can be logged. Keep care
to delete the logs from time to time.
 
=== Log script errors to file ===
  logscripterrorstofile=true/false
 
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.
 
=== Level Auto-Save ===
  levelsautosave=true/false
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.
 
=== Sending Player Attributes ===
  sendtoallattr=comma seperated list of attribute numbers
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.


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.
=== Optimized NPC Storage ===
----
  newnpcstorage=true/false
translatedlanguages=comma seperated list of languages, like Deutsch,...
Whether or not to use the optimized storage for NPCs placed via putnpc2.
If this option is set, NPCs with this.savelocally = true; will use the optimized NPC storage.  This is recommended for NPCs that do not need to be loaded when the server is started up or do not need to be sitting in memory all of the time.


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.
=== DBNPCs Protection ===
----
  protectdbnpcs=true/false
serverlanguage=language name
Whether or not NPCs displayed in the NPC list in RC should be protected from being destroy()ed. Default is "true". This option has been added because they were previously not protected and some servers might prefer to be able to destroy them by script. This option doesn't affect NPCs created with the script command putnpc2() which are are still destroy()able.


The default language of the server. Defaults to English.
=== Send NPC output to RCs ===
----
  sendechotorc=true/false
sleepwhennoplayers=true/false
Sends output of NPCs (echo() command) to everyone instead of only to people with NPC rights.


Whether the NPC server must execute scripts even when no player is around.
=== SQLite Databases ===
----
  database=dbname,dbfile[,dbname2,dbfile2[,etc.]]
newtilesets=true/false
Allows several SQLite database files to be opened or closed with specified names and filenames for use the the requestsql2 function.
Source: http://forums.graalonline.com/forums/showpost.php?p=1557272&postcount=17


Whether all levels will use the new tileset layout.
=== Player Syncing ===
----
  syncdistancex=number
newtilesetlevels=comma seperated list of level names
  syncdistancey=number
  syncbydistanceinside=true/false
Define the radius (in tiles) at which players are synced to the screen. This is used for GMAPs to reduce players from being drawn outside of the specified radius. By default, it is being drawn at 192x192.


All levels of which the name starts with one of those strings will use the new tileset layout.
=== Default Logging ===
----
  disablegralatlog=true/false
staff=comma seperated list of account names
Toggles whether or not the default gralat log will be used when a player picks up a gralat on the server.


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.
=== Player Z Axis ===
----
  lockplayerz=true/false
gmaps=comma seperated list of gmap files, without .gmap extension
Disables player's z-axis on the server. Locks player.z to undefined and does not allow any type of alteration. Any value of z outside of |-50, 170| is considered undefined.


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.
=== Hideplayer ===
----
  nohidewithoutbush=true/false
weaponorder=comma seperated list of weapon names
Script command hideplayer(float) will no longer be working unless the player is under a bush.


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.
=== Player Triggers ===
----
  sendplayertriggers=true/false
npcrights=true/false
Prevents triggeraction from triggering other players. By default on server triggers and mouse clicks, they are being processed by the server first, otherwise being processed by the player.


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.
=== Item Drops ===
----
  bushitemtypes=list
dontchangekills=true/false
  deathitemtypes=list
Examples for list are (greenrupee,bluerupee,goldrupee,darts,bombs,heart,etc).
These will define which items will be dropped from the specified event.  
  itemdropevents=true/false
When itemdropevents is enabled, each time an item is dropped (like heart, goldrupee, etc) it will send the event to Control-NPC as onItemDrop(level,x,y,itemname).


I dunno. Probably wether PKing people will affect the playerkills variable, but perhaps also whether serverside scripts can do playerkills = 42;.
=== Item Spawn Percentages ===
----
  spawnrategreenrupee=number
nickname=freeform string
  spawnratebluerupee=number
  spawnrategoldrupee=number
  spawnrateheart=number
  spawnratebombs=number
  spawnratedarts=number
  spawnrate...=number
The value of these options are from 0 to 100, being a percentage at which the specified item will drop from a bush or death.


The NPC Server will use this as its nick name, with (Server) appended.
=== Horses ===
----
  puthorseenabled=true/false
speedhacktolerance=number
This option allows or pevents script command puthorse() from being executed on the server.


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.
=== RC Mass PM ===
----
  rcofftagoverridesignore=true/false
disconnectifnotmoved=true/false
this option allows or prevents RC-Masses to override "ignore masses" when the Admin sending the Mass from RC is off-Staff Tag


I have no idea what this is, really.
=== Putbomb Filter ===
----
  putbombenabled=true/false
savelevels=true/false
  bomballowedtypes=all or comma separated text of bomb power (e.g. 1,2,3)
  bombfilterlog=true/false - logs to logs/bombfilter.txt


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.
=== Showimg/Ani Filter ===
----
  showimgstypes=all or ani,img,text
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.
  showimgsallowedganis=all or comma separated ganis (e.g. idle,walk,sit)
  showimgsallowedimages=all or comma separated images (e.g. block.png,block2.png)
  showimgsfilterlog=true - logs to logs/showimgsfilter.txt

Latest revision as of 09:56, 25 March 2015

The server options are a collection of key=value configuration options that allow you to customize the non-scriptable behaviour of an individual Playerworld.

Usage

Options are usually set only by high Playerworld staff, preferably only the Playerworld owner, as they are very powerful and can be abused easily.

When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.

Lines beginning with # are not parsed, and can be used for comments.

A full list of server options commands can be found here.

Known Server Options

Please add new options if you discover them.

Start location

 startlevel=level name
 startx=number
 starty=number

This sets the originating location for all Players which do not have location statistics of their own saved locally.

Unstick me location

 unstickmelevel=level name
 unstickmex=number
 unstickmey=number

These define the position that a Player is warped to after using the Unstick me command.

Unstick Time

 unstickmetime=number

This option sets the amount of time a player has to be idle before they can use the unstick me command.

Protected Weapons

 protectedweapons=list of comma seperated weapon names

NPC weapons that cannot be deleted by the Player. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the Clientside using the destroy command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the Serverside part will remain and the player obtains them again on the next connect.

Jail Levels

 jaillevels=level names comma separated

Non-staff players in these levels will not be able to leave them. A Serverside setlevel2 or warping with RC is neccessary. Also, they can send PMs only to RC clients and not regular Clients. , ,

Explosion Restriction

 noexplosions=true/false

Disables the result of putexplosion, and `explosive' NPC weapons.

Statistic Restriction

 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.

Gralat Loss Options

 mindeathgralats=number
 maxdeathgralats=number

Defines the amount of Gralats that the player drops on death.

Staff Gralat Restriction

 normaladminscanchangegralats=true/false

Whether normal RCs can change the gralat count of a player. `Normal' used to be defined as `below Adminlevel 4', but nowadays is probably regulated by certain high-level Admin rights.

Local 'Staff Guilds'

 staffguilds=comma seperated list of guild names

Matches to these Guild names appear in the `Staff' section of the playerlist.

`Bush' Items

 bushitems=true/false

Selects whether Bushes contain Items. May not work on a GMap.

`Baddy' Items

 baddyitems=true/false

Selects whether baddies drop Items once killed.

`Healing' Swords

 healswords=true/false

Selects whether is possible to have a negative Sword power and thus add Hearts to those hit by the sword.

Non-script timeouts

 respawntime=number
 horselifetime=number
 baddyrespawntime=number

Timeout in seconds for respawn times for Bushes, Horses and Baddies

Server Scripting Flags

 dontaddserverflags=true/false

Selects whether scripts can add new Server flags or only modify existing ones.

Server Maps

 bigmap=maptext,mapimage,defaultx,defaulty
 minimap=maptext,mapimage,defaultx,defaulty

Default serverwide Maps. Syntax resembles setmap and setminimap GScript commands.

Warping (All Players)

 warptoforall=true/false
 warptoforlowadmins=true/false

Whether all Players can use the Warpto command, and whether Global Admin level 1 allows warpto.

Warping Activation

 warpto=false/true
 ignorewarpto=true/false

Allows or disallows the default Warpto command for all staff, including Globals. This is normally enabled.

Note that warpto=false will show a "(warping is disabled)" error message to Player, whereas ignorewarpto=true will treat Warpto commands as just normal chat text and display no error message.

The latter is good for replacing the default Warpto command with a scripted version.

Ghost Mode

 ghostmodeenabled=true/false
 ghostmodefornotstaff=true/false

Selects whether all Players appear as Ghost, or only non-staff players, or nobody.

Playerlist Icons

 playerlisticons=comma seperated list of statusses

Possible status list, Players can select one of them in the Players list. There must be a Downloadable file plisticonNAME.png available in a folder specified as `file' in Folder configuration.

Profile Variables

 profilevars=comma seperated list of profile variables

Selects what is to be displayed in a Player's profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after Old GScript. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.

Trial Account Limits

 limitfreeplayers2=true/false

Selects whether to disable adding of Bombs, Arrows, and Explosions for Trial accounts.

AP System Activation

 apsystem=true/false

Whether the AP system is enabled. If yes, there are some restrictions for Players with low AP regarding hearts.

Starting AP

 startap=number

How much AP Players are given upon first login to this Playerworld.

Global Guilds Activation

 globalguilds=true/false

Allows or disallows Guild from the Global database. This is normally enabled.

 allowedglobalguilds=guild,guild,guild

This option limits what guilds can be used from the Global Guilds database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.

AP Timeouts

 aptime0=number
 aptime1=number
 aptime2=number
 aptime3=number
 aptime4=number

Time (in seconds) it takes to recharge 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.

Heart/Sword Limits

 heartlimit=number
 swordlimit=number

The maximum amount of fullhearts and swordpower that is allowed.

'putnpc' Scripting Command

 putnpcenabled=true/false

Whether the putnpc command is enabled. (Mostly Deprecated)

Language Selection

 translatedlanguages=comma seperated list of language domains, like de,...

The languages of which a translation file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See Graal v5 release notes for more.

Server Language

 serverlanguage=language domain

The default language of the Playerworld. Defaults to English.

Default Language

 defaultlanguage=language domain

The default language of the Playerworld. Defaults to English. Players see text in this language if their language is not in translatedlanguages.

NPC-Server 'Sleep'

 sleepwhennoplayers=true/false

Whether the NPC Server must execute scripts even when no Player is around.

Tilesets

 newtilesets=true/false
 newtilesetlevels=comma seperated list of levels

Whether all levels will use the new tileset layout, or a match list of levels that shall. This will influence collision behavior (onwall script function, serverside projectile hit detection, etc.) on server-side only.

You can specify just the start of the level name if you want to include a lot of levels at once (newtilesetlevels=myquest will switch on new tileset onwall behavior on server-side for myquest1.nw, myquest2.nw etc.).

Staff

 staff=comma separated list of account names or community names

The Accounts in this list will count as Playerworld 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 their IP address range matches their actual IP address, they may log in to RC. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.

GMAP List

 gmaps=comma seperated list of gmap files, without .gmap extension

The server will attempt to load these as GMaps. As this line might get rather crowded, it is possible to have multiple gmaps= lines.

Weapon Order

 weaponorder=comma seperated list of weapon names

Specifies the order in which the NPC weapon scripts will be sent to the client upon connection. This can be used to ensure 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.

NPC-Control Rights

 npcrights=true/false

Whether NC rights are active. For security reasons, it is strongly recommended to set this to true.

Kill Count

 dontchangekills=true/false

Selects whether the variables 'playerkills' and 'playerdeaths' can be changed serverside via GScript.

NPC-Server Nickname

 nickname=string

The NPC Server will use this as its Nick name, with (Server) appended. Ignores all Guild tags.

Speedhack Tolerance

 speedhacktolerance=number

This gives the percentage of data packages that clients may send above the expected over without being logged as Trainer users. On Graal Kingdoms, the rather conservative setting of 90 is used. If you set this too low, your server will crash.

Idle Disconnect

 disconnectifnotmoved=true/false

Selects whether Idle Players are automatically disconnected. (Possibly deprecated).

Save Levels

 savelevels=true/false

Setting this to true allows changes to the Tiles of Levels to be saved to the actual level files from scripting commands, so it is possible to persistently change the levels.

 savelevelsmessage=true/false

Specifies if saving of levels should be reported on the RC chat (by default enabled).

Only Staff

 onlystaff=false

Log script function calls

 scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc

This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You can get a list of available functons / actions by typing /listscriptlogfunctions on RC chat. Currently only important or exploitable things can be logged. Keep care to delete the logs from time to time.

Log script errors to file

 logscripterrorstofile=true/false

When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.

Level Auto-Save

 levelsautosave=true/false

Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.

Sending Player Attributes

 sendtoallattr=comma seperated list of attribute numbers

Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).

  • Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.
  • When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.

Optimized NPC Storage

 newnpcstorage=true/false

Whether or not to use the optimized storage for NPCs placed via putnpc2. If this option is set, NPCs with this.savelocally = true; will use the optimized NPC storage. This is recommended for NPCs that do not need to be loaded when the server is started up or do not need to be sitting in memory all of the time.

DBNPCs Protection

 protectdbnpcs=true/false

Whether or not NPCs displayed in the NPC list in RC should be protected from being destroy()ed. Default is "true". This option has been added because they were previously not protected and some servers might prefer to be able to destroy them by script. This option doesn't affect NPCs created with the script command putnpc2() which are are still destroy()able.

Send NPC output to RCs

 sendechotorc=true/false

Sends output of NPCs (echo() command) to everyone instead of only to people with NPC rights.

SQLite Databases

 database=dbname,dbfile[,dbname2,dbfile2[,etc.]]

Allows several SQLite database files to be opened or closed with specified names and filenames for use the the requestsql2 function. Source: http://forums.graalonline.com/forums/showpost.php?p=1557272&postcount=17

Player Syncing

 syncdistancex=number
 syncdistancey=number
 syncbydistanceinside=true/false

Define the radius (in tiles) at which players are synced to the screen. This is used for GMAPs to reduce players from being drawn outside of the specified radius. By default, it is being drawn at 192x192.

Default Logging

 disablegralatlog=true/false

Toggles whether or not the default gralat log will be used when a player picks up a gralat on the server.

Player Z Axis

 lockplayerz=true/false

Disables player's z-axis on the server. Locks player.z to undefined and does not allow any type of alteration. Any value of z outside of |-50, 170| is considered undefined.

Hideplayer

 nohidewithoutbush=true/false

Script command hideplayer(float) will no longer be working unless the player is under a bush.

Player Triggers

 sendplayertriggers=true/false

Prevents triggeraction from triggering other players. By default on server triggers and mouse clicks, they are being processed by the server first, otherwise being processed by the player.

Item Drops

 bushitemtypes=list
 deathitemtypes=list

Examples for list are (greenrupee,bluerupee,goldrupee,darts,bombs,heart,etc). These will define which items will be dropped from the specified event.

 itemdropevents=true/false

When itemdropevents is enabled, each time an item is dropped (like heart, goldrupee, etc) it will send the event to Control-NPC as onItemDrop(level,x,y,itemname).

Item Spawn Percentages

 spawnrategreenrupee=number
 spawnratebluerupee=number
 spawnrategoldrupee=number
 spawnrateheart=number
 spawnratebombs=number
 spawnratedarts=number
 spawnrate...=number

The value of these options are from 0 to 100, being a percentage at which the specified item will drop from a bush or death.

Horses

 puthorseenabled=true/false

This option allows or pevents script command puthorse() from being executed on the server.

RC Mass PM

 rcofftagoverridesignore=true/false

this option allows or prevents RC-Masses to override "ignore masses" when the Admin sending the Mass from RC is off-Staff Tag

Putbomb Filter

 putbombenabled=true/false
 bomballowedtypes=all or comma separated text of bomb power (e.g. 1,2,3)
 bombfilterlog=true/false - logs to logs/bombfilter.txt

Showimg/Ani Filter

 showimgstypes=all or ani,img,text
 showimgsallowedganis=all or comma separated ganis (e.g. idle,walk,sit)
 showimgsallowedimages=all or comma separated images (e.g. block.png,block2.png)
 showimgsfilterlog=true - logs to logs/showimgsfilter.txt