mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 02:26:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			282 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			282 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| _comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
 | ||
| meta:
 | ||
|   version: PLCN_v3
 | ||
|   update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/rust/egg-rust.yaml'
 | ||
| exported_at: '2025-09-05T08:56:17+00:00'
 | ||
| name: Rust
 | ||
| author: panel@example.com
 | ||
| uuid: bace2dfb-209c-452a-9459-7d6f340b07ae
 | ||
| description: |-
 | ||
|   The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger,
 | ||
|   thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other
 | ||
|   players, and kill them for meat. Create alliances with other players and form a town. Do whatever it
 | ||
|   takes to survive.
 | ||
| tags:
 | ||
|   - source
 | ||
|   - steamcmd
 | ||
| features:
 | ||
|   - steam_disk_space
 | ||
| docker_images:
 | ||
|   Rust: 'ghcr.io/parkervcp/games:rust'
 | ||
| file_denylist: {  }
 | ||
| startup_commands:
 | ||
|   Default: './RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.queryport {{QUERY_PORT}} +server.identity "rust" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \"{{SERVER_HOSTNAME}}\" +server.level \"{{LEVEL}}\" +server.description \"{{DESCRIPTION}}\" +server.url \"{{SERVER_URL}}\" +server.headerimage \"{{SERVER_IMG}}\" +server.logoimage \"{{SERVER_LOGO}}\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \"{{RCON_PASS}}\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}}  $( [ -z ${MAP_URL} ] && printf %s "+server.worldsize \"{{WORLD_SIZE}}\" +server.seed \"{{WORLD_SEED}}\"" || printf %s "+server.levelurl {{MAP_URL}}" ) {{ADDITIONAL_ARGS}}'
 | ||
| config:
 | ||
|   files: {  }
 | ||
|   startup:
 | ||
|     done: 'Server startup complete'
 | ||
|   logs: {  }
 | ||
|   stop: quit
 | ||
| scripts:
 | ||
|   installation:
 | ||
|     script: |-
 | ||
|       #!/bin/bash
 | ||
|       # steamcmd Base Installation Script
 | ||
|       #
 | ||
|       # Server Files: /mnt/server
 | ||
| 
 | ||
| 
 | ||
|       ## just in case someone removed the defaults.
 | ||
|       if [ "${STEAM_USER}" == "" ]; then
 | ||
|           echo -e "steam user is not set.
 | ||
|       "
 | ||
|           echo -e "Using anonymous user.
 | ||
|       "
 | ||
|           STEAM_USER=anonymous
 | ||
|           STEAM_PASS=""
 | ||
|           STEAM_AUTH=""
 | ||
|       else
 | ||
|           echo -e "user set to ${STEAM_USER}"
 | ||
|       fi
 | ||
| 
 | ||
|       ## download and install steamcmd
 | ||
|       cd /tmp
 | ||
|       mkdir -p /mnt/server/steamcmd
 | ||
|       curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
 | ||
|       tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
 | ||
|       mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
 | ||
|       cd /mnt/server/steamcmd
 | ||
| 
 | ||
|       # SteamCMD fails otherwise for some reason, even running as root.
 | ||
|       # This is changed at the end of the install process anyways.
 | ||
|       chown -R root:root /mnt
 | ||
|       export HOME=/mnt/server
 | ||
| 
 | ||
|       ## install game using steamcmd
 | ||
|       ./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
 | ||
| 
 | ||
|       ## set up 32 bit libraries
 | ||
|       mkdir -p /mnt/server/.steam/sdk32
 | ||
|       cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
 | ||
| 
 | ||
|       ## set up 64 bit libraries
 | ||
|       mkdir -p /mnt/server/.steam/sdk64
 | ||
|       cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
 | ||
|     container: 'ghcr.io/parkervcp/installers:debian'
 | ||
|     entrypoint: bash
 | ||
| variables:
 | ||
|   -
 | ||
|     name: 'Additional Arguments'
 | ||
|     description: 'Add additional startup parameters to the server.'
 | ||
|     env_variable: ADDITIONAL_ARGS
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - string
 | ||
|     sort: 14
 | ||
|   -
 | ||
|     name: 'App ID'
 | ||
|     description: ''
 | ||
|     env_variable: SRCDS_APPID
 | ||
|     default_value: 258550
 | ||
|     user_viewable: false
 | ||
|     user_editable: false
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - string
 | ||
|       - 'in:258550'
 | ||
|     sort: 18
 | ||
|   -
 | ||
|     name: 'App Port'
 | ||
|     description: 'Port for the Rust+ App. -1 to disable.'
 | ||
