Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The most repeatable way to host a V Rising dedicated server in Docker is to run an image that bundles Wine and SteamCMD, publish the game and query ports over UDP, and keep the server files separate from a persistent data volume. The Compose deployment below uses rhavinx/vrising:latest, stores saves under ./data, and survives container replacement without starting a new world.

You will need to use the environment-variable names documented by the image you choose, forward UDP 9876 and 9877 from your router, and allow time for a new server to propagate in the browser. The same layout also gives you a clear recovery path for updates, settings changes, and clean reinstalls.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What a Docker V Rising server actually runs

Stunlock Studios states: “The V Rising Dedicated Server application is needed to host a dedicated server.” The dedicated server is a Windows application, so a practical Linux container combines three pieces:

  • SteamCMD downloads and updates the dedicated-server files.
  • Wine runs the Windows binary inside the Linux container.
  • Docker Compose supplies repeatable configuration, port publishing, restart behavior, and persistent mounts.

The rhavinx/vrising image documents anonymous SteamCMD downloads and starts the server through Wine. Another documented approach, from Diyagi, uses an Ubuntu 24.04 base with WineHQ 9. These images are not interchangeable: each defines its own environment-variable names and its own rules for generating configuration files.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

A newly launched server can take a few minutes to appear in the in-game list. Treat browser visibility as a separate discovery step from whether the process is running; direct-IP connection and container logs are more useful for diagnosis.

Hardware and host prerequisites

The V Rising Wiki’s 2025 reference figures are a starting point, not a guarantee for every world size or future server build:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Resource Published reference How to use it when sizing the host
Memory Around 4 GB minimum Reserve this as a floor for the server process and container; leave additional memory for the operating system and Docker.
Memory ceiling observed in the reference Up to 16 GB Plan headroom if you expect a larger or long-lived world, but do not interpret this as a fixed allocation requirement.
Disk 5 GB Use this as the published baseline for server files; allow more for saves, logs, image layers, and backups.
CPU Quad-core processor, requiring up to two full cores Keep at least two cores available to the container under normal host load.

Before creating the Compose project, install Docker Engine and the Docker Compose plugin on a Linux host, and make sure your account can run Docker commands. You also need:

  • A stable local address for the Docker host so router forwarding does not point at a changing machine.
  • Administrative access to the router if players will connect from outside your network.
  • Enough free disk space for both the downloaded server and the persistent data directory.
  • A backup destination separate from the live data directory.

Choose one image and follow its variable schema

The Compose example in this guide follows the variable names documented by rhavinx/vrising:latest:

  • SERVER_NAME
  • SERVER_PASSWORD
  • GAME_PORT
  • QUERY_PORT
  • SAVE_NAME
  • LIST_ON_STEAM

Diyagi’s image documents a different schema, including names such as VR_NAME, VR_GAME_PORT, VR_QUERY_PORT, and VR_SAVE_NAME. Copy the names from the documentation for the exact image tag you deploy. Docker will accept an unknown variable silently, which can make a typo look like a server-setting failure.

Do not combine Diyagi variables with the rhavinx image or assume that one image’s configuration-generation behavior applies to the other. Configuration precedence is covered below because it determines whether a manual edit survives a restart.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create the Compose project

1. Make directories with the correct ownership

From a directory where you want the project to live, create separate paths for downloaded binaries and persistent data:

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
mkdir -p ~/vrising-docker/server ~/vrising-docker/data
cd ~/vrising-docker

The bind mounts in the next step are relative to this directory. Keeping them visible on the host makes backups and inspection straightforward.

2. Save a Compose file

Create compose.yaml with the following contents. Replace the sample password before starting the server.

