Server options: Difference between revisions

From Graal Bible
No edit summary
No edit summary
 
(67 intermediate revisions by 17 users not shown)
Line 1: Line 1:
[[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]].
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]].


== Usage ==
== 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.
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.
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.
A full list of server options commands can be found [http://forums.graalonline.com/forums/showthread.php?t=134269912 here].


== Known Server Options ==
== Known Server Options ==
Line 26: Line 29:


These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.
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 ===
=== Protected Weapons ===
Line 66: Line 74:
   staffguilds=comma seperated list of guild names
   staffguilds=comma seperated list of guild names


Matches to these [[Guild]] names appear in the `Staff' section of the playerlist ([[Delphi client]] only for now)
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.


=== `Bush' Items ===
=== `Bush' Items ===
Line 116: Line 124:


The latter is good for replacing the default [[Warpto]] command with a scripted version.
The latter is good for replacing the default [[Warpto]] command with a scripted version.
(History fact: Requested by [[Ibonic]] and implemented on Sept. 14, 2005.)


=== Ghost Mode ===
=== Ghost Mode ===
Line 155: Line 161:
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.


   globalguildsallowed=guild,guild,guild
   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.
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.
Line 178: Line 184:


Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])
=== Translation ===
  enabletranslations=true/false
Selects whether the [[Translation system]] is enabled.
(TODO: Move this to the aforelinked article, or gscript articles:) If yes, signs and text in [[GScript|scripts]] in #U(text goes here) form 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]].


=== Language Selection ===
=== Language Selection ===
   translatedlanguages=comma seperated list of languages, like Deutsch,...
   translatedlanguages=comma seperated list of language domains, like de,...


The languages of which a [[Translation system|translation]] file shall be loaded by the server. (TODO: See above:) If a file exists, signs and #U() text will be replaced with values from this file.
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 ===
=== Server Language ===
   serverlanguage=language name
   serverlanguage=language domain


The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.
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' ===
=== NPC-Server 'Sleep' ===
Line 204: Line 209:
   newtilesetlevels=comma seperated list of levels
   newtilesetlevels=comma seperated list of levels


Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.
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 ===
   staff=comma seperated list of account names
   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 [[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 ===
=== GMAP List ===
Line 249: Line 256:
   savelevels=true/false
   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. Currently, this does not work with [[GMap]]s.
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.
 
=== 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


=== Staff Only ===
=== Putbomb Filter ===
   staffonly=true/false
   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


Setting this to true allows only staff of the server to log on.
=== 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

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