diff --git a/the-forest.kvp b/the-forest.kvp index 94e2d2e..a781d01 100644 --- a/the-forest.kvp +++ b/the-forest.kvp @@ -1,35 +1,87 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=27015 -App.ApplicationPort2=8766 -App.ApplicationPort3=27016 -App.ApplicationReadyMode=Immediate -App.BaseDirectory=./the-forest/556450/ -App.LinuxCommandLineArgs=run {{$ExecutableWin}} -App.CommandLineArgs={{$PlatformArgs}}-showlogs -batchmode -configfilepath server.cfg -savefolderpath saves -serverip {{$ApplicationIPBinding}} -servergameport {{$ApplicationPort1}} -serversteamport {{$ApplicationPort2}} -serverqueryport {{$ApplicationPort3}} -serverplayers {{$MaxUsers}} {{$FormattedArgs}} -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" -App.DisplayName=The Forest -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "242760", "STEAM_COMPAT_DATA_PATH": "{{$FullRootDir}}1580130", "STEAM_COMPAT_CLIENT_INSTALL_PATH": "{{$FullRootDir}}1580130"} -App.ExecutableLinux=1580130/proton -App.ExecutableWin=556450\TheForestDedicatedServer.exe -App.ExitMethod=OS_CLOSE -App.HasReadableConsole=true -App.HasWritableConsole=false -App.RapidStartup=false -App.RootDir=./the-forest/ -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "ForceDownloadPlatform": "Windows"}, {"UpdateStageName": "Proton Compatibility Layer", "UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData":"1580130"}] -App.WorkingDir=556450 -Console.AppReadyRegex=^Server is ready.$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^(?.+?): (?.+)$ -Console.UserJoinRegex=^User (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ -Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ -Meta.Author=CubeCoders Limited -Meta.ConfigManifest=the-forestconfig.json -Meta.ConfigRoot=the-forest.kvp -Meta.Description= -Meta.DisplayImageSource=steam:242760 Meta.DisplayName=The Forest -Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort3} -Meta.OS=1 -Meta.URL=https://store.steampowered.com/app/242760/The_Forest/ \ No newline at end of file +Meta.Description=The Forest Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=CubeCoders Limited, IceOfWraith +Meta.URL=https://store.steampowered.com/app/242760/The_Forest/ +Meta.DisplayImageSource=steam:242760 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort} +Meta.ConfigManifest=the-forestconfig.json +Meta.MetaConfigManifest=the-forestmetaconfig.json +Meta.ConfigRoot=the-forest.kvp +Meta.MinAMPVersion=2.3.4.3 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=The Forest +App.RootDir=./the-forest/ +App.BaseDirectory=./the-forest/556450/ +App.ExecutableWin=556450\TheForestDedicatedServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=556450 +App.LinuxCommandLineArgs=-a wine "./TheForestDedicatedServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -showlogs -batchmode -configfilepath the-forestserver.cfg -savefolderpath saves {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=app_exit.lck +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":2,"Port":27015,"Offset":0,"Range":1,"Ref":"gamePort","Name":"Game Main Port","Description":"Game Main Port","ChildPorts":null},{"Protocol":2,"Port":8766,"Offset":0,"Range":1,"Ref":"steamPort","Name":"Steam Main Port","Description":"Steam Main Port","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"queryPort","Name":"Steam Query Port","Description":"Steam Query Port","ChildPorts":null}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=gamePort +App.UniversalSleepApplicationUDPPortRef=gamePort +App.UniversalSleepSteamQueryPortRef=queryPort +App.MaxUsers=4 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=3000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^GameServer init success.*$ +Console.UserJoinRegex= +Console.UserLeaveRegex= +Console.UserChatRegex= +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/the-forestconfig.json b/the-forestconfig.json index 755c26c..24507e6 100644 --- a/the-forestconfig.json +++ b/the-forestconfig.json @@ -1,150 +1,382 @@ [ { - "DisplayName": "Server Admin Password", - "Category": "Server Config", - "Description": "", + "DisplayName": "serverIP", + "Category": "Forest - Server Config", + "Description": "serverIP is the binding IP", "Keywords": "", - "FieldName": "serverpassword_admin", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverIP", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverSteamPort", + "Category": "Forest - Server Config", + "Description": "serverSteamPort is the main Steam port", + "Keywords": "", + "FieldName": "$steamPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverSteamPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverGamePort", + "Category": "Forest - Server Config", + "Description": "serverGamePort is the main game port", + "Keywords": "", + "FieldName": "$gamePort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverGamePort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverQueryPort", + "Category": "Forest - Server Config", + "Description": "serverQueryPort is Steam's query port", + "Keywords": "", + "FieldName": "$queryPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverQueryPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Server Name", + "Category": "Forest - Server Config", + "Description": "Server display name.", + "Keywords": "server,Name", + "FieldName": "serverName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Forest Server", + "Placeholder": "AMP Forest Server", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "Forest - Server Config", + "Description": "Maximum number of players.", + "Keywords": "server,Players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "4", + "Placeholder": "4", + "Suffix": "Players", + "EnumValues": {} + }, + { + "DisplayName": "Server Password", + "Category": "Forest - Server Config", + "Description": "Server password. Blank means no password.", + "Keywords": "server,password", + "FieldName": "serverPassword", "InputType": "password", "IsFlagArgument": false, - "ParamFieldName": "serverpassword_admin", - "IncludeInCommandLine": true, + "ParamFieldName": "serverPassword", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Admin Password", + "Category": "Forest - Server Config", + "Description": "Server administration password. Blank means no password.", + "Keywords": "server,admin,password", + "FieldName": "serverPasswordAdmin", + "InputType": "RandomPassword", + "IsFlagArgument": false, + "ParamFieldName": "serverPasswordAdmin", + "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues": {} }, { "DisplayName": "Server Steam Account", - "Category": "Server Config", - "Description": "", - "Keywords": "", - "FieldName": "serversteamaccount", + "Category": "Forest - Server Config", + "Description": "Use appid 242760 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers)", + "Keywords": "server,steam,account", + "FieldName": "serverSteamAccount", "InputType": "text", "IsFlagArgument": false, - "ParamFieldName": "serversteamaccount", - "IncludeInCommandLine": true, + "ParamFieldName": "serverSteamAccount", + "IncludeInCommandLine": false, "DefaultValue": "", + "Placeholder": "A375E0CE4E8AB079638DADA3871BEF1B", "EnumValues": {} }, { "DisplayName": "Save Slot", - "Category": "Server Config", - "Description": "", - "Keywords": "", + "Category": "Forest - Server Config", + "Description": "Slot to save the game.", + "Keywords": "save,slot", "FieldName": "slot", - "InputType": "number", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "slot", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "1", - "EnumValues": {} + "EnumValues": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5" + } + }, + { + "DisplayName": "Vegan Mode", + "Category": "Forest - Gameplay Config", + "Description": "No enemies.", + "Keywords": "vegan,mode", + "FieldName": "veganMode", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "veganMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Vegetarian Mode", - "Category": "Gameplay Config", - "Description": "Disables enemies during the daytime", - "Keywords": "", - "FieldName": "vegetarianmode", + "Category": "Forest - Gameplay Config", + "Description": "No enemies during day time.", + "Keywords": "vegetarian,mode", + "FieldName": "vegetarianMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "vegetarianmode", - "IncludeInCommandLine": true, - "DefaultValue": "-vegetarianmode" + "IsFlagArgument": false, + "ParamFieldName": "vegetarianMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "No building destruction", - "Category": "Gameplay Config", - "Description": "Prevents buildings from being damaged by players or enemies", - "Keywords": "", - "FieldName": "nobuildingdestruction", + "DisplayName": "Allow Building Destruction", + "Category": "Forest - Gameplay Config", + "Description": "Allow building destruction.", + "Keywords": "allow,building,destruction", + "FieldName": "allowBuildingDestruction", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "nobuildingdestruction", - "IncludeInCommandLine": true, - "DefaultValue": "-nobuildingdestruction" + "IsFlagArgument": false, + "ParamFieldName": "allowBuildingDestruction", + "IncludeInCommandLine": false, + "DefaultValue": "on", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Trees grow while sleeping", - "Category": "Gameplay Config", - "Description": "Trees will regrow overnight while you sleep if enabled", - "Keywords": "", - "FieldName": "treeregrowmode", + "DisplayName": "Tree Regrow Mode", + "Category": "Forest - Gameplay Config", + "Description": "Regrow 10% of cut down trees when sleeping.", + "Keywords": "tree,regrow,mode", + "FieldName": "treeRegrowMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "treeregrowmode", - "IncludeInCommandLine": true, - "DefaultValue": "-treeregrowmode" + "IsFlagArgument": false, + "ParamFieldName": "treeRegrowMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Allow Cheats", - "Category": "Gameplay Config", - "Description": "Allow clients to use the development console (Use with caution!)", - "Keywords": "", - "FieldName": "allowcheats", + "Category": "Forest - Gameplay Config", + "Description": "Allow clients to use the built in debug console.", + "Keywords": "allow,cheats", + "FieldName": "allowCheats", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "allowcheats", - "IncludeInCommandLine": true, - "DefaultValue": "-allowcheats" + "IsFlagArgument": false, + "ParamFieldName": "allowCheats", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Reset Holes", - "Category": "Gameplay Config", - "Description": "Reset all existing floor holes when loading a save", - "Keywords": "", - "FieldName": "resetholesmode", + "DisplayName": "Reset Holes Mode", + "Category": "Forest - Gameplay Config", + "Description": "Reset all structure holes when loading a save.", + "Keywords": "reset,holes,mode", + "FieldName": "resetHolesMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "resetholesmode", - "IncludeInCommandLine": true, - "DefaultValue": "-resetholesmode" + "IsFlagArgument": false, + "ParamFieldName": "resetHolesMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Allow enemies in creative", - "Category": "Gameplay Config", - "Description": "Enemies will spawn even when creative mode is enabled", - "Keywords": "", - "FieldName": "allowenemiescreative", + "DisplayName": "Allow Enemies in Creative Mode", + "Category": "Forest - Gameplay Config", + "Description": "Allow enemies in creative games.", + "Keywords": "allow,enemies,creative,mode", + "FieldName": "allowEnemiesCreativeMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "allowenemiescreative", - "IncludeInCommandLine": true, - "DefaultValue": "-allowenemiescreative" + "IsFlagArgument": false, + "ParamFieldName": "allowEnemiesCreativeMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Realistic Player Damage", - "Category": "Gameplay Config", - "Description": "Players take more damage", - "Keywords": "", + "Category": "Forest - Gameplay Config", + "Description": "Players take more damage.", + "Keywords": "realistic,player,damage", "FieldName": "realisticPlayerDamage", "InputType": "checkbox", - "IsFlagArgument": true, + "IsFlagArgument": false, "ParamFieldName": "realisticPlayerDamage", - "IncludeInCommandLine": true, - "DefaultValue": "-realisticPlayerDamage" + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Enable VAC", - "Category": "Server Config", - "Description": "Use Valve Anti-Cheat to help protect against cheaters and to use VAC bans", - "Keywords": "", + "Category": "Forest - Server Config", + "Description": "Enable VAC (Valve Anti-cheat System) on the server.", + "Keywords": "enable,vac,valve,anti,cheat", "FieldName": "enableVAC", "InputType": "checkbox", - "IsFlagArgument": true, + "IsFlagArgument": false, "ParamFieldName": "enableVAC", - "IncludeInCommandLine": true, - "DefaultValue": "-enableVAC" + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Server save interval", - "Category": "Server Config", - "Description": "How often in minutes the server should save changes to disk", - "Keywords": "", - "FieldName": "serverautosaveinterval", + "DisplayName": "Server Save Interval", + "Category": "Forest - Server Config", + "Description": "Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30.", + "Keywords": "server,auto,save,interval", + "FieldName": "serverAutoSaveInterval", "InputType": "number", "IsFlagArgument": false, - "ParamFieldName": "serverautosaveinterval", - "IncludeInCommandLine": true, - "DefaultValue": "15", + "ParamFieldName": "serverAutoSaveInterval", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "Placeholder` ": "30", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Game Difficulty", + "Category": "Forest - Server Config", + "Description": "Game difficulty mode.", + "Keywords": "game,difficulty", + "FieldName": "difficulty", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "difficulty", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Peaceful": "Peaceful", + "Normal": "Normal", + "Hard": "Hard" + } + }, + { + "DisplayName": "Show Logs", + "Category": "Forest - Server Config", + "Description": "Show event log.", + "Keywords": "Show,event,log", + "FieldName": "showLogs", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "showLogs", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } + }, + { + "DisplayName": "Server Contact", + "Category": "Forest - Server Config", + "Description": "Contact email for server admin.", + "Keywords": "server,contact,email", + "FieldName": "serverContact", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverContact", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "email@gmail.com", + "EnumValues": {} + }, + { + "DisplayName": "Target Idle FPS", + "Category": "Forest - Server Config", + "Description": "Target FPS when no client is connected.", + "Keywords": "target,idle,fps", + "FieldName": "targetFpsIdle", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "targetFpsIdle", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "FPS", + "EnumValues": {} + }, + { + "DisplayName": "Target Active FPS", + "Category": "Forest - Server Config", + "Description": "Target FPS when there is at least one client connected.", + "Keywords": "target,active,fps", + "FieldName": "targetFpsActive", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "targetFpsActive", + "IncludeInCommandLine": false, + "DefaultValue": "60", + "Placeholder": "60", + "Suffix": "FPS", "EnumValues": {} } ] \ No newline at end of file diff --git a/the-forestmetaconfig.json b/the-forestmetaconfig.json new file mode 100644 index 0000000..4a82b0b --- /dev/null +++ b/the-forestmetaconfig.json @@ -0,0 +1,9 @@ +[ + { + "ConfigFile": "the-forestserver.cfg", + "AutoMap": true, + "ConfigType": "kvp", + "ConfigFormat": "{0} {1}", + "ConfigFormatRegex": "^(?.+?) (?.*?)$" + } +] \ No newline at end of file diff --git a/the-forestserver.cfg b/the-forestserver.cfg new file mode 100644 index 0000000..fb69c1b --- /dev/null +++ b/the-forestserver.cfg @@ -0,0 +1,55 @@ +// Dedicated Server Settings. +// Server IP address - Note: If you have a router, this address is the internal address, and you need to configure ports forwarding +serverIP 0.0.0.0 +// Steam Communication Port - Note: If you have a router you will need to open this port. +serverSteamPort 8766 +// Game Communication Port - Note: If you have a router you will need to open this port. +serverGamePort 27015 +// Query Communication Port - Note: If you have a router you will need to open this port. +serverQueryPort 27016 +// Server display name +serverName AMP Forest Server +// Maximum number of players +serverPlayers 4 +// Enable VAC (Valve Anti-cheat System at the server. Must be set off or on +enableVAC off +// Server password. blank means no password +serverPassword +// Server administration password. blank means no password +serverPasswordAdmin +// Your Steam account name. blank means anonymous +serverSteamAccount +// Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30 +serverAutoSaveInterval 30 +// Game difficulty mode. Must be set to Peaceful Normal or Hard +difficulty Normal +// New or continue a game. Must be set to New or Continue +initType Continue +// Slot to save the game. Must be set 1 2 3 4 or 5 +slot 1 +// Show event log. Must be set off or on +showLogs off +// Contact email for server admin +serverContact email@gmail.com +// No enemies +veganMode off +// No enemies during day time +vegetarianMode off +// Reset all structure holes when loading a save +resetHolesMode off +// Regrow 10% of cut down trees when sleeping +treeRegrowMode off +// Allow building destruction +allowBuildingDestruction on +// Allow enemies in creative games +allowEnemiesCreativeMode off +// Allow clients to use the built in debug console +allowCheats off +// Use full weapon damage values when attacking other players +realisticPlayerDamage off +// Allows defining a custom folder for save slots, leave empty to use the default location +saveFolderPath saves +// Target FPS when no client is connected +targetFpsIdle 5 +// Target FPS when there is at least one client connected +targetFpsActive 60