services:
  vrising:
    image: rhavinx/vrising:latest
    container_name: vrising
    stop_grace_period: 30s
    environment:
      SERVER_NAME: "My V Rising Server"
      SERVER_PASSWORD: "change-me"
      GAME_PORT: "9876"
      QUERY_PORT: "9877"
      SAVE_NAME: "world1"
      LIST_ON_STEAM: "true"
    volumes:
      - ./server:/home/steam/vrising/server
      - ./data:/home/steam/vrising/data
    ports:
      - "9876:9876/udp"
      - "9877:9877/udp"
    restart: unless-stopped

The two mounts have different jobs:

  • ./server:/home/steam/vrising/server keeps the downloaded dedicated-server binaries outside the container’s writable layer.
  • ./data:/home/steam/vrising/data keeps the Wine prefix, save files, and settings when the image is recreated or updated.

stop_grace_period: 30s gives the process time to shut down cleanly. restart: unless-stopped brings the service back after a host reboot or an unexpected process exit, while still respecting an intentional docker compose stop.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Start and watch the first launch

  1. Start the service in the background:
    docker compose up -d
  2. Follow the startup output:
    docker compose logs -f
  3. When you have seen enough output, press Ctrl+C. That exits log following; it does not stop the container.
  4. Check the container state separately:
    docker compose ps

On the first run the image downloads server files and creates the data structure. Do not delete the data directory if the browser does not show the server immediately; Stunlock’s guidance allows a few minutes for listing to propagate.

Publish the correct ports

V Rising normally uses UDP 9876 for game traffic and UDP 9877 for Steam queries. Forward the same external-to-internal values unless you deliberately set matching custom ports in the image configuration.

Port Protocol Purpose Where it must be allowed
9876 UDP Game traffic Docker publishing, host firewall, and router forwarding
9876 TCP RCON when RCON is enabled Only expose it when you have enabled RCON and restricted access
9877 UDP Steam server queries and browser discovery Docker publishing, host firewall, and router forwarding

Docker’s ports entries publish only the UDP mappings shown in the Compose file. If you enable RCON on TCP 9876, add a TCP mapping only when your image’s RCON configuration requires it, then limit the source addresses with your host firewall or router. Never expose an administrative port broadly just to make discovery work.

Router forwarding checklist

  1. Give the Docker host a reserved DHCP lease or static local address.
  2. Create a UDP rule for external port 9876 to the host’s port 9876.
  3. Create a UDP rule for external port 9877 to the host’s port 9877.
  4. Allow the same UDP ports through the host firewall.
  5. If RCON is enabled, allow TCP 9876 only from the administrator’s trusted network or address range.

Forwarding a different external port is possible, but players must use the resulting external port and the container must still receive traffic on the configured internal port. Keeping the numbers identical removes an avoidable variable during troubleshooting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Keep saves and settings persistent

Where the world is stored

With the rhavinx layout, saves are under data/Saves/v4/<save name>. For the Compose example, the world named world1 is therefore located below the project’s ./data directory. The data mount also contains the Wine prefix and server settings, so it must be included in backups.

The server mount contains downloaded binaries. Keeping it separate means you can replace or refresh the image without confusing executable files with world data.

Do not casually change SAVE_NAME

The image uses SAVE_NAME to select the world directory. Changing it after the first successful run points the server at a different save name and can make the server appear to have reset. Before changing the value, stop the service, back up ./data, and verify which directory contains the intended save.

Back up before maintenance

Stop the service cleanly before copying live data:

docker compose stop
 tar -C ./data -czf ../vrising-data-$(date +%F).tar.gz .
 docker compose start

The archive command above stores the contents of data one directory above the project. Keep at least one copy on a different disk or host. A backup is especially important before changing image tags, migrating configuration, or using a clean reinstall flag.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand which settings win

V Rising separates host behavior from gameplay rules. The important files are:

  • ServerHostSettings.json for host-level settings such as name, ports, listing, and password-related behavior.
  • ServerGameSettings.json for gameplay settings.

rhavinx precedence

