Skip to main content

Server

Server represents all Server controls in the Server side.


🗿Static Class
This is a Static Class. Access it's methods directly with .. It's not possible to spawn new instances.
💂Authority
This static class can be accessed only on 🟦 Server side.

Examples

Server/Index.lua
-- 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

ReturnsNameDescription
ChangeMapRestarts the server in a new Map, restarts all packages and reconnects all players
booleanLoadPackageLoads a Package
booleanReloadPackage
booleanUnloadPackageUnloads a Package
SetDescriptionSets the description of the server, optionally overrides Config.toml
SetLogoSets the logo of the server, optionally overrides Config.toml
SetMaxPlayersSets the maximum player slots of the server, optionally overrides Config.toml
SetNameSets the name of the server, optionally overrides Config.toml
SetPasswordSets the password of the server, optionally overrides Config.toml
SetValueSets a global value in the Server, which can be accessed from anywhere (server side)
GetValueGets a value given a key
UnbanUnbans a Player by it's account ID
StopStops the server
functionSubscribeSubscribes for an Event
UnsubscribeUnsubscribes from all subscribed Events in this Class and in this Package, optionally passing the function to unsubscribe only that callback
stringGetMapReturns the current Map Package name
stringGetMapAssetReturns the current Map Asset reference
tableGetMapConfigReturns a list of the Custom Config of the current map (stored in the MAP_NAME.toml)
table of tableGetMapSpawnPointsReturns a list of the Spawn Points of the current map (stored in the MAP_NAME.toml)
table of tableGetPackagesReturns a list of Packages running, optionally returns all Packages installed in the server
stringGetVersionReturns the server version
stringGetIPReturns the server Public IP
integerGetPortReturns the server Port
integerGetQueryPortReturns the server QueryPort
integerGetMaxPlayersReturns the Max Players configured
stringGetDescriptionReturns the Server Description
table of tableGetCustomSettingsReturns the Server Custom Settings passed as parameter or New Game screen
integerGetTickRateReturns the Configured Tick Rate
integerGetTimeGets the Unix Epoch Time in milliseconds
booleanIsAnnouncedReturns 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)
TypeParameterDefaultDescription
stringmap_pathThe new map to load

LoadPackage

Loads a Package

— Returns boolean (if the Package was loaded).

local ret = Server.LoadPackage(package_folder_name)
TypeParameterDefaultDescription
stringpackage_folder_nameThe 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)
TypeParameterDefaultDescription
stringpackage_folder_nameThe 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)
TypeParameterDefaultDescription
stringpackage_folder_nameThe package you want unload

SetDescription

Sets the description of the server, optionally overrides Config.toml

Server.SetDescription(description, persist_to_config_file?)
TypeParameterDefaultDescription
stringdescriptionThe new description
booleanpersist_to_config_file?falsePersist to config file

Sets the logo of the server, optionally overrides Config.toml

Server.SetLogo(logo_url, persist_to_config_file?)
TypeParameterDefaultDescription
stringlogo_urlThe new logo
booleanpersist_to_config_file?falsePersist to config file

SetMaxPlayers

Sets the maximum player slots of the server, optionally overrides Config.toml

Server.SetMaxPlayers(max_players, persist_to_config_file?)
TypeParameterDefaultDescription
integermax_playersThe maximum players
booleanpersist_to_config_file?falsePersist to config file

SetName

Sets the name of the server, optionally overrides Config.toml

Server.SetName(name, persist_to_config_file?)
TypeParameterDefaultDescription
stringnameThe new name
booleanpersist_to_config_file?falsePersist to config file

SetPassword

Sets the password of the server, optionally overrides Config.toml

Server.SetPassword(password, persist_to_config_file?)
TypeParameterDefaultDescription
stringpasswordThe new password
booleanpersist_to_config_file?falsePersist 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?)
TypeParameterDefaultDescription
stringkeyKey
anyvalueValue
booleansync_on_client?falseIf 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)
TypeParameterDefaultDescription
stringkeyKey
anyfallbackFallback Value if key doesn't exist

Unban

Unbans a Player by it's account ID

Server.Unban(account_id)
TypeParameterDefaultDescription
stringaccount_idAccount 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)
TypeParameterDefaultDescription
stringevent_nameThe name of the Event
functionfunctionCallback 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?)
TypeParameterDefaultDescription
stringevent_nameThe name of the Events
functionfunction?nilCallback 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?)
TypeParameterDefaultDescription
booleanonly_loaded?trueSet 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!
PackageTypepackage_type_filter?-1Which 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

NameDescription
StartServer has been started
PlayerConnectCalled when a player is attempting to connect to the server
StopServer has been stopped
TickTriggered 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)
TypeArgumentDescription
stringIPIP of the player
stringplayer_account_IDAccount ID of the player
stringplayer_namePlayer name
stringplayer_steam_IDSteamID 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)
TypeArgumentDescription
floatdelta_time