Merge pull request #2403 from lilkingjr1/ground-branch
[Ground Branch] Fix Boot Freeze & Mod Directory
This commit is contained in:
		
						commit
						f129aa851c
					
				@ -89,10 +89,4 @@ ___
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### Modding
 | 
					### Modding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Modding has not been adequately explored at this time. If you have information on modding you would like to share, please submit a PR to update this README.
 | 
					At the time of writing this (2023/08/01), no workshop mods for Ground Branch exist. However, if they were to be introduced or you would like to install a mod, mods can be installed to `/home/container/steamapps/workshop/content/16900/`. The server should then stage them to `/home/container/GroundBranch/Mods` and show up as "Mod ID #" in the in-game modding menu.
 | 
				
			||||||
 | 
					 | 
				
			||||||
What is currently known about modding:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- The server seems to automatically look at the following directory for any available mods to load: `/home/workshop/content/16900/`
 | 
					 | 
				
			||||||
- This directory is un-accessible to Pterodactyl end-users, and I am unaware of a way to point the server to look in a different directory for mods.
 | 
					 | 
				
			||||||
- However, you may be able to set up a mount to this directory with mods in SteamCMD format.
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -4,25 +4,26 @@
 | 
				
			|||||||
        "version": "PTDL_v2",
 | 
					        "version": "PTDL_v2",
 | 
				
			||||||
        "update_url": null
 | 
					        "update_url": null
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "exported_at": "2023-05-25T02:52:19+00:00",
 | 
					    "exported_at": "2023-08-01T20:51:33+00:00",
 | 
				
			||||||
    "name": "Ground Branch",
 | 
					    "name": "Ground Branch",
 | 
				
			||||||
    "author": "rehlmgaming@gmail.com",
 | 
					    "author": "rehlmgaming@gmail.com",
 | 
				
			||||||
    "description": "From one of the developers behind the original Rainbow Six\u00ae and Ghost Recon\u00ae games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.",
 | 
					    "description": "From one of the developers behind the original Rainbow Six\u00ae and Ghost Recon\u00ae games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.",
 | 
				
			||||||
    "features": null,
 | 
					    "features": null,
 | 
				
			||||||
    "docker_images": {
 | 
					    "docker_images": {
 | 
				
			||||||
        "ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
 | 
					        "Wine [Latest]": "ghcr.io\/parkervcp\/yolks:wine_latest",
 | 
				
			||||||
 | 
					        "Wine [Staging]": "ghcr.io\/parkervcp\/yolks:wine_staging"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "file_denylist": [],
 | 
					    "file_denylist": [],
 | 
				
			||||||
    "startup": "wine GroundBranch\/Binaries\/Win64\/GroundBranchServer-Win64-Shipping.exe MultiHome=0.0.0.0 Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -log",
 | 
					    "startup": "wine GroundBranch\/Binaries\/Win64\/GroundBranchServer-Win64-Shipping.exe MultiHome=0.0.0.0 Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -log",
 | 
				
			||||||
    "config": {
 | 
					    "config": {
 | 
				
			||||||
        "files": "{\r\n    \"GroundBranch\/ServerConfig\/Server.ini\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n            \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\"\r\n        }\r\n    }\r\n}",
 | 
					        "files": "{\r\n    \"GroundBranch\/ServerConfig\/Server.ini\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n            \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\"\r\n        }\r\n    },\r\n    \"GroundBranch\/Config\/DefaultModding.ini\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"ModPath=\": \"ModPath=..\/steamapps\/workshop\/content\/16900\/\"\r\n        }\r\n    }\r\n}",
 | 
				
			||||||
        "startup": "{\r\n    \"done\": \"Bringing up level for play took\"\r\n}",
 | 
					        "startup": "{\r\n    \"done\": \"Bringing up level for play took\"\r\n}",
 | 
				
			||||||
        "logs": "{}",
 | 
					        "logs": "{}",
 | 
				
			||||||
        "stop": "^^C"
 | 
					        "stop": "^^C"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "scripts": {
 | 
					    "scripts": {
 | 
				
			||||||
        "installation": {
 | 
					        "installation": {
 | 
				
			||||||
            "script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Ground Branch Egg - egg-ground-branch.json\r\n## Authors: David Wolfe (Red-Thirten)\r\n## Date: 2023\/05\/24\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/pterodactyl\/installers:debian'\r\n\r\n# Download and install SteamCMD\r\nexport HOME=\/mnt\/server\r\ncd \/tmp\r\nmkdir -p $HOME\/steamcmd $HOME\/steamapps\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 $HOME\/steamcmd\r\ncd $HOME\/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\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so $HOME\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so $HOME\/.steam\/sdk64\/steamclient.so\r\n\r\n## Ground Branch setup\r\n# Make ServerConfig directory and default Server.ini file (since they are not initially present before first server start)\r\nmkdir -p $HOME\/GroundBranch\/ServerConfig\/ && cd \"$_\"\r\n\r\nif [[ ! -f Server.ini ]]; then\r\n    echo -e '\\nCreating default \"Server.ini\" configuration file...'\r\n    cat > Server.ini << EOF\r\n[\/Script\/RBZooKeeper.ZKServer]\r\n; Name of the server 64 characters max)\r\nServerName=Unnamed Ground Branch Server\r\n\r\n; The message of the day (512 characters max)\r\n; e.g. ServerMOTD=This text here is displayed<br>with the 'admin motd' command.\r\nServerMOTD=\"Welcome!\"\r\n\r\n; Set to a jpg image to act as a server banner in-game where possible.\r\n; (recommended resolution: 788 x 386)\r\nServerWebBanner=\"\"\r\n; e.g. ServerWebPage=www.images.com\/myimage.jpeg\r\n\r\n; Password required to join the server.\r\n;ServerPassword=\r\n\r\n; Password required to join the server as a permanent spectator.\r\n;SpectatorOnlyPassword=\r\n\r\n; Maximum number of players allowed on this server.\r\nMaxPlayers=16\r\nMaxSpectators=0\r\n\r\n; Set default match types for game modes and round limits:\r\n; Match types: Continuous, BestOf, FirstTo, Play, PlayUntilWin, TimeLimit.\r\n; Round limits = number of rounds, except Time Limit match type (minutes).\r\n; PVE \/ Co-op:\r\nPVEMatchType=Continuous\r\nPVERoundLimit=2\r\n; PVP:\r\nPVPMatchType=Continuous\r\nPVPRoundLimit=3\r\n; PVP FFA (Free-for-all):\r\nPVPFFAMatchType=Continuous\r\nPVPFFARoundLimit=1\r\nGameRules=((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))\r\nEOF\r\nfi\r\n\r\necho -e \"\\nGround Branch Dedicated Server successfully installed!\\n\"",
 | 
					            "script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Ground Branch Egg - egg-ground-branch.json\r\n## Authors: David Wolfe (Red-Thirten)\r\n## Date: 2023\/08\/01\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/pterodactyl\/installers:debian'\r\n\r\n# Download and install SteamCMD\r\nexport HOME=\/mnt\/server\r\ncd \/tmp\r\nmkdir -p $HOME\/steamcmd $HOME\/steamapps\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 $HOME\/steamcmd\r\ncd $HOME\/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\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so $HOME\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so $HOME\/.steam\/sdk64\/steamclient.so\r\n\r\n## Ground Branch setup\r\n# Make ServerConfig directory and default Server.ini file (since they are not initially present before first server start)\r\nmkdir -p $HOME\/GroundBranch\/ServerConfig\/ && cd \"$_\"\r\n\r\nif [[ ! -f Server.ini ]]; then\r\n    echo -e '\\nCreating default \"Server.ini\" configuration file...'\r\n    cat > Server.ini << EOF\r\n[\/Script\/RBZooKeeper.ZKServer]\r\n; Name of the server 64 characters max)\r\nServerName=Unnamed Ground Branch Server\r\n\r\n; The message of the day (512 characters max)\r\n; e.g. ServerMOTD=This text here is displayed<br>with the 'admin motd' command.\r\nServerMOTD=\"Welcome!\"\r\n\r\n; Set to a jpg image to act as a server banner in-game where possible.\r\n; (recommended resolution: 788 x 386)\r\nServerWebBanner=\"\"\r\n; e.g. ServerWebPage=www.images.com\/myimage.jpeg\r\n\r\n; Password required to join the server.\r\n;ServerPassword=\r\n\r\n; Password required to join the server as a permanent spectator.\r\n;SpectatorOnlyPassword=\r\n\r\n; Maximum number of players allowed on this server.\r\nMaxPlayers=16\r\nMaxSpectators=0\r\n\r\n; Set default match types for game modes and round limits:\r\n; Match types: Continuous, BestOf, FirstTo, Play, PlayUntilWin, TimeLimit.\r\n; Round limits = number of rounds, except Time Limit match type (minutes).\r\n; PVE \/ Co-op:\r\nPVEMatchType=Continuous\r\nPVERoundLimit=2\r\n; PVP:\r\nPVPMatchType=Continuous\r\nPVPRoundLimit=3\r\n; PVP FFA (Free-for-all):\r\nPVPFFAMatchType=Continuous\r\nPVPFFARoundLimit=1\r\nGameRules=((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))\r\nEOF\r\nfi\r\n\r\necho -e \"\\nGround Branch Dedicated Server successfully installed!\\n\"",
 | 
				
			||||||
            "container": "ghcr.io\/pterodactyl\/installers:debian",
 | 
					            "container": "ghcr.io\/pterodactyl\/installers:debian",
 | 
				
			||||||
            "entrypoint": "\/bin\/bash"
 | 
					            "entrypoint": "\/bin\/bash"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user