281 lines
7.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
meta:
version: PLCN_v2
update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/rust/egg-rust.yaml'
exported_at: '2025-07-25T13:30:56+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:
'ghcr.io/parkervcp/games:rust': 'ghcr.io/parkervcp/games:rust'
file_denylist: { }
startup: './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 servers 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