Server
Server represents all Server controls in the Server side.

.. It's not possible to spawn new instances.Examples​
-- prints "Server started" when the server is starting
Server.Subscribe("Start", function()
Console.Log("Server started")
end)
-- prints "Server stopped" when the server stops / shutdown
Server.Subscribe("Stop", function()
Console.Log("Server stopped")
end)
-- prints the delta time about every 33 ms
Server.Subscribe("Tick", function(delta_time)
Console.Log("Tick: " .. delta_time)
end)
Static Functions​
| Returns | Name | Description | |
|---|---|---|---|
ChangeMap | Restarts the server in a new Map, restarts all packages and reconnects all players | ||
| boolean | LoadPackage | Loads a Package | |
| boolean | ReloadPackage | ||
| boolean | UnloadPackage | Unloads a Package | |
SetDescription | Sets the description of the server, optionally overrides Config.toml | ||
SetLogo | Sets the logo of the server, optionally overrides Config.toml | ||
SetMaxPlayers | Sets the maximum player slots of the server, optionally overrides Config.toml | ||
SetName | Sets the name of the server, optionally overrides Config.toml | ||
SetPassword | Sets the password of the server, optionally overrides Config.toml | ||
SetValue | Sets a global value in the Server, which can be accessed from anywhere (server side) | ||
GetValue | Gets a value given a key | ||
Unban | Unbans a Player by it's account ID | ||
Stop | Stops the server | ||
| function | Subscribe | Subscribes for an Event | |
Unsubscribe | Unsubscribes from all subscribed Events in this Class and in this Package, optionally passing the function to unsubscribe only that callback | ||
| string | GetMap | Returns the current Map Package name | |
| string | GetMapAsset | Returns the current Map Asset reference | |
| table | GetMapConfig | Returns a list of the Custom Config of the current map (stored in the MAP_NAME.toml) | |
| table of table | GetMapSpawnPoints | Returns a list of the Spawn Points of the current map (stored in the MAP_NAME.toml) | |
| table of table | GetPackages | Returns a list of Packages running, optionally returns all Packages installed in the server | |
| string | GetVersion | Returns the server version | |
| string | GetIP | Returns the server Public IP | |
| integer | GetPort | Returns the server Port | |
| integer | GetQueryPort | Returns the server QueryPort | |
| integer | GetMaxPlayers | Returns the Max Players configured | |
| string | GetDescription | Returns the Server Description | |
| table of table | GetCustomSettings | Returns the Server Custom Settings passed as parameter or New Game screen | |
| integer | GetTickRate | Returns the Configured Tick Rate | |
| integer | GetTime | Gets the Unix Epoch Time in milliseconds | |
| boolean | IsAnnounced | Returns if the Server is announced in the Master List |

ChangeMap​
Restarts the server in a new Map, restarts all packages and reconnects all players
Server.ChangeMap(map_path)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | map_path | The new map to load |

LoadPackage​
Loads a Package
— Returns boolean (if the Package was loaded).
local ret = Server.LoadPackage(package_folder_name)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | package_folder_name | The package to load |

ReloadPackage​
Reloads a Package
Note: the package is effectively reloaded in the next server tick
— Returns boolean (if the Package was found).
local ret = Server.ReloadPackage(package_folder_name)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | package_folder_name | The package to reload |

UnloadPackage​
Unloads a Package
Note: the package is effectively unloaded in the next server tick
— Returns boolean (if the Package was found).
local ret = Server.UnloadPackage(package_folder_name)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | package_folder_name | The package you want unload |

