Coder Social home page Coder Social logo

steamcmd-arm64's Introduction

Docker Pulls Bookworm Images Bullseye Images

Supported tags and respective Dockerfile links

Important

New versions of the Docker image are built every 24 hours to keep up with Box86 and Box64 updates. The rest of the installed packages are version pinned to ensure stability.

What is SteamCMD?

The Steam Console Client or SteamCMD is a command-line version of the Steam client. Its primary use is to install and update various dedicated servers available on Steam using a command-line interface. It works with games that use the SteamPipe content system. All games have been migrated from the deprecated HLDSUpdateTool to SteamCMD. This image can be used as a base image for Steam-based dedicated servers (Source: developer.valvesoftware.com).

What makes this compatible with ARM64?

This image has Box64 and Box86 integrated. By default, SteamCMD will be using Box86 when running via the steamcmd.sh shell script. Box86 is needed as SteamCMD itself a 32-bit binary application. For 64-bit server binaries, please use Box64 /usr/local/bin/box64. For tweaking, environment variables could be used for both Box64 and Box86.

How to use this image

Important

Images are hosted in ghcr.io (ghcr.io/sonroyaalmerol/steamcmd-arm64) and Docker Hub (sonroyaalmerol/steamcmd-arm64).

Whilst it's recommended to use this image as a base image of other game servers, you can also run it in an interactive shell using the following command:

$ docker run -it --name=steamcmd ghcr.io/sonroyaalmerol/steamcmd-arm64 bash
$ ./steamcmd.sh +force_install_dir /home/steam/squad-dedicated +login anonymous +app_update 403240 +quit

This can prove useful if you are just looking to test a certain game server installation.

Running with named volumes:

$ docker volume create steamcmd_login_volume # Optional: Location of login session
$ docker volume create steamcmd_volume # Optional: Location of SteamCMD installation

$ docker run -it \
    -v "steamcmd_login_volume:/home/steam/Steam" \
    -v "steamcmd_volume:/home/steam/steamcmd" \
    ghcr.io/sonroyaalmerol/steamcmd-arm64 bash

This setup is necessary if you have to download a non-anonymous appID or upload a steampipe build. For an example check out: https://hub.docker.com/r/cm2network/steampipe/

Configuration

This image includes the nano text editor for convenience.

The steamcmd.sh can be found in the following directory: /home/steam/steamcmd

Examples

Images utilizing this base image:

Image Pulls
thijsvanloef/palworld-server-docker Docker Pulls

Image Variants

The steamcmd images come in two flavors, each designed for a specific use case.

steamcmd-arm64:latest

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used as the base to build other images off of. This image's default user is steam, any command executed in a higher layer Dockerfile will therefor be executed as that user.

steamcmd-arm64:root

This is a specialized image. This image's default user is root. If you need to install additional packages for you game server and do not want to create excess layers, then this is the right choice.

Note: Running the steamcmd.sh as root will fail because the owner is the user steam, either swap the active user using su steam or use chown to change the ownership of the directory.

steamcmd-arm64's People

Watchers

 avatar Thijs van Loef avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.