add mordhau wine config

Add a new mordhau egg that uses wine to run the server.
This commit is contained in:
parkervcp 2020-09-13 10:53:02 -04:00
parent e5ae593b60
commit 2a8bd55940
No known key found for this signature in database
GPG Key ID: CC2CCD3EDC3091E6
2 changed files with 110 additions and 7 deletions

View File

@ -1,7 +1,16 @@
mog#Mordhau
# Mordhau
Steam Description
MORDHAU is a medieval first & third person multiplayer slasher. Enter a hectic battlefield of up to 64 players as a mercenary in a fictional, but realistic world, where you will get to experience the brutal and satisfying melee combat that will have you always coming back for more.
### Versions
#### Vanilla
A standard linux mordhau server
#### Wine
The windows version of the server running in Wine.
This supports some mods that do not work with the linux version of the server.
Uses more resources for the server than the linux version.
### Server Ports
Mordhau requires 3 ports
@ -14,15 +23,12 @@ Beacon (default 15000)
|---------|---------------|
| Game | 7777 |
| Query | 27015 |
| Beacon | 15000 |
| Beacon | 15000 |
### Map Rotation / Change Config
Lots of good information in this [thread](https://mordhau.com/forum/topic/10348/dedicated-server-hosting-guide-linux/?page=1)
You'll need to run the server once before the Mordhau/Saved/Config/LinuxServer folder is available
### Default Map Variable
By default the game always starts the same game map and mode. Change this variable to start the server wth your choice of map and mode. For example , Grad/HRD_Grad OR TaigaMap/FL_Taiga
@ -34,8 +40,6 @@ FFA = Deathmatch
BR = BattleRoyal
TDM = Team Death Match
Valid types per map
Grad/

View File

@ -0,0 +1,99 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-09-13T10:48:47-04:00",
"name": "Mordhau Wine",
"author": "parker@parkervcp.com",
"description": "Mordhau is a multiplayer medieval hack 'n slash video game, developed by Slovenian independent studio Triternion, with a prominent aspect of skill-based competitive play and customization.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5",
"startup": "xvfb-run --auto-servernum --server-args='-screen 0 1024x768x16:32' wine MordhauServer.exe {{DEFAULT_MAP}} -log MaxSlots={{MAX_PLAYERS}} -USEALLAVAILABLECORES -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -Beaconport={{BEACON_PORT}}",
"config": {
"files": "{\r\n \"Mordhau\/Saved\/Config\/WindowsServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword=\": \"AdminPassword={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerPassword=\": \"ServerPassword={{server.build.env.GAME_PASSWORD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"UpdateGameServer completed (bWasSuccessful: 1)\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Steam Server App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "629800",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric|max:65535"
},
{
"name": "Beacon Port",
"description": "Mordhau Beacon Port",
"env_variable": "BEACON_PORT",
"default_value": "15000",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric|max:65535"
},
{
"name": "Windows Install Flag",
"description": "Required for windows game server installs",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|boolean"
},
{
"name": "Admin Password",
"description": "",
"env_variable": "ADMIN_PASSWORD",
"default_value": "aP@55word",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl Hosted Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Game Password",
"description": "",
"env_variable": "GAME_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Default Map",
"description": "",
"env_variable": "DEFAULT_MAP",
"default_value": "\/Game\/Mordhau\/Maps\/Contraband\/FFA_Contraband",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
}
]
}