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