mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 11:26:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			281 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			281 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
_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 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
 |