rhavinx documents direct editing of ServerGameSettings.json. It also patches ServerHostSettings.json from environment variables at startup. That means a manual host-file change can be replaced on the next container start if the corresponding environment variable remains set. Keep the host file in the persistent data directory and treat the Compose environment as the source of truth for values it controls.

Diyagi precedence

Diyagi documents environment variables that compile both settings files. Its host variables overwrite ServerHostSettings.json; set COMPILE_HOST_SETTINGS=false before relying on manual host-file edits. Its game-setting variables likewise overwrite ServerGameSettings.json; set COMPILE_GAME_SETTINGS=false to disable that behavior. These flags apply to Diyagi’s image and should not be added to rhavinx unless its documentation defines them.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

A safe change procedure

  1. Identify which image is running with docker compose config and inspect that image’s documented variable list.
  2. Back up the data directory.
  3. Change either the Compose environment or the JSON file according to that image’s precedence rules, not both casually.
  4. Recreate or restart the service so the change is loaded:
    docker compose up -d
  5. Check docker compose logs -f and then verify the setting in-game.

Make the server visible and test a connection

Enable listing

Set LIST_ON_STEAM: "true" in the rhavinx example. If the selected image exposes separate settings for Steam and EOS listing, set both ListOnSteam and ListOnEOS to true. Restart after editing settings. A server can be healthy while the browser still takes a few minutes to display it.

Use direct IP as a diagnostic

Test the public address and UDP 9876 directly from a remote network. This distinguishes a discovery problem from a reachability problem:

  • Direct IP works, browser does not: the process and game port are reachable; wait for propagation and check the query-port forwarding and listing settings.
  • Direct IP fails from outside but works on the LAN: inspect router forwarding, CGNAT, and the host firewall.
  • LAN clients fail too: inspect the Compose port mapping, container logs, and the host firewall before changing public-router rules.

Do not use browser absence alone as evidence that the world failed to load.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Update the server without losing the world

Container images commonly check SteamCMD on startup. Let the selected image perform its documented update check unless you have a reason to skip validation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Normal update

  1. Back up ./data.
  2. Pull the image layers if needed:
    docker compose pull
  3. Recreate the service:
    docker compose up -d
  4. Follow the update and startup output:
    docker compose logs -f

Because the server and data directories are bind-mounted, replacing the container does not remove saves or settings. Confirm that the mounts still point to the same host paths after any Compose-file edit.

Skip an update check only deliberately

rhavinx documents a SKIP_UPDATE option for faster starts without validation. Use it only when you intentionally want to avoid the image’s startup update check; otherwise, leaving the normal check enabled reduces the chance of running stale server files.

Clean reinstall of server files

If the downloaded binaries are damaged or an update is stuck, rhavinx documents REMOVE_SERVER_FILES=1 for one launch. Back up first, set the flag for that launch, start the service, and remove the flag afterward. The documentation says this removes server files while preserving saves and settings in the data volume. Do not delete ./data as a substitute; that would remove the world and configuration you are trying to preserve.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Manual SteamCMD reference

The V Rising Wiki gives this Windows SteamCMD command for updating app ID 1829350:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
steamcmd.exe +login anonymous +app_update 1829350 validate +quit

In the Docker workflow, the image normally runs the equivalent update process for you. The command is useful for understanding what “validate” means and for a non-container installation, not as a reason to modify files inside a running container by hand.

Shutdowns and administration

Graceful shutdown

Use Compose rather than killing the process:

docker compose stop

The 30-second grace period in the example gives the server time to flush state. Start it again with docker compose start, or use docker compose up -d after changing the Compose file.

RCON

Diyagi documents optional RCON configuration through environment variables or ServerHostSettings.json. It also shows commands issued through its CLI, including:

docker exec -it container-name rcon-cli
announce Server maintenance begins in five minutes
docker exec -it container-name rcon-cli shutdown
docker exec -it container-name rcon-cli cancelshutdown