SetDescription​
Sets the description of the server, optionally overrides Config.toml
Server.SetDescription(description, persist_to_config_file?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | description | The new description | |
| boolean | persist_to_config_file? | false | Persist to config file |

SetLogo​
Sets the logo of the server, optionally overrides Config.toml
Server.SetLogo(logo_url, persist_to_config_file?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | logo_url | The new logo | |
| boolean | persist_to_config_file? | false | Persist to config file |

SetMaxPlayers​
Sets the maximum player slots of the server, optionally overrides Config.toml
Server.SetMaxPlayers(max_players, persist_to_config_file?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_players | The maximum players | |
| boolean | persist_to_config_file? | false | Persist to config file |

SetName​
Sets the name of the server, optionally overrides Config.toml
Server.SetName(name, persist_to_config_file?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | name | The new name | |
| boolean | persist_to_config_file? | false | Persist to config file |

SetPassword​
Sets the password of the server, optionally overrides Config.toml
Server.SetPassword(password, persist_to_config_file?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | password | The new password | |
| boolean | persist_to_config_file? | false | Persist to config file |

SetValue​
Sets a global value in the Server, which can be accessed from anywhere (server side)
Server.SetValue(key, value, sync_on_client?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | key | Key | |
| any | value | Value | |
| boolean | sync_on_client? | false | If enabled will sync this value through all clients, accessible through Client.GetValue() static class. |

GetValue​
Gets a value given a key
Server.GetValue(key, fallback)

Unban​
Unbans a Player by it's account ID
Server.Unban(account_id)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | account_id | Account ID |

Stop​
Stops the server
Server.Stop()

Subscribe​
Subscribes for an Event
— Returns function (the function callback itself).
local ret = Server.Subscribe(event_name, function)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | The name of the Event | |
| function | function | Callback function |

Unsubscribe​
Unsubscribes from all subscribed Events in this Class and in this Package, optionally passing the function to unsubscribe only that callback
Server.Unsubscribe(event_name, function?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | event_name | The name of the Events | |
| function | function? | nil | Callback function |

GetMap​
Returns the current Map Package name
— Returns string (the current map package).
local ret = Server.GetMap()

GetMapAsset​
Returns the current Map Asset reference
— Returns string (the current map asset).
local ret = Server.GetMapAsset()

GetMapConfig​
Returns a list of the Custom Config of the current map (stored in the MAP_NAME.toml)
— Returns table (a list of the Custom Config of the current map).
local ret = Server.GetMapConfig()

GetMapSpawnPoints​
Returns a list of the Spawn Points of the current map (stored in the MAP_NAME.toml)
— Returns table of table (a list of the Spawn Points of the current map with this format).
local ret = Server.GetMapSpawnPoints()

GetPackages​
Returns a list of Packages running, optionally returns all Packages installed in the server
— Returns table of table (a list of Packages data with this format).
local ret = Server.GetPackages(only_loaded?, package_type_filter?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | only_loaded? | true | Set to true the function return only loaded and running packages. Caution: setting to false will retrieve Packages list from disk, which is a slow operation! |
| PackageType | package_type_filter? | -1 | Which Package type to return. Leave it default (-1) to return all types. |

GetVersion​
Returns the server version
— Returns string (the server version).
local ret = Server.GetVersion()

GetIP​
Returns the server Public IP
— Returns string (the server Public IP).
local ret = Server.GetIP()

GetPort​
Returns the server Port
— Returns integer (the server Port).
local ret = Server.GetPort()

GetQueryPort​
Returns the server QueryPort
— Returns integer (the server QueryPort).
local ret = Server.GetQueryPort()

GetMaxPlayers​
Returns the Max Players configured
— Returns integer (the max players configured).
local ret = Server.GetMaxPlayers()

GetDescription​
Returns the Server Description
— Returns string (the Server Description).
local ret = Server.GetDescription()

GetCustomSettings​
Returns the Server Custom Settings passed as parameter or New Game screen
— Returns table of table (a list of the Custom Settings with this format).
local ret = Server.GetCustomSettings()

GetTickRate​
Returns the Configured Tick Rate
— Returns integer (the server Tick Rate).
local ret = Server.GetTickRate()

GetTime​
Gets the Unix Epoch Time in milliseconds
— Returns integer (the unix timestamp).
local ret = Server.GetTime()

IsAnnounced​
Returns if the Server is announced in the Master List
— Returns boolean (if the Server is announced in the Master List).
local ret = Server.IsAnnounced()
Events​
| Name | Description | |
|---|---|---|
Start | Server has been started | |
PlayerConnect | Called when a player is attempting to connect to the server | |
Stop | Server has been stopped | |
Tick | Triggered every 33ms by default |

Start​
Server has been started
Server.Subscribe("Start", function()
-- Start was called
end)

PlayerConnect​
Called when a player is attempting to connect to the server
Return false to do not allow the player to connect
Server.Subscribe("PlayerConnect", function(IP, player_account_ID, player_name, player_steam_ID)
-- PlayerConnect was called
end)
| Type | Argument | Description |
|---|---|---|
| string | IP | IP of the player |
| string | player_account_ID | Account ID of the player |
| string | player_name | Player name |
| string | player_steam_ID | SteamID of the player |

Stop​
Server has been stopped
Server.Subscribe("Stop", function()
-- Stop was called
end)

Tick​
Triggered every 33ms by default
Caution: Only small operations should be performed here, otherwise this can lead to server lag and delays
Server.Subscribe("Tick", function(delta_time)
-- Tick was called
end)
| Type | Argument | Description |
|---|---|---|
| float | delta_time |