Add Veloren (#168)

This commit is contained in:
Greelan 2022-08-28 16:47:52 +10:00 committed by GitHub
parent 46cc6a2098
commit 4c9b1ec57d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 190 additions and 0 deletions

86
veloren.kvp Normal file
View File

@ -0,0 +1,86 @@
Meta.DisplayName=Veloren
Meta.Description=Veloren Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://veloren.net
Meta.DisplayImageSource=url:https://cdn.discordapp.com/attachments/541307708146581519/712295605170602075/logo.png
Meta.EndpointURIFormat=
Meta.ConfigManifest=velorenconfig.json
Meta.MetaConfigManifest=velorenmetaconfig.json
Meta.ConfigRoot=veloren.kvp
Meta.MinAMPVersion=2.3.4.3
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
App.DisplayName=Veloren
App.RootDir=./veloren/
App.BaseDirectory=./veloren/
App.ExecutableWin=veloren-server-cli.exe
App.ExecutableLinux=veloren-server-cli
App.WorkingDir=
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"RUST_LOG":"debug,common::net=info"}
App.CommandLineParameterFormat=-{0} "{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=String
App.ExitTimeout=30
App.ExitString=shutdown graceful 0
App.ExitFile=lock
App.HasWriteableConsole=True
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":14004,"Ref":"ServerPort"},{"Protocol":"TCP","Name":"Metrics Port","Description":"Port for metrics traffic","Port":14005,"Ref":"MetricsPort"}]
App.AdminPortRef=ServerPort
App.PrimaryApplicationPortRef=ServerPort
App.UniversalSleepApplicationUDPPortRef=ServerPort
App.UniversalSleepSteamQueryPortRef=ServerPort
App.MaxUsers=100
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":"Server Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullInstanceDir}}nightly.zip","UpdateSourceArgs":"{{$FullRootDir}}nightly","OverwriteExistingFiles":true},{"UpdateStageName":"Server Extract","UpdateSourcePlatform":"All","UpdateSource":"ExtractArchive","UpdateSourceArgs":"{{$FullInstanceDir}}nightly.zip","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullRootDir}}veloren-server-cli"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/velorensettings.ron","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}userdata/server/server_config"},{"UpdateStageName":"Settings Template Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}userdata/server/server_config/AMP_settings.ron","UpdateSourceArgs":"{{$FullInstanceDir}}velorensettings.ron","OverwriteExistingFiles":false}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=\[\d+m
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO veloren_server_cli: Server is ready to accept connections\.(?:.+?)$
Console.UserJoinRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO network{(?:.+?)}: veloren_network_protocol::handshake: This Handshake is now configured! pid=(?<sessionid>.+?)$
Console.UserLeaveRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO ((?:.+?)remote{p=(?<sessionid>.+?)}: veloren_network::api: Participant already has been shutdown gracefully|veloren_server_cli::shutdown_coordinator: Shutting down)$
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

55
velorenconfig.json Normal file
View File

@ -0,0 +1,55 @@
[
{
"DisplayName":"Server Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ServerPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"server_port",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Metrics Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$MetricsPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"metrics_port",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"Server name visible in the server list",
"Keywords":"server,name",
"FieldName":"ServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"server_name",
"IncludeInCommandLine":false,
"DefaultValue":"Veloren Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that may connect to the server",
"Keywords":"players,limit",
"FieldName":"$MaxUsers",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"max_players",
"IncludeInCommandLine":false,
"DefaultValue":"100",
"Suffix":"players",
"EnumValues":{}
}
]

8
velorenmetaconfig.json Normal file
View File

@ -0,0 +1,8 @@
[
{
"ConfigFile":"userdata/server/server_config/settings.ron",
"AutoMap":true,
"ConfigType":"template",
"ConfigFileTemplate":"veloren/userdata/server/server_config/AMP_settings.ron"
}
]

41
velorensettings.ron Normal file
View File

@ -0,0 +1,41 @@
// DO NOT edit settings.ron directly
// AMP_settings.ron controls settings.ron. Edit AMP_settings.ron if you want to add or change certain settings
// NOTE:
// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI (under "Server Settings")
// or are controlled by AMP itself (in particular, ports)
// - Other settings can be changed or added as needed
(
gameserver_protocols: [
Tcp(
address: "0.0.0.0:{{server_port}}",
),
// Uncomment the block below if you want the server to bind on an IPv6 socket as well as IPv4
/*
Tcp(
address: "[::]:{{server_port}}",
),
*/
],
metrics_address: "127.0.0.1:{{metrics_port}}",
auth_server_address: Some("https://auth.veloren.net"),
max_players: {{max_players}},
world_seed: 230,
server_name: "{{server_name}}",
start_time: 32400,
map_file: None,
max_view_distance: Some(65),
banned_words_files: [],
max_player_group_size: 6,
client_timeout: (
secs: 40,
nanos: 0,
),
spawn_town: None,
max_player_for_kill_broadcast: None,
calendar_mode: Auto,
gameplay: (
battle_mode: Global(PvP),
safe_spawn: false,
explosion_burn_marks: true,
),
)