|     env_variable: APP_PORT
 | ||
|     default_value: 28082
 | ||
|     user_viewable: true
 | ||
|     user_editable: false
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 15
 | ||
|   -
 | ||
|     name: 'Custom Map URL'
 | ||
|     description: |-
 | ||
|       Overwrites the map with the one from the direct download URL. Invalid URLs will cause the server to
 | ||
|       crash.
 | ||
|     env_variable: MAP_URL
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - url
 | ||
|     sort: 17
 | ||
|   -
 | ||
|     name: Description
 | ||
|     description: 'The description under your server title. Commonly used for rules & info. Use \n for newlines.'
 | ||
|     env_variable: DESCRIPTION
 | ||
|     default_value: 'Powered by Panel'
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - string
 | ||
|     sort: 4
 | ||
|   -
 | ||
|     name: Level
 | ||
|     description: 'The world file for Rust to use.'
 | ||
|     env_variable: LEVEL
 | ||
|     default_value: 'Procedural Map'
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - string
 | ||
|       - 'max:20'
 | ||
|     sort: 3
 | ||
|   -
 | ||
|     name: 'Max Players'
 | ||
|     description: 'The maximum amount of players allowed in the server at once.'
 | ||
|     env_variable: MAX_PLAYERS
 | ||
|     default_value: 40
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 8
 | ||
|   -
 | ||
|     name: 'Modding Framework'
 | ||
|     description: "The modding framework to be used: carbon, oxide, vanilla.\r\nDefaults to \"vanilla\" for a non-modded server installation."
 | ||
|     env_variable: FRAMEWORK
 | ||
|     default_value: vanilla
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - 'in:vanilla,oxide,carbon'
 | ||
|     sort: 2
 | ||
|   -
 | ||
|     name: 'Query Port'
 | ||
|     description: "Server Query Port. Can't be the same as Game's primary port."
 | ||
|     env_variable: QUERY_PORT
 | ||
|     default_value: 27017
 | ||
|     user_viewable: true
 | ||
|     user_editable: false
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 10
 | ||
|   -
 | ||
|     name: 'RCON Password'
 | ||
|     description: 'RCON access password.'
 | ||
|     env_variable: RCON_PASS
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - 'regex:/^[\w.-]*$/'
 | ||
|       - 'max:64'
 | ||
|     sort: 12
 | ||
|   -
 | ||
|     name: 'RCON Port'
 | ||
|     description: 'Port for RCON connections.'
 | ||
|     env_variable: RCON_PORT
 | ||
|     default_value: 28016
 | ||
|     user_viewable: true
 | ||
|     user_editable: false
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 11
 | ||
|   -
 | ||
|     name: 'Save Interval'
 | ||
|     description: 'Sets the server’s auto-save interval in seconds.'
 | ||
|     env_variable: SAVEINTERVAL
 | ||
|     default_value: 60
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 13
 | ||
|   -
 | ||
|     name: 'Server Image'
 | ||
|     description: 'The header image for the top of your server listing.'
 | ||
|     env_variable: SERVER_IMG
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - url
 | ||
|     sort: 9
 | ||
|   -
 | ||
|     name: 'Server Logo'
 | ||
|     description: 'The circular server logo for the Rust+ app.'
 | ||
|     env_variable: SERVER_LOGO
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - url
 | ||
|     sort: 16
 | ||
|   -
 | ||
|     name: 'Server Name'
 | ||
|     description: 'The name of your server in the public server list.'
 | ||
|     env_variable: SERVER_HOSTNAME
 | ||
|     default_value: 'A Rust Server'
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - string
 | ||
|       - 'max:60'
 | ||
|     sort: 1
 | ||
|   -
 | ||
|     name: URL
 | ||
|     description: 'The URL for your server. This is what comes up when clicking the "Visit Website" button.'
 | ||
|     env_variable: SERVER_URL
 | ||
|     default_value: 'http://example.com'
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - url
 | ||
|     sort: 5
 | ||
|   -
 | ||
|     name: 'World Seed'
 | ||
|     description: 'The seed for a procedural map.'
 | ||
|     env_variable: WORLD_SEED
 | ||
|     default_value: ''
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - nullable
 | ||
|       - string
 | ||
|     sort: 7
 | ||
|   -
 | ||
|     name: 'World Size'
 | ||
|     description: 'The world size for a procedural map.'
 | ||
|     env_variable: WORLD_SIZE
 | ||
|     default_value: 3000
 | ||
|     user_viewable: true
 | ||
|     user_editable: true
 | ||
|     rules:
 | ||
|       - required
 | ||
|       - integer
 | ||
|     sort: 6
 | 
