Server options

From Graal Bible

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.

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.

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=float
 syncdistancey=float
 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 Types

 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.

Item Spawn Percentages

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

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.