Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vein Dedicated Server Template Attempt #1021

Open
5 tasks done
Nerderizer opened this issue Sep 21, 2024 · 24 comments
Open
5 tasks done

Vein Dedicated Server Template Attempt #1021

Nerderizer opened this issue Sep 21, 2024 · 24 comments

Comments

@Nerderizer
Copy link

Nerderizer commented Sep 21, 2024

https://iceofwraith.github.io/GenericConfigGen/

Game Information:

Game Title: Vein
How to obtain: Steam Store
Suppoted OSs: Windows, Linux
Supports RCON/Console input? Yes

I confirm:

  • that I have searched for an existing module request for this application.
  • that the server is an official server distributed by the games publishers/developers.
  • that the server is available to the general public.
  • that the server can be run headless (without a GUI).
  • I have already attempted to create a configuration myself using the configuration tool

My current attempt:
{"_availablePortOptions":["Custom Port","RCON Port"],"_compatibility":"None","Meta_DisplayName":"Vein","Meta_Description":"Vein Dedicated Server","Meta_Arch":"x86_64","_Meta_Author":"UserID10T","Meta_Author":"UserID10T - Made with AMP Config Generator","_Meta_GithubOrigin":"https://github.com/UserID10T - Made with AMP Config Generator/AMPTemplates.git","_Meta_GithubURL":"https://github.com/UserID10T - Made with AMP Config Generator/AMPTemplates","Meta_URL":"https://store.steampowered.com/app/1857950/VEIN/","Meta_MinAMPVersion":"2.4.6.6","Meta_SpecificDockerImage":"","Meta_DockerRequired":"False","Meta_ContainerPolicy":"Supported","Meta_ContainerPolicyReason":"","Meta_Prerequsites":"[]","Meta_EndpointURIFormat":"steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort}","_SupportsWindows":false,"_SupportsLinux":true,"App_AdminMethod":"STDIO","App_HasReadableConsole":true,"App_HasWritableConsole":true,"App_DisplayName":"Vein","App_CommandLineArgs":"{{$PlatformArgs}} {{$FormattedArgs}} -log","App_WindowsCommandLineArgs":"","App_CommandLineParameterFormat":"-{0} \"{1}\"","App_CommandLineParameterDelimiter":" ","App_RapidStartup":"false","App_ApplicationReadyMode":"Immediate","App_ExitMethod":"OS_CLOSE","App_ExitString":"stop","App_ExitTimeout":"30","App_ExitFile":"app_exit.lck","App_SupportsLiveSettingsChanges":"False","App_LiveSettingChangeCommandFormat":"set {0} \"{1}\"","App_ApplicationIPBinding":"0.0.0.0","App_AdminPortRef":"RemoteAdminPort","App_UniversalSleepApplicationUDPPortRef":"GamePort1","App_PrimaryApplicationPortRef":"GamePort1","App_UniversalSleepSteamQueryPortRef":"SteamQueryPort","App_MaxUsers":"8","App_UseRandomAdminPassword":"True","App_RemoteAdminPassword":"","App_AdminLoginTransform":"None","App_RCONConnectDelaySeconds":"30","App_RCONConnectRetrySeconds":"15","App_RCONHeartbeatCommand":"ping","App_RCONHeartbeatMinutes":"0","App_TelnetLoginFormat":"{0}","App_SteamUpdateAnonymousLogin":"True","App_SteamForceLoginPrompt":"False","App_SupportsUniversalSleep":"False","App_WakeupMode":"Any","App_TemplateMatchRegex":"{{(\\$?[\\w]+)}}","App_MonitorChildProcess":"False","App_MonitorChildProcessWaitMs":"1000","App_MonitorChildProcessName":"","App_Compatibility":"None","_App_SteamWorkshopDownloadLocation":"/Vein/Mods","App_SteamWorkshopDownloadLocation":"{{$FullBaseDir}}/Vein/Mods","Console_FilterMatchRegex":"","Console_FilterMatchReplacement":"","Console_ThrowawayMessageRegex":"(WARNING|ERROR): Shader.+","_Console_AppReadyRegex":"Server is ready\\.","_Console_UserJoinRegex":"User \\*{username} \\(\\*{userid}\\) connected from \\[\\*{endpoint}\\]","_Console_UserLeaveRegex":"User \\*{username} \\(\\*{userid}\\) disconnected\\. Reason: \\*{misc}","_Console_UserChatRegex":"\\*{username}: \\*{message}","Console_UpdateAvailableRegex":"^\\[\\d\\d:\\d\\d:\\d\\d\\] \\[INFO\\] A new server update is available! v[\\d\\.]+.$","Console_SuppressLogAtStart":"False","Console_ActivateLogRegex":"","Console_UserActions":"{}","Console_SleepMode":"False","Console_SleepOnStart":"False","Console_SleepDelayMinutes":"5","Console_DozeDelay":"2","Console_AutoRetryCount":"5","Console_SleepStartThresholdSeconds":"25","_PortMappings":[{"_Protocol":"0","Protocol":"Both","Port":"27021","_PortType":"Steam Query Port","_Name":"Steam Query Port","Name":"Steam Query Port","_Description":"","Description":"Port used for main game traffic","Ref":"SteamQueryPort"},{"_Protocol":"2","Protocol":"UDP","Port":"7780","_PortType":"Main Game Port","_Name":"Application Port","Name":"Main Game Port","_Description":"Port for main traffic","Description":"Port used for main game traffic","Ref":"MainGamePort"}],"_ConfigFileMappings":[{"ConfigFile":"Vein/Saved/Config/WindowsServer/GameUserSettings.ini","_ConfigType":"1","ConfigType":"ini","_AutoMap":true,"AutoMap":true}],"_UpdateSourceURL":"","_UpdateSourceGitRepo":"","_UpdateSourceUnzip":false,"_DisplayImageSource":"","_SteamServerAppID":"","_WinExecutableName":"","_LinuxExecutableName":"/Vein/Binaries/Linux/VeinServer-Linux-Test","_AppSettings":[{"DisplayName":"Server Name","Category":"Server Settings","Description":"The name displayed in the server title.","Keywords":"server,name","FieldName":"servername","InputType":"text","IsFlagArgument":false,"ParamFieldName":"servername","IncludeInCommandLine":true,"DefaultValue":"MyVeinServer","Placeholder":"MyVeinServer","Suffix":"","Hidden":false,"SkipIfEmpty":false,"_CheckedValue":"true","_UncheckedValue":"false","_EnumMappings":[],"EnumValues":{}},{"DisplayName":"Max Players","Category":"Server Settings","Description":"The maximum number of players","Keywords":"max,players","FieldName":"maxplayers","InputType":"text","IsFlagArgument":false,"ParamFieldName":"maxplayers","IncludeInCommandLine":true,"DefaultValue":"6","Placeholder":"6","Suffix":"","Hidden":false,"SkipIfEmpty":false,"_CheckedValue":"true","_UncheckedValue":"false","_EnumMappings":[],"EnumValues":{}}],"_UpdateStages":[{"UpdateStageName":"Vein Server Download","_UpdateSourcePlatform":"1","UpdateSourcePlatform":"Linux","_UpdateSource":"8","UpdateSource":"SteamCMD","UpdateSourceData":"2131400","UpdateSourceArgs":"2131400","UpdateSourceVersion":"public","UpdateSourceTarget":"","UnzipUpdateSource":false,"OverwriteExistingFiles":false,"_ForceDownloadPlatform":"1","ForceDownloadPlatform":"Linux","UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null,"DeleteAfterExtract":true,"OneShot":true}],"Console_AppReadyRegex":"^Server\\s+is\\s+ready\\\\\\.$","Console_UserJoinRegex":"^User\\s+\\\\(?<username>.+)\\s+\\\\\\(\\\\(?<userid>.+)\\\\\\)\\s+connected\\s+from\\s+\\\\\\[\\\\(?<endpoint>.+)\\\\\\]$","Console_UserLeaveRegex":"^User\\s+\\\\(?<username>.+)\\s+\\\\\\(\\\\(?<userid>.+)\\\\\\)\\s+disconnected\\\\\\.\\s+Reason:\\s+\\\\.*$","Console_UserChatRegex":"^\\\\(?<username>.+):\\s+\\\\(?<message>.+)$","Meta_OS":2,"Meta_ConfigManifest":"veinconfig.json","Meta_MetaConfigManifest":"veinmetaconfig.json","_Meta_PortsManifest":"veinports.json","_Meta_StagesManifest":"veinupdates.json","Meta_ConfigRoot":"vein.kvp","App_RootDir":"./vein/","_SteamCheck":"2131400","Meta_DisplayImageSource":"steam:2131400","App_BaseDirectory":"./vein/2131400/","App_WorkingDir":"2131400","_SteamClientAppID":"2131400","App_ExecutableWin":"2131400\\","App_ExecutableLinux":"2131400//Vein/Binaries/Linux/VeinServer-Linux-Test","_App_LinuxCommandLineArgsCompat":"","_App_LinuxCommandLineArgsInput":"","App_LinuxCommandLineArgs":"","App_Ports":"@IncludeJson[veinports.json]","App_UpdateSources":"@IncludeJson[veinupdates.json]","Errors":[],"isValid":true}

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

I take it this is a cry for help lol

Template in Greelan/AMPTemplates:dev

Some weirdness about it tho - eg the MaxPlayers setting is stripped from Game.ini when the server is shut down

Guess that is what you get with a game that is in its demo release phase lol

@Nerderizer
Copy link
Author

Yeeeeah, the maxplayers value was something I found when trying to obtain all of the usable in game values. My latest launch wasn't populating game.ini so I couldn't dig into them. I can probably manage getting the game.ini values so the template can be updated.

If you prefer, I can take the template back to get those game settings, or you're welcome to keep it as a live template for everyone. I just want to get used to this process so I can make more.

My next plan is Qanga, another early demo game. Heh.

You are 100% right, this is what I get, and I already am aware the game dev has said he's lazy and hasn't kept up with the dedicated server releases lol.

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

There are a bunch of issues with your template - some due to the config generator - and this is not the way to make them available anyway

I've already seen the notion website with the server params. But it would be pushing shit uphill trying to maintain a template for such an early access server. Better to wait

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

To be perfectly honest, if you want to get into templates, better to look at existing ones and learn from those and use them as a base. For example there are lots of UE servers that already have templates

@Nerderizer
Copy link
Author

I tried looking through the .kvp files and all, which is exactly how I progressed since I first posted.

I looked at the Ark SE since it used the GenericModule.kvp.

I found the documentation confusing, so I just struggle bussed my way through understanding it, and so what I had was very chopped up from things I "thought" belonged in the kvp.

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

Lol, Ark is one of the worst ones possible to start with

Just look at my VEIN template. Tho I was lazy with the Game.ini creation since I couldn't be bothered having one downloaded from GH (which is what most templates do if the config file has to be created)

@Nerderizer
Copy link
Author

Yeah, I've learned that almost everything with Ark is awful.

I was already poking around the VEIN template and spotted a lot of what you were talking about. I reuploaded it to my repo, so I can mess with it(I have not gotten good with forking yet, so please tell me to remove it and done.)

I really appreciate the help and clarity. I'm hoping I can drum up more games and applications once I'm comfortable with the generator. I've been creating some python projects for content creators and Discord, which may be useful for others. and a deployable webserver would be convenient for that. I just like projects.

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

No disrespect to Ice, but I suggest not using the generator. It has some bugs and is incomplete. I only do stuff manually - after 150+ templates, it gets quicker (VEIN took me less than an hour). Every server, even those based on the same engine, has differences and quirks and the generator doesn't cater for them, or the tricks often needed

@IceOfWraith
Copy link
Collaborator

No disrespect taken. I agree it needs attention.

@Greelan
Copy link
Collaborator

Greelan commented Sep 21, 2024

I could quickly knock up a basic Qanga template and you could play around with it

@Nerderizer
Copy link
Author

Your help with Qanga would be fantastic, and would give me a relevant comparison to better understand what is unique between templates when creating them, so I can more manually manage them. The generator was an awesome place to get started with it, and once I started exporting and manually editing it helped me a lot.

@Nerderizer
Copy link
Author

Heads up, that VEIN AppID you used is for the full unreleased VEIN. It needs the Vein Demo ID for now, 2082470.

@Nerderizer
Copy link
Author

Otherwise it screams because the steamappid.txt doesn't match the cert it should. Requires .kvp update and restart of game server, adding/replacing in steamappid.txt isn't enough it scrubs it periodically.

@Greelan
Copy link
Collaborator

Greelan commented Sep 22, 2024

Fixed

@Nerderizer
Copy link
Author

Also found Server Branch is not populating with the server config field options.

@Greelan
Copy link
Collaborator

Greelan commented Sep 22, 2024

Wdym?

@Nerderizer
Copy link
Author

image

@Nerderizer
Copy link
Author

{
"DisplayName":"Server Branch",
"Category":"Updates",
"Subcategory":"Steam Downloads:download",
"Description":"Sets the server branch to install. Update the server after switching branches",
"Keywords":"server,branch,depot",
"FieldName":"ServerBranch",
"InputType":"enum",
"ParamFieldName":"ServerBranch",
"DefaultValue":"public",
"EnumValues":{
"public":"Public (default)",
"hotfix":"Hotfix builds (hotfix)",
"canary":"Bleeding-edge builds (canary)"
}
}

@Greelan
Copy link
Collaborator

Greelan commented Sep 22, 2024

Look under Updates / Steam Downloads ....

@Nerderizer
Copy link
Author

Oh lord you're right the tag is right there Category Updates.

Sorry about that. The server is up and running, so thank you for taking care of it.

@Nerderizer
Copy link
Author

Now I see how you can slap it under any menu, thank you!!!

@Greelan
Copy link
Collaborator

Greelan commented Sep 22, 2024

QANGA is also now in my dev branch

@Nerderizer
Copy link
Author

Thank you!

Game Port having issues binding, but I'll update it and figure out how to make a pull request, if that was the right term. I'm green with gh too.

@Greelan
Copy link
Collaborator

Greelan commented Sep 22, 2024

The server uses Steam sockets, so never opens a socket on the game port. They still recommend including the argument, so that is what I have done

If you have anything to add, pass them on to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants