Jump to content

Drahkar

Vintarian
  • Posts

    28
  • Joined

  • Last visited

Everything posted by Drahkar

  1. Thank you for calling the issue out. I'm assuming that your actively building the image, instead of just using the published on. I'll get online tonight to update the Dockerfile. The pre-built images work as is.
  2. I'm glad this has been helpful! It was one of the first things I ran into, when I started playing. I generally don't play on my local machine, opting to instead host it on a another one. That way if friends want to play, they can do so without being at my schedule's mercy. Also, thank you for letting me know about the access issue on the packages at the Github Registry. I've fixed that, and it should work fine now. The repository permissions got mixed up when I switched the repo public, after getting the image to build and run correctly. I'm currently working on finding a way to detect when a new version and new build version of the server is available, so that I can automatically kick off the build process for the images. But even without that, I plan to keep the images up to date for those who don't have the ability to run the docker build process themselves. I should have the current build version posted to the registry tonight.
  3. Dedicated Server Docker Image Vintage Story Dedicated Server Docker Image, built on Ubuntu 24.04 is based on the official Vintage Story server installation instructions and extracted from server.sh for better Docker compatibility. Official dedicated server guide: https://wiki.vintagestory.at/Guide:Dedicated_Server Docker Image References Container Registries Docker Hub: ralnoc/vintagestory ralnoc/vintagestory:1.22.7 GitHub Container Registry: ghcr.io/darkmatterproductions/vintagestory ghcr.io/darkmatterproductions/vintagestory:1.22.7 Support For issues, questions, or contributions: GitHub Issues: https://github.com/DarkMatterProductions/vintagestory/issues Official Wiki: https://wiki.vintagestory.at/ Quick Start Basic Server Important Note: This will use default settings and is not suitable for production use. Ensure you use environment variables or a custom configuration file for a production server. Run a basic Vintage Story server with default settings: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -v /path/to/your/vs/data:/vintagestory/data \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Server with Configuration Run with a custom server name and settings: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Vintage Story Server" \ -e VS_CFG_MAX_CLIENTS=20 \ -e VS_CFG_SERVER_PASSWORD="secret123" \ -e ENABLE_DEBUG_LOGGING=true \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Important: Replace /path/to/your/vs/data with the actual path on your host machine where you want to persist server data. This ensures your world data, configurations, and mods are not lost when the container is removed or upgraded. Security Best Practices Always change default passwords in production environments Change VS_RCON_SERVER_CFG_PASSWORD Change VS_RCON_CLIENT_CFG_SERVER_SECRET_KEY Change VS_RCON_CLIENT_CFG_SECURITY_DEFAULT_PASSWORD Use strong, unique passwords for each setting RCON is an unencrypted protocol, always use some form of encryption or limit to localhost access. The RCON WebUI was created to address this. Data Persistence Mounting the Data Volume Always mount the /vintagestory/data volume to a persistent location on your host. This ensures: World data is preserved across container updates Server configurations persist Mods are retained Player data is not lost Recovering data from within the container If you inadvertently started your game without mounting the /vintagestory/data volume, you can extract your data from the container using the following command: docker cp vintagestory-server:/vintagestory/data /path/you/want/to/save/your/vs/data This will allow you to extract your data, and start a new container mounting the volume to the new path you have saved your data to. Upgrading When using ghcr.io/darkmatterproductions/vintagestory:latest or ralnoc/vintagestory:latest, the image always installs the latest version of Vintage Story. IMPORTANT: If you need to extract your game data from within the container, please refer to the "Recovering data from within the container" section above before proceeding with the upgrade steps. To upgrade: # Stop and remove old container docker stop vintagestory-server docker rm vintagestory-server # Ensure you have your data backed up or mounted to a volume before removing the container # Pull latest image docker pull ghcr.io/darkmatterproductions/vintagestory:latest # Start new container with same volumes docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -v /path/to/your/vs/data:/vintagestory/data \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Or with Docker Compose: docker-compose pull docker-compose up -d Container Commands Running the Container Basic Run docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Run with RCON Web Client docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e VS_RCON_ENABLED=true \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Managing the Container Start the Container docker start vintagestory-server Stop the Container docker stop vintagestory-server Restart the Container docker restart vintagestory-server Remove the Container docker stop vintagestory-server docker rm vintagestory-server Viewing Logs View All Logs docker logs vintagestory-server Follow Logs in Real-Time docker logs -f vintagestory-server View Last 100 Lines docker logs --tail 100 vintagestory-server View Logs with Timestamps docker logs -t vintagestory-server View Container Statistics docker stats vintagestory-server Inspect Container Configuration docker inspect vintagestory-server Environment Variables Reference Boolean Values Boolean environment variables accept the following values (case-insensitive): True: true, 1, yes, on False: false, 0, no, off General Logging Configuration Control logging behavior for the Vintage Story server. Variable Type Default Description ENABLE_DEBUG_LOGGING Boolean false Enables debug level logging for troubleshooting ENABLE_CHAT_LOGGING Boolean false Enables chat message logging to server logs FORCE_REGENERATE_CONFIG Boolean false Forces regeneration of serverconfig.json on startup Example: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e ENABLE_DEBUG_LOGGING=true \ -e ENABLE_CHAT_LOGGING=true \ ghcr.io/darkmatterproductions/vintagestory:latest Server Configuration Variables These variables configure the Vintage Story game server and map to settings in serverconfig.json. All variables with the VS_CFG_ prefix override corresponding server settings. Variable Type Default Description VS_CFG_SERVER_NAME String (from server-config.yaml) The name of your server as displayed in the server list VS_CFG_SERVER_URL String (from server-config.yaml) URL to your server's website or information page VS_CFG_SERVER_DESCRIPTION String (from server-config.yaml) Server description shown in the server list VS_CFG_WELCOME_MESSAGE String (from server-config.yaml) Message displayed to players when they join VS_CFG_ALLOW_CREATIVE_MODE Boolean (from server-config.yaml) Whether creative mode is allowed (true/false/1/0/yes) VS_CFG_SERVER_IP String (from server-config.yaml) IP address the server binds to (0.0.0.0 for all interfaces) VS_CFG_SERVER_PORT Integer (from server-config.yaml) Port number the game server listens on (default: 42420) VS_CFG_SERVER_UPNP Boolean (from server-config.yaml) Enable UPnP port forwarding (true/false/1/0/yes) VS_CFG_SERVER_COMPRESS_PACKETS Boolean (from server-config.yaml) Enable packet compression to reduce bandwidth VS_CFG_ADVERTISE_SERVER Boolean (from server-config.yaml) Advertise server in the public server list VS_CFG_MAX_CLIENTS Integer (from server-config.yaml) Maximum number of concurrent players allowed VS_CFG_PASS_TIME_WHEN_EMPTY Boolean (from server-config.yaml) Whether time passes when no players are online VS_CFG_SERVER_PASSWORD String (from server-config.yaml) Password required to join the server (empty for no password) VS_CFG_MAX_CHUNK_RADIUS Integer (from server-config.yaml) Maximum chunk view distance allowed for clients VS_CFG_SERVER_LANGUAGE String (from server-config.yaml) Server language code (e.g., "en", "de", "fr") VS_CFG_ENFORCE_WHITELIST Boolean (from server-config.yaml) Whitelist enforcement mode VS_CFG_ANTIABUSE Integer (from server-config.yaml) Anti-abuse protection level (0=disabled, 1=enabled) VS_CFG_ALLOW_PVP Boolean (from server-config.yaml) Allow player-vs-player combat VS_CFG_HOSTED_MODE Boolean (from server-config.yaml) Enable hosted mode restrictions VS_CFG_HOSTED_MODE_ALLOW_MODS Boolean (from server-config.yaml) Allow mods in hosted mode Example: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e VS_RCON_ENABLED=true \ ghcr.io/darkmatterproductions/vintagestory:latest Note: Values marked as "(from server-config.yaml)" come from the server-config.yaml file and are only overridden if the environment variable is explicitly set. Mod Management Variables Control which mods are downloaded and installed on the server. Variable Type Default Description VS_MODS String "" Comma-separated list of mod download paths from mods.vintagestory.at Format: modid/filename.zip,modid2/filename2.zip VS_RCON_ENABLED Boolean false Set to true to enable RCON functionality and download the RCON mod VS_RCON_MOD_VERSION String 2.0.2 Version of the VintageRCon mod to download when RCON is enabled Example: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e VS_RCON_ENABLED=true \ -e VS_MODS="72291/vsvanillaplus_0.1.5.zip,75006/BetterRuinsv0.5.7.zip,73792/configlib_1.10.14.zip" \ -e VS_RCON_ENABLED=true \ -e VS_RCON_MOD_VERSION="2.0.2" \ ghcr.io/darkmatterproductions/vintagestory:latest RCON Server Configuration Configure the RCON server connection settings. These control how the RCON web client connects to the Vintage Story server's RCON interface. Variable Type Default Description VS_RCON_SERVER_CFG_PORT Integer 42425 Port number the Vintage Story RCON server listens on VS_RCON_SERVER_CFG_IP String 127.0.0.1 IP address of the Vintage Story RCON server VS_RCON_SERVER_CFG_PASSWORD String changeme Password for authenticating to the RCON server CHANGE IN PRODUCTION VS_RCON_SERVER_CFG_TIMEOUT Integer 20 Connection timeout in seconds VS_RCON_SERVER_CFG_MAXCONNECTIONS Integer 10 Maximum number of concurrent RCON connections allowed Example: docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e VS_RCON_ENABLED=true \ -e VS_RCON_SERVER_CFG_PORT=42425 \ -e VS_RCON_SERVER_CFG_PASSWORD="secure-rcon-password" \ -e VS_RCON_SERVER_CFG_TIMEOUT=30 \ ghcr.io/darkmatterproductions/vintagestory:latest RCON Web Client Configuration Configure the RCON web client application that provides a browser-based interface for server administration. Note: Web Client leverages the Async mode for the python library rcon to communicate with the server's RCON interface, so the RCON server must be enabled and properly configured for the web client to function. Server Settings Variable Type Default Description VS_RCON_CLIENT_CFG_SERVER_HOST String 0.0.0.0 Host address the web client listens on (0.0.0.0 for all interfaces) VS_RCON_CLIENT_CFG_SERVER_PORT Integer 5000 Port number the web client listens on VS_RCON_CLIENT_CFG_SERVER_SECRET_KEY String vintage-story-rcon-... Secret key for session encryption CHANGE IN PRODUCTION RCON Connection Settings Variable Type Default Description VS_RCON_CLIENT_CFG_RCON_DEFAULT_HOST String localhost Default RCON host to connect to Value must match VS_RCON_SERVER_CFG_IP VS_RCON_CLIENT_CFG_RCON_DEFAULT_PORT Integer 42425 Default RCON port to connect to Value must match VS_RCON_SERVER_CFG_PORT VS_RCON_CLIENT_CFG_RCON_PASSWORD String changeme RCON password for authentication CHANGE IN PRODUCTION Value must match VS_RCON_SERVER_CFG_PASSWORD VS_RCON_CLIENT_CFG_RCON_LOCKED_ADDRESS Boolean false Lock RCON connection to default host/port (true/false) VS_RCON_CLIENT_CFG_RCON_TIMEOUT Integer 10 RCON connection timeout in seconds VS_RCON_CLIENT_CFG_RCON_MAX_MESSAGE_SIZE Integer 4096 Maximum RCON message size in bytes Security Settings Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_REQUIRE_AUTH Boolean true Require authentication to access the web client VS_RCON_CLIENT_CFG_SECURITY_TRADITIONAL_LOGIN_ENABLED Boolean true Enable traditional username/password login VS_RCON_CLIENT_CFG_SECURITY_DEFAULT_USERNAME String admin Default username for traditional login CHANGE IN PRODUCTION VS_RCON_CLIENT_CFG_SECURITY_DEFAULT_PASSWORD String changeme Default password for traditional login CHANGE IN PRODUCTION VS_RCON_CLIENT_CFG_SECURITY_MAX_LOGIN_ATTEMPTS Integer 5 Maximum login attempts before lockout VS_RCON_CLIENT_CFG_SECURITY_LOCKOUT_DURATION Integer 300 Account lockout duration in seconds after max attempts OAuth Settings Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_OAUTH_ENABLED Boolean true Enable OAuth authentication providers VS_RCON_CLIENT_CFG_SECURITY_OAUTH_AUTHORIZED_EMAILS String admin@example.com,... Comma-separated list of authorized email addresses for OAuth login Important Note: If you do not have access to a reverse proxy (such as NGINX or HAProxy) that can handle SSL/TLS certificates and port mapping, you should disable OAuth and use traditional username/password authentication instead. Most OAuth providers require HTTPS for security, which is not provided directly by the Docker container. Provider Redirect URIs All provider redirect URIs must be configured in the provider's app settings to point to your application. Below are the URIs for each provider. Replace yourdomain.com with your actual domain. IMPORTANT NOTE: Be aware most providers require HTTPS for the URL. URI Examples Google: https://yourdomain.com/login/oauth/google/authorize Facebook: https://yourdomain.com/login/oauth/facebook/authorize GitHub: https://yourdomain.com/login/oauth/github/authorize Apple: https://yourdomain.com/login/oauth/apple/authorize Provider Registration Links Provider Registration URL Google https://console.cloud.google.com/ Facebook https://developers.facebook.com/ GitHub https://github.com/settings/developers Apple https://developer.apple.com/account/ Google OAuth Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_ENABLED Boolean true Enable Google OAuth login VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_ID String your-google-client-id... Google OAuth client ID VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_SECRET String your-google-client-secret Google OAuth client secret Go to Google Cloud Console Create a new project or select an existing one Navigate to "APIs & Services" > "Credentials" Click "Create Credentials" > "OAuth client ID" Choose "Web application" as the application type Add authorized redirect URIs: https://yourdomain.com/login/oauth/google/authorize Copy the Client ID and Client Secret Facebook OAuth Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_OAUTH_FACEBOOK_ENABLED Boolean false Enable Facebook OAuth login VS_RCON_CLIENT_CFG_SECURITY_OAUTH_FACEBOOK_CLIENT_ID String your-facebook-app-id Facebook OAuth app ID VS_RCON_CLIENT_CFG_SECURITY_OAUTH_FACEBOOK_CLIENT_SECRET String your-facebook-app-secret Facebook OAuth app secret Go to Facebook Developers Create a new app or select an existing one Add the "Facebook Login" product In "Facebook Login" settings, add Valid OAuth Redirect URIs: https://yourdomain.com/login/oauth/facebook/authorize (for production) Copy the App ID and App Secret from Settings > Basic GitHub OAuth Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GITHUB_ENABLED Boolean false Enable GitHub OAuth login VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GITHUB_CLIENT_ID String your-github-client-id GitHub OAuth client ID VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GITHUB_CLIENT_SECRET String your-github-client-secret GitHub OAuth client secret Go to GitHub Developer Settings Click "New OAuth App" Fill in the application details: Authorization callback URL: https://yourdomain.com/login/oauth/github/authorize Copy the Client ID and generate a Client Secret Apple OAuth Variable Type Default Description VS_RCON_CLIENT_CFG_SECURITY_OAUTH_APPLE_ENABLED Boolean false Enable Apple OAuth login VS_RCON_CLIENT_CFG_SECURITY_OAUTH_APPLE_CLIENT_ID String your-apple-service-id Apple OAuth service ID VS_RCON_CLIENT_CFG_SECURITY_OAUTH_APPLE_CLIENT_SECRET String your-apple-client-secret Apple OAuth client secret VS_RCON_CLIENT_CFG_SECURITY_OAUTH_APPLE_TEAM_ID String your-apple-team-id Apple Developer Team ID VS_RCON_CLIENT_CFG_SECURITY_OAUTH_APPLE_KEY_ID String your-apple-key-id Apple OAuth key ID Logging Settings Variable Type Default Description VS_RCON_CLIENT_CFG_LOGGING_LOG_COMMANDS Boolean true Log RCON commands to file VS_RCON_CLIENT_CFG_LOGGING_LOG_FILE String logs/rcon.log Path to RCON client log file VS_RCON_CLIENT_CFG_LOGGING_LOG_LEVEL String INFO Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) Example (RCON with OAuth): docker run -d \ --name vintagestory-server \ -p 42420:42420/tcp \ -p 42420:42420/udp \ -p 5000:5000/tcp \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Awesome Server" \ -e VS_CFG_SERVER_DESCRIPTION="A friendly survival server" \ -e VS_CFG_MAX_CLIENTS=16 \ -e VS_CFG_SERVER_PASSWORD="mypassword" \ -e VS_RCON_ENABLED=true \ -e VS_RCON_SERVER_CFG_PASSWORD="my-secure-rcon-password" \ -e VS_RCON_CLIENT_CFG_SERVER_SECRET_KEY="my-unique-secret-key-change-me" \ -e VS_RCON_CLIENT_CFG_SECURITY_DEFAULT_PASSWORD="web-admin-password" \ -e VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_ENABLED=true \ -e VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_ID="your-google-id.apps.googleusercontent.com" \ -e VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_SECRET="your-google-secret" \ -e VS_RCON_CLIENT_CFG_SECURITY_OAUTH_AUTHORIZED_EMAILS="admin@example.com,player@example.com" \ --restart unless-stopped \ ghcr.io/darkmatterproductions/vintagestory:latest Configuration Options There are four options for handling configuration of the Vintage Story server: 1. Default Configuration Use the default configuration as defined within the Docker image. Not recommended for production use. 2. Pre-created serverconfig.json Pre-create the serverconfig.json configuration file in your mapped data directory. This file will be used by the server on the first run. # Create your serverconfig.json in the data directory before starting docker run -d \ -v /path/to/your/vs/data:/vintagestory/data \ ghcr.io/darkmatterproductions/vintagestory:latest 3. Custom server-config.yaml Create an updated server-config.yaml and mount it into the container at /vintagestory/server-config.yaml. This will cause the server to generate a serverconfig.json file based on the provided YAML configuration. docker run -d \ -v /path/to/your/vs/data:/vintagestory/data \ -v /path/to/your/server-config.yaml:/vintagestory/server-config.yaml \ ghcr.io/darkmatterproductions/vintagestory:latest 4. Environment Variables Use environment variables to override specific configuration options. See the Environment Variables Reference section above. docker run -d \ -v /path/to/your/vs/data:/vintagestory/data \ -e VS_CFG_SERVER_NAME="My Server" \ -e VS_CFG_MAX_CLIENTS=20 \ ghcr.io/darkmatterproductions/vintagestory:latest Priority Order: Environment variables override values in server-config.yaml, which override default values. Docker Compose Examples Basic Server version: '3.8' services: vintagestory-server: image: ghcr.io/darkmatterproductions/vintagestory:latest container_name: vintagestory-server ports: - "42420:42420/tcp" - "42420:42420/udp" volumes: - /path/to/your/vs/data:/vintagestory/data environment: - ENABLE_DEBUG_LOGGING=false - ENABLE_CHAT_LOGGING=true - VS_CFG_SERVER_NAME="My Awesome Server" - VS_CFG_SERVER_DESCRIPTION="A friendly survival server" - VS_CFG_MAX_CLIENTS=16 - VS_CFG_SERVER_PASSWORD="mypassword" restart: unless-stopped Start the server: docker-compose up -d Server with RCON and OAuth version: '3.8' services: vintagestory-server: image: ghcr.io/darkmatterproductions/vintagestory:latest container_name: vintagestory-server ports: - "42420:42420/tcp" - "42420:42420/udp" - "5000:5000/tcp" volumes: - /path/to/your/vs/data:/vintagestory/data environment: # Server Configuration - VS_CFG_SERVER_NAME="My Awesome Server" - VS_CFG_SERVER_DESCRIPTION="A friendly survival server" - VS_CFG_MAX_CLIENTS=16 - VS_CFG_SERVER_PASSWORD="mypassword" # RCON Mod - VS_RCON_ENABLED=true - VS_RCON_MOD_VERSION=2.0.0 # RCON Server - VS_RCON_SERVER_CFG_PORT=42425 - VS_RCON_SERVER_CFG_PASSWORD=rcon-password # RCON Web Client - VS_RCON_CLIENT_CFG_SERVER_PORT=5000 - VS_RCON_CLIENT_CFG_SERVER_SECRET_KEY=my-secret-key-change-me - VS_RCON_CLIENT_CFG_SECURITY_DEFAULT_PASSWORD=admin-password # OAuth - VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_ENABLED=true - VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com - VS_RCON_CLIENT_CFG_SECURITY_OAUTH_GOOGLE_CLIENT_SECRET=your-client-secret - VS_RCON_CLIENT_CFG_SECURITY_OAUTH_AUTHORIZED_EMAILS=admin@example.com,user@example.com # Mods - VS_MODS=12345/mod1.zip,67890/mod2.zip restart: unless-stopped Docker Compose with Build Build the image from source with specific version: version: '3.8' services: vintagestory-server: build: context: . args: VS_VERSION: 1.22.7 DOTNET_VERSION: 10.0 image: vintagestory:1.22.7 container_name: vintagestory-server ports: - "42420:42420/tcp" - "42420:42420/udp" volumes: - /path/to/your/vs/data:/vintagestory/data environment: - ENABLE_DEBUG_LOGGING=true - VS_CFG_SERVER_NAME="My Awesome Server" - VS_CFG_SERVER_DESCRIPTION="A friendly survival server" - VS_CFG_MAX_CLIENTS=16 - VS_CFG_SERVER_PASSWORD="mypassword" restart: unless-stopped Build and start: docker-compose up -d --build Building the Image Build with Specific Version docker build \ -t vintagestory:1.22.7 \ --build-arg VS_VERSION=1.22.7 \ --build-arg DOTNET_VERSION=10.0 \ . Build with Environment Variables export VS_VERSION=1.22.7 export DOTNET_VERSION=10.0 docker build \ -t vintagestory:$VS_VERSION \ --build-arg VS_VERSION=$VS_VERSION \ --build-arg DOTNET_VERSION=$DOTNET_VERSION \ . Build Arguments Argument Description Default VS_VERSION Version of Vintage Story to install (required) DOTNET_VERSION Version of .NET SDK to use 10.0
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.