mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-22 04:07:20 +08:00
Add SuperTuxKart egg (#2823)
* Create egg-super-tux-kart.json * Create ReadMe.md * Update README.md * Update ReadMe.md * Update egg-super-tux-kart.json * Update README.md * Update ReadMe.md * Update egg-super-tux-kart.json * Update ReadMe.md * Update ReadMe.md * Update egg-super-tux-kart.json * more input validation --------- Co-authored-by: Quinten <67589015+QuintenQVD0@users.noreply.github.com>
This commit is contained in:
parent
d9fa481ed4
commit
cb259e4ffa
@ -349,6 +349,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [VEIN](game_eggs/steamcmd_servers/vein)
|
||||
* [Wurm Unlimited](game_eggs/steamcmd_servers/wurm_unlimited/)
|
||||
|
||||
[SuperTuxKart](game_eggs/SuperTuxKart)
|
||||
|
||||
[Teeworlds](game_eggs/teeworlds)
|
||||
|
||||
* [Teeworlds](game_eggs/teeworlds/teeworlds)
|
||||
|
@ -247,6 +247,8 @@
|
||||
* [VEIN](steamcmd_servers/vein)
|
||||
* [Wurm Unlimited](steamcmd_servers/wurm_unlimited/)
|
||||
|
||||
[SuperTuxKart](SuperTuxKart)
|
||||
|
||||
[Teeworlds](teeworlds)
|
||||
|
||||
[Terraria](terraria)
|
||||
|
33
game_eggs/SuperTuxKart/ReadMe.md
Normal file
33
game_eggs/SuperTuxKart/ReadMe.md
Normal file
@ -0,0 +1,33 @@
|
||||
# SuperTuxKart
|
||||
|
||||
SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.
|
||||
|
||||
## [Documentation](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md)
|
||||
|
||||
Essentially this is a standard build of the regular SuperTuxKart client but with a special flag when being compiled that produces a GUI-less binary optimized for size and memory usage.
|
||||
|
||||
## Install notes
|
||||
|
||||
First install will take a while because the games source code and assets will be downloaded and the games executable will have to be compiled.
|
||||
|
||||
## Installation/System Requirements
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| RAM | 1GiB | 1GiB |
|
||||
| Storage | 3GiB | 5GiB |
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 2759 |
|
||||
|
||||
### Notes
|
||||
|
||||
To change server settings, stop the server then edit the 'config.xml' file in the root of the container. When done save the file and start the server.
|
||||
|
||||
2759 is the default port, but any port can be used. You will have to manually change it in the config.xml file.
|
||||
|
||||
To update the server (only should have to be done when the games code or assets are updated) in panel as an admin go to Servers > SuperTuxKart Server > Manage > Reinstall. If you are a standard user go to SuperTuxKart Server > Settings > Reinstall Server. This will download the updated code/assets (should exclude anything that didn't change) and recompile the executable.
|
||||
|
||||
Currently this is setup to run a local lan server. To make this a wan server (available in the SuperTuxKart online lobby list) read the document at this link and make the necessary changes to the [startup command](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md).
|
92
game_eggs/SuperTuxKart/egg-super-tux-kart.json
Normal file
92
game_eggs/SuperTuxKart/egg-super-tux-kart.json
Normal file
@ -0,0 +1,92 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-03-24T19:19:23+01:00",
|
||||
"name": "SuperTuxKart",
|
||||
"author": "mattamn107@github.com",
|
||||
"description": "Egg for hosting a SuperTuxKart Server.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/supertuxkart --server-config={{CONFIG_NAME}} --lan-server={{SERVER_NAME}} --network-console --port=\"{{SERVER_PORT}}\" --difficulty={{DIFFICULTY}} --mode={{MODE}} --max-players={{MAX_PLAYERS}} --motd=\"{{MOTD}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Available command:\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential cmake libbluetooth-dev libsdl2-dev \\\r\n libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \\\r\n libjpeg-dev libogg-dev libopenal-dev libpng-dev \\\r\n libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev subversion\r\n\r\nif [ ! -d \"\/mnt\/server\/stk-code\" ] && [ ! -d \"\/mnt\/server\/stk-assets\" ]; then\r\n \r\n #clone code repo\r\n git clone https:\/\/github.com\/supertuxkart\/stk-code \/mnt\/server\/stk-code\r\n \r\n #get assets\r\n svn co https:\/\/svn.code.sf.net\/p\/supertuxkart\/code\/stk-assets \/mnt\/server\/stk-assets\r\n \r\n # go into the stk-code directory\r\n cd \/mnt\/server\/stk-code\r\n \r\n # create and enter the cmake_build directory\r\n mkdir cmake_build\r\n \r\nelse\r\n\r\n #update existing stuff\r\n cd \/mnt\/server\/stk-assets\r\n svn up\r\n \r\n cd \/mnt\/server\/stk-code\r\n git pull\r\n\r\n\r\nfi\r\n\r\n#build the server\r\ncd cmake_build\r\ncmake .. -DSERVER_ONLY=ON\r\nmake\r\n\r\n#copy binary to root\/bin and make it executable\r\nmkdir \/mnt\/server\/bin\r\ncp \/mnt\/server\/stk-code\/cmake_build\/bin\/supertuxkart \/mnt\/server\/bin\/supertuxkart\r\nchmod +x \/mnt\/server\/bin\/supertuxkart\r\n\r\n#copy data folder\r\ncp -r \/mnt\/server\/stk-code\/data \/mnt\/server\/data\r\n\r\n#copy extra assets to data folder\r\ncd \/mnt\/server\/stk-assets\r\ncp -r library models music sfx textures tracks karts \/mnt\/server\/data\/\r\n\r\n# Delete repo's to save disk space.\r\n#rm -rf \/mnt\/server\/stk-code && rm -rf \/mnt\/server\/stk-assets",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The Name of the Server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl_Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Config File Name",
|
||||
"description": "Name of the Config File.",
|
||||
"env_variable": "CONFIG_NAME",
|
||||
"default_value": "config.xml",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.xml)$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Mode",
|
||||
"description": "0 = Normal Race\r\n1 = Time Trial\r\n2 = Battle\r\n3 = Soccer\r\n4 = Follow The Leader\r\n5 = Capture the Flag",
|
||||
"env_variable": "MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,1,2,3,4,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Difficulty",
|
||||
"description": "Speed of the carts and AI difficulty\r\n0 = Beginner\r\n1 = Intermediate\r\n2 = Expert\r\n3 = SuperTux",
|
||||
"env_variable": "DIFFICULTY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,1,2,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "How many players can there be in the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1,24",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Message of the Day",
|
||||
"description": "Message of the Day displayed in the server.",
|
||||
"env_variable": "MOTD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user