Use the exact container name and command syntax documented by the image you selected. Set a strong RCON password, keep the port private or firewall-restricted, and do not assume that a documented RCON feature has been independently security-audited.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot the common failure modes

The container exits or restarts repeatedly

  • Run docker compose logs --tail=200 and look for download, permission, or configuration errors.
  • Confirm that ./server and ./data are writable by the container’s expected user.
  • Check available memory and disk against the published baseline.
  • Verify that every environment variable belongs to the chosen image’s schema.

The restart policy can hide a crash by immediately starting a new attempt, so inspect logs before changing networking.

The server starts but is not listed

  • Confirm listing is enabled (LIST_ON_STEAM, and ListOnEOS when supported).
  • Allow the few minutes Stunlock describes for a new listing to appear.
  • Verify UDP 9877 forwarding and host-firewall rules for query traffic.
  • Try direct IP on UDP 9876 to separate discovery from game connectivity.

Players cannot connect from outside

  • Check that the router forwards to the current Docker host address, not an old DHCP lease.
  • Confirm both Compose and router rules use UDP, and that the internal port matches GAME_PORT.
  • Check for carrier-grade NAT or another upstream router that prevents inbound forwarding.
  • Test from a genuinely external network; testing the public address from inside the same LAN may be affected by hairpin-NAT behavior.

The world appears to have reset

  • Stop the service before inspecting files.
  • Check data/Saves/v4/ for the previous save name.
  • Compare SAVE_NAME in Compose with the directory you expect.
  • Restore the data backup if the directory was moved or overwritten.

Manual settings keep reverting

For rhavinx, inspect environment variables that patch ServerHostSettings.json. For Diyagi, disable the relevant compiler with COMPILE_HOST_SETTINGS=false or COMPILE_GAME_SETTINGS=false before editing the corresponding JSON file. Restart only after the intended source of truth is clear.

Docker versus managed hosting

Self-managed Docker is appropriate when you want control over files, image updates, logs, firewall rules, and RCON. Managed hosting trades some of that control for a web interface and provider-operated infrastructure. Stunlock’s official hosting guide links PocketHost and describes an interface with status, basic settings, logs, configuration files, restart and update controls, and permission management.

Decision factor Docker on your host Managed hosting
Setup effort You install Docker, write Compose, configure firewall and router forwarding, and maintain the host. The provider supplies the server environment and a control interface.
Version and file control Direct control over image choice, mounts, binaries, JSON files, and backups. Control depends on the provider’s exposed settings and file access.
Backups You design, run, and verify backups of the data volume. Backup scope and retention depend on the provider’s policy.
Networking You are responsible for UDP forwarding, firewall rules, and reachability. The provider normally handles public network exposure.
Logs and administration Compose logs and image-specific RCON tools are available locally. The provider may expose logs, restart controls, and permission management in its interface.
Update workflow You control image pulls, startup validation, and rollback copies. The provider controls the platform’s update workflow.
Recurring cost Depends on your existing host, electricity, bandwidth, and maintenance. Requires a provider plan; verify current pricing and terms separately.

Choose Docker when operational control and hands-on maintenance are worth the setup. Choose managed hosting when avoiding router, firewall, and host administration is the priority.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Operational checklist

  • Use one image’s documented variable names consistently.
  • Keep ./server and ./data as separate persistent mounts.
  • Never change SAVE_NAME without locating and backing up the existing save.
  • Publish UDP 9876 and UDP 9877; expose TCP 9876 only for protected RCON.
  • Set a stop grace period and restart: unless-stopped.
  • Back up the data directory before image updates, configuration migrations, or clean reinstalls.
  • Use logs and direct-IP tests before changing unrelated settings.
  • Allow listing propagation time after the first launch.
  • Keep RCON private and use a strong password.

With those controls in place, Docker provides a repeatable V Rising deployment: SteamCMD and Wine supply the Windows server runtime, Compose documents the service, and the persistent data mount protects the world through restarts and image replacement.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.