HomeStart / GuidesAnleitungen / Self-hosting Foundry VTT on a VPS/ Foundry VTT selbst hosten auf einem VPS

Self-hosting Foundry Virtual Tabletop on a VPS: your own licence key, Caddy HTTPS, and the NAT port catchFoundry Virtual Tabletop selbst hosten auf einem VPS: Ihr eigener Lizenzschlüssel, Caddy-HTTPS und die NAT-Port-Falle

Foundry Virtual Tabletop is built to be self-hosted — the developers sell you a licence and a Node.js package, not a subscription to their own servers — which means the entire job here is running one small process correctly, keeping port 30000 off the open internet, and not losing the folder that holds every world you've built. None of that is hard. All of it is easy to get almost right and then wonder why a player's dice roll never arrives.Foundry Virtual Tabletop ist von Grund auf fürs Selbsthosten gebaut – die Entwickler verkaufen Ihnen eine Lizenz und ein Node.js-Paket, kein Abo für ihre eigenen Server –, weshalb die ganze Aufgabe hier darin besteht, einen kleinen Prozess korrekt laufen zu lassen, Port 30000 vom offenen Internet fernzuhalten und den Ordner nicht zu verlieren, der jede Welt enthält, die Sie gebaut haben. Nichts davon ist schwer. Alles davon lässt sich leicht fast richtig machen – und dann fragen Sie sich, warum der Würfelwurf eines Spielers nie ankommt.

What you need first: your own Foundry licence keyWas Sie zuerst brauchen: Ihren eigenen Foundry-Lizenzschlüssel

Foundry is a one-time purchase from foundryvtt.com, tied to your own account there, and it is the one piece nothing here replaces. overnight.host does not sell, include, or provide a Foundry licence key — this guide is about the VPS underneath it, not the software itself. Buy the licence from Foundry directly, sign in to your account's Purchased Licenses page, and keep the key next to whatever else you consider account-critical; you'll need that same account again for every future download, not just the first one.Foundry ist ein einmaliger Kauf bei foundryvtt.com, gebunden an Ihr eigenes Konto dort, und das ist das eine Stück, das hier durch nichts ersetzt wird. overnight.host verkauft, liefert oder stellt keinen Foundry-Lizenzschlüssel bereit – diese Anleitung dreht sich um den VPS darunter, nicht um die Software selbst. Kaufen Sie die Lizenz direkt bei Foundry, melden Sie sich auf der Purchased Licenses-Seite Ihres Kontos an und bewahren Sie den Schlüssel dort auf, wo Sie sonst alles Kontokritische aufbewahren; Sie brauchen genau dieses Konto für jeden zukünftigen Download wieder, nicht nur für den ersten.

Node.js and the Foundry server packageNode.js und das Foundry-Server-Paket

Foundry ships as a plain Node.js application, and Ubuntu 24.04's own package archive lags behind what current Foundry releases expect, so pull Node from NodeSource's repository instead of apt install nodejs:Foundry kommt als reine Node.js-Anwendung, und das eigene Paketarchiv von Ubuntu 24.04 hinkt dem hinterher, was aktuelle Foundry-Releases erwarten – ziehen Sie Node deshalb aus dem Repository von NodeSource statt mit apt install nodejs:

curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource-setup.sh
less nodesource-setup.sh
sudo bash nodesource-setup.sh
sudo apt install -y nodejs
node -v

Read the script before you run it, the same rule as any install script. Foundry's own release notes state the Node.js major version a given Foundry version needs — check that page for the release you're installing rather than assuming the LTS you just installed is automatically new enough.Lesen Sie das Skript, bevor Sie es ausführen – dieselbe Regel wie bei jedem Install-Skript. Foundrys eigene Release Notes nennen die Node.js-Hauptversion, die eine bestimmte Foundry-Version braucht – prüfen Sie diese Seite für das Release, das Sie installieren, statt anzunehmen, dass die LTS-Version, die Sie gerade installiert haben, automatisch neu genug ist.

From your Purchased Licenses page, the Node.js download button gives you a timed URL for foundryvtt-<version>.zip — it expires after a short window, so kick off the download promptly rather than copying the link for later. Minimal Ubuntu 24.04 images skip unzip, and Linux globs are case-sensitive, so install it and check the filename that actually landed first:Auf Ihrer Purchased Licenses-Seite liefert Ihnen der Node.js-Download-Button eine zeitlich begrenzte URL für foundryvtt-<version>.zip – sie läuft nach einem kurzen Fenster ab, starten Sie den Download also sofort, statt den Link für später zu kopieren. Minimale Ubuntu-24.04-Images lassen unzip weg, und Linux-Globs unterscheiden Groß- und Kleinschreibung – installieren Sie es also und prüfen Sie zuerst den tatsächlich gelandeten Dateinamen:

sudo apt install -y unzip
ls ~/*.zip
mkdir -p ~/foundry/resources ~/foundry/data
cd ~/foundry/resources
unzip ~/foundryvtt-*.zip

Keep those two directories separate on purpose. resources is the application code you just unzipped and will overwrite on every upgrade; data is everything you actually own — worlds, modules, assets — and an upgrade must never touch it.Halten Sie diese beiden Verzeichnisse absichtlich getrennt. resources ist der Anwendungscode, den Sie gerade entpackt haben und der bei jedem Upgrade überschrieben wird; data ist alles, was Ihnen tatsächlich gehört – Welten, Module, Assets –, und ein Upgrade darf das niemals anfassen.

First run and the Data directoryErster Start und das Data-Verzeichnis

Start it by hand once, from inside resources, pointing --dataPath at the folder you made for it:Starten Sie es einmal von Hand, aus resources heraus, und zeigen Sie mit --dataPath auf den Ordner, den Sie dafür angelegt haben:

node main.js --dataPath=/home/youruser/foundry/data --port=30000

The first request to port 30000 lands on Foundry's Setup screen rather than a running game — that's where you enter your licence key, and where a fresh Config/options.json gets written under your data directory to hold the settings from here on. Everything that makes a world a world lives under data/Data: worlds/ for your campaigns, modules/ and systems/ for anything you install, and whatever maps, tokens, and audio you keep yourself — an assets/ folder is a common convention, not something Foundry manages. That one folder is the entire application state — the Node code in resources is disposable and gets replaced on every upgrade.Die erste Anfrage an Port 30000 landet auf Foundrys Setup-Bildschirm statt auf einem laufenden Spiel – dort geben Sie Ihren Lizenzschlüssel ein, und dort wird eine frische Config/options.json unter Ihrem Datenverzeichnis angelegt, die von da an die Einstellungen hält. Alles, was eine Welt zu einer Welt macht, lebt unter data/Data: worlds/ für Ihre Kampagnen, modules/ und systems/ für alles, was Sie installieren, und was immer Sie selbst an Karten, Token und Audio dort ablegen – ein assets/-Ordner ist eine übliche Konvention, kein von Foundry verwaltetes Verzeichnis. Dieser eine Ordner ist der gesamte Anwendungszustand – der Node-Code in resources ist Wegwerfware und wird bei jedem Upgrade ersetzt.

HTTPS with Caddy — and the websocket Foundry needsHTTPS mit Caddy – und das WebSocket, das Foundry braucht

Foundry's whole play experience — dice rolls, token drags, chat — runs over a persistent WebSocket, not periodic page loads, so the reverse proxy in front of it has to pass that upgrade through cleanly. Caddy does, with no extra configuration:Foundrys gesamtes Spielerlebnis – Würfelwürfe, Token-Ziehen, Chat – läuft über ein dauerhaftes WebSocket, nicht über periodische Seitenaufrufe, weshalb der Reverse-Proxy davor dieses Upgrade sauber durchreichen muss. Caddy tut das, ganz ohne zusätzliche Konfiguration:

foundry.example.com {
    reverse_proxy 127.0.0.1:30000
}

Point the domain's A record at the VPS and let it propagate before Caddy tries to get a certificate. Neither --dataPath nor --port restricts which interface Foundry listens on — left alone, Node's server binds every interface, so a box with a public IP serves plain HTTP straight off 30000, Caddy or not. Fix it with a setting, not an assumption: on the Setup screen's Configuration tab, set Local Hostname to 127.0.0.1 and restart. Back it with the firewall too — sudo ufw status first (a fresh install ships inactive), then:Richten Sie den A-Record der Domain auf den VPS und lassen Sie ihn sich verbreiten, bevor Caddy versucht, ein Zertifikat zu holen. Weder --dataPath noch --port schränken ein, auf welchem Interface Foundry lauscht – unangetastet bindet Nodes Server an jedes Interface, sodass eine Box mit öffentlicher IP direkt auf 30000 blankes HTTP ausliefert, Caddy hin oder her. Beheben Sie das mit einer Einstellung, nicht mit einer Annahme: Setzen Sie auf dem Configuration-Tab des Setup-Bildschirms Local Hostname auf 127.0.0.1 und starten Sie neu. Sichern Sie es zusätzlich über die Firewall ab – zuerst sudo ufw status (eine frische Installation liefert sie inaktiv aus), dann:

sudo ufw deny 30000/tcp

Only then does 30000 genuinely need no firewall or NAT hole opened for it.Erst dann braucht 30000 wirklich kein Firewall- oder NAT-Loch mehr, das für ihn geöffnet wird.

One more setting on that same tab matters as much as the Caddyfile: tell Foundry it's sitting behind a proxy — turn on Proxy SSL and set Proxy Port to 443. Skip this and Foundry builds its own asset and WebSocket URLs assuming plain HTTP on the port it's actually listening on, which is exactly the kind of thing that looks fine on the login screen and then quietly drops the connection the moment a player tries to move a token.Eine weitere Einstellung auf demselben Tab ist genauso wichtig wie die Caddyfile: Sagen Sie Foundry, dass es hinter einem Proxy sitzt – schalten Sie Proxy SSL ein und setzen Sie Proxy Port auf 443. Überspringen Sie das, baut Foundry seine eigenen Asset- und WebSocket-URLs unter der Annahme von blankem HTTP auf dem Port, auf dem es tatsächlich lauscht – genau die Art von Sache, die auf dem Login-Bildschirm völlig in Ordnung aussieht und dann still die Verbindung fallen lässt, sobald ein Spieler versucht, einen Token zu bewegen.

Read this before you buy: the NAT port-forward catchLesen Sie das, bevor Sie kaufen: die NAT-Port-Forward-Falle

Port 30000 itself never needs to be reachable from the internet — it stays on loopback, behind Caddy, for the reasons above. What does need to be reachable is 80 and 443, because that's what Caddy answers on and what it needs open to complete the ACME certificate challenge. Some overnight.host plans hand you 80 and 443 forwarded by default, some don't — check what your plan actually forwards before you point DNS anywhere, at NAT IPv4, ports and forwarding. If 443 isn't reachable, Caddy has nothing to answer the challenge on and sits there retrying instead of serving your table. A dedicated IPv4, where those ports are genuinely yours, is not currently offered; NAT IPv4 vs a dedicated IP covers the trade-off in more detail.Port 30000 selbst muss nie aus dem Internet erreichbar sein – er bleibt aus den oben genannten Gründen auf Loopback, hinter Caddy. Was erreichbar sein muss, sind 80 und 443, weil Caddy darüber antwortet und sie offen braucht, um die ACME-Zertifikats-Challenge abzuschließen. Manche overnight.host-Pläne leiten 80 und 443 standardmäßig weiter, manche nicht – prüfen Sie, was Ihr Plan tatsächlich weiterleitet, bevor Sie DNS irgendwohin zeigen lassen, bei NAT IPv4, Ports und Weiterleitung. Ist 443 nicht erreichbar, hat Caddy nichts, worauf es die Challenge beantworten kann, und bleibt stattdessen beim Wiederholen hängen, statt Ihren Tisch auszuliefern. Eine dedizierte IPv4, bei der diese Ports wirklich Ihnen gehören, wird bei unseren Tarifen derzeit nicht angeboten; NAT IPv4 vs. dedizierte IP behandelt den Trade-off ausführlicher.

The admin key, and inviting playersDer Admin-Key, und Spieler einladen

The first time you reach the Setup screen, Foundry asks you to set an Application Administrator Access Key — a password for the Setup screen itself, separate from anything a player ever sees. Guard it like any other root-adjacent credential; anyone with it can create, delete, or reconfigure worlds on your box.Beim ersten Erreichen des Setup-Bildschirms bittet Foundry Sie, einen Application Administrator Access Key zu setzen – ein Passwort für den Setup-Bildschirm selbst, getrennt von allem, was ein Spieler jemals zu sehen bekommt. Behandeln Sie ihn wie jedes andere root-nahe Credential; wer ihn hat, kann Welten auf Ihrer Box erstellen, löschen oder umkonfigurieren.

Once a world is running, don't hand players your admin key or your VPS's raw hostname-and-port. Foundry's Setup screen has an Invitations tab that generates a shareable invite link (and a short code) scoped to your external address, so a player joins through that instead. Inside the world itself, each player still gets their own user assigned by you, with permissions and a password set per-user under Game Settings → Configure Players — the admin key never needs to leave your hands for a normal session to happen.Sobald eine Welt läuft, geben Sie Spielern nicht Ihren Admin-Key oder die rohe Hostname-und-Port-Kombination Ihres VPS. Foundrys Setup-Bildschirm hat einen Invitations-Tab, der einen teilbaren Einladungslink (und einen kurzen Code) erzeugt, der auf Ihre externe Adresse zugeschnitten ist – ein Spieler tritt stattdessen darüber bei. Innerhalb der Welt selbst bekommt jeder Spieler trotzdem einen eigenen, von Ihnen zugewiesenen Nutzer, mit Berechtigungen und einem Passwort, das Sie pro Nutzer unter Game Settings → Configure Players setzt – der Admin-Key muss für eine normale Session nie Ihre Hände verlassen.

Running Foundry as a systemd serviceFoundry als systemd-Dienst betreiben

Run it as a dedicated non-root user, not root and not yourself if you can avoid it:Betreiben Sie es als dedizierten Non-Root-User, nicht als Root und wenn möglich auch nicht als Sie selbst:

sudo useradd --system --create-home --shell /usr/sbin/nologin foundry
sudo mv ~/foundry /home/foundry/
sudo chown -R foundry:foundry /home/foundry/foundry
[Unit]
Description=Foundry Virtual Tabletop
After=network.target

[Service]
Type=simple
User=foundry
WorkingDirectory=/home/foundry/foundry/resources
ExecStart=/usr/bin/node main.js --dataPath=/home/foundry/foundry/data --port=30000
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Save that as /etc/systemd/system/foundry.service, then:Speichern Sie das als /etc/systemd/system/foundry.service und dann:

sudo systemctl daemon-reload
sudo systemctl enable --now foundry
systemctl status foundry

sudo journalctl -u foundry -f shows the live log — useful the first time a module fails to load or the port turns out to already be in use.sudo journalctl -u foundry -f zeigt das Live-Log – nützlich, wenn beim ersten Mal ein Modul nicht lädt oder sich herausstellt, dass der Port schon belegt ist.

Backups and upgradesBackups und Upgrades

The whole point of keeping resources and data apart is that a backup only ever needs the second one. Stop the service for a minute before you copy it — Foundry writes to files under data/Data while a world is active, and a tar taken mid-write is the kind of thing you only discover is broken when you need it:Der ganze Sinn, resources und data getrennt zu halten, ist, dass ein Backup immer nur das zweite braucht. Stoppen Sie den Dienst für eine Minute, bevor Sie es kopieren – Foundry schreibt Dateien unter data/Data, während eine Welt aktiv ist, und ein Tar, das mitten im Schreibvorgang entsteht, ist genau die Art Ding, bei der Sie erst merken, dass es kaputt ist, wenn Sie es brauchen:

sudo systemctl stop foundry
sudo tar -czf foundry-data-$(date +%F).tar.gz -C /home/foundry/foundry data
sudo systemctl start foundry

Copy that archive off the VPS — a backup on the same disk as the thing it protects is not a backup — the same rule as any other service; back up your VPS covers what that actually looks like in practice.Kopieren Sie dieses Archiv vom VPS herunter – ein Backup auf derselben Platte wie das, was es schützen soll, ist kein Backup – dieselbe Regel wie bei jedem anderen Dienst; Backup Ihres VPS beschreibt, wie das in der Praxis tatsächlich aussieht.

Upgrading means the same download step as day one: a fresh timed URL from your Purchased Licenses page, unzipped over resources only. Confirm the filename first — ls ~/*.zip.Ein Upgrade bedeutet denselben Download-Schritt wie am ersten Tag: eine frische, zeitlich begrenzte URL von Ihrer Purchased Licenses-Seite, entpackt nur über resources. Bestätigen Sie zuerst den Dateinamen – ls ~/*.zip.

sudo systemctl stop foundry
sudo rm -rf /home/foundry/foundry/resources/*
cd /home/foundry/foundry/resources
sudo -u foundry unzip ~/foundryvtt-<new-version>.zip
sudo systemctl start foundry

Take the backup above immediately before you upgrade, not after a world fails to load — Foundry does run its own data migrations on first launch of a new version, and there's no supported way to hand a migrated world back to an older Foundry release.Machen Sie das Backup von oben unmittelbar vor dem Upgrade, nicht nachdem eine Welt nicht mehr lädt – Foundry führt beim ersten Start einer neuen Version tatsächlich eigene Daten-Migrationen aus, und es gibt keinen unterstützten Weg, eine migrierte Welt an ein älteres Foundry-Release zurückzugeben.

Sizing: Basic vs Standard for a real tableDimensionierung: Basic vs. Standard für einen echten Tisch

Foundry itself is a light Node process — a table of four to six with a modest set of modules idles well under a gigabyte of RAM, and the CPU only spikes briefly when a big scene loads or a lot of tokens move at once. The number that actually grows is disk, and it grows because of assets, not code: high-resolution battle maps, token art packs, and music libraries from a handful of premium modules routinely run into the hundreds of megabytes each, and a GM who collects modules for a few years without pruning can sit on many gigabytes without ever installing anything unusual.Foundry selbst ist ein leichter Node-Prozess – ein Tisch mit vier bis sechs Spielern und einer überschaubaren Modul-Auswahl läuft im Leerlauf deutlich unter einem Gigabyte RAM, und die CPU schlägt nur kurz aus, wenn eine große Szene lädt oder viele Token gleichzeitig bewegt werden. Die Zahl, die tatsächlich wächst, ist der Speicherplatz, und sie wächst wegen der Assets, nicht wegen des Codes: hochauflösende Kampfkarten, Token-Art-Pakete und Musikbibliotheken aus einer Handvoll Premium-Modulen kommen routinemäßig auf jeweils mehrere hundert Megabyte, und ein Spielleiter, der über ein paar Jahre Module sammelt, ohne auszumisten, kann auf vielen Gigabyte sitzen, ohne je etwas Ungewöhnliches installiert zu haben.

The 2 GiB Basic tier (2 vCPU, 50 GB disk) is the honest floor for a real weekly session with four to six players and a normal module list — it is not undersized for that. Move to the 4 GiB Standard tier (2 vCPU, 80 GB disk) once you're running asset-heavy modules, building large hand-crafted scenes, or running more than one active world for more than one group off the same box, and treat storage as the thing to watch either way: if a module collection outgrows the disk before it outgrows the RAM, that's normal for this workload, and add extra storage to your VPS covers adding room without a full rebuild.Der 2-GiB-Basic-Tarif (2 vCPU, 50 GB Speicher) ist die ehrliche Untergrenze für eine echte wöchentliche Session mit vier bis sechs Spielern und einer normalen Modulliste – dafür ist er nicht unterdimensioniert. Wechseln Sie zum 4-GiB-Standard-Tarif (2 vCPU, 80 GB Speicher), sobald Sie asset-lastige Module betreiben, große handgebaute Szenen bauen oder mehr als eine aktive Welt für mehr als eine Gruppe von derselben Box aus betreiben, und behalten Sie so oder so den Speicherplatz im Auge: Wenn eine Modulsammlung die Platte sprengt, bevor sie den RAM sprengt, ist das normal für diese Art von Workload, und zusätzlichen Speicher zu Ihrem VPS hinzufügen beschreibt, wie Sie Platz schaffen, ohne komplett neu aufzusetzen.

On overnight.hostBei overnight.host

Full disclosure: this is what we sell. The 2 GiB Basic tier runs a group of four to six players with modest module use comfortably; heavy modules, large hand-built scene maps, or a bigger table are the reason to move up to the 4 GiB Standard, not to fight the swap.Zur vollen Transparenz: Das ist, was wir verkaufen. Der 2-GiB-Basic-Tarif betreibt eine Gruppe von vier bis sechs Spielern mit moderatem Modulgebrauch bequem; schwere Module, große handgebaute Szenenkarten oder ein größerer Tisch sind der Grund, auf den 4-GiB-Standard hochzustufen – nicht, um gegen den Swap zu kämpfen.

Linux KVM VPS — EUR 4.99 to EUR 59.99 a month, on our own single-tenant bare metal in Dallas, TX and Charlotte, NC. US locations (Dallas, TX and Charlotte, NC) are available; VPS plans can be ordered. Full hardware virtualisation (KVM), your own kernel, full root. Six tiers, vps-starter to vps-ultra. Starter is 1 vCPU, 1 GiB RAM, 25 GB disk.Linux-KVM-VPS — 4,99 bis 59,99 EUR im Monat, auf unserer eigenen Single-Tenant-Bare-Metal-Hardware in Dallas, TX und Charlotte, NC. US-Standorte (Dallas, TX und Charlotte, NC) sind verfügbar; VPS-Tarife können bestellt werden. Vollständige Hardware-Virtualisierung (KVM), eigener Kernel, volles Root. Sechs Tarife, vps-starter bis vps-ultra. Starter hat 1 vCPU, 1 GiB RAM, 25 GB Speicher.

You order in the shop, pay by card (Stripe) or SEPA bank transfer, and your login details are e-mailed to you once the service is set up. Support is e-mail, run by one person, with no guaranteed response time. All prices are final totals under the German small-business rule (§19 UStG); no VAT is added or shown.Sie bestellen im Shop, zahlen per Karte (Stripe) oder SEPA-Überweisung, und Ihre Zugangsdaten werden Ihnen per E-Mail zugeschickt, sobald der Dienst eingerichtet ist. Support läuft per E-Mail, von einer einzelnen Person betrieben, ohne garantierte Reaktionszeit. Alle Preise sind Endpreise. Gemäß § 19 UStG wird keine Umsatzsteuer ausgewiesen.

Order vps-basic → · Linux KVM VPS overviewvps-basic bestellen → · Übersicht Linux-KVM-VPS

Written by the person who runs overnight.host: a small, honest hosting company on dedicated bare metal — Linux VPS, game servers, web hosting. Live status at up.overnight.host.Geschrieben von der Person, die overnight.host betreibt: ein kleines, ehrliches Hosting-Unternehmen auf dedizierter Bare-Metal-Hardware — Linux-VPS, Gameserver, Webhosting. Live-Status unter up.overnight.host.

Technical guidance is informational. Plans, specifications and final prices are listed in the shop. Managed automation and one-click app plans can be ordered directly and are provisioned automatically after payment. US locations (Dallas, TX and Charlotte, NC) are available for VPS, game server, voice and web hosting plans. Custom configurations are still arranged by e-mail.Technische Hinweise dienen der Information. Pläne, Spezifikationen und Endpreise stehen im Shop. Managed-Automation- und One-Click-App-Pläne können direkt bestellt werden und werden nach der Zahlung automatisch bereitgestellt. US-Standorte (Dallas, TX und Charlotte, NC) sind für VPS-, Gameserver-, Voice- und Webhosting-Pläne wieder bestellbar. Sonderkonfigurationen werden weiterhin per E-Mail vereinbart.

FAQFAQ

Does overnight.host sell or include the Foundry licence?Verkauft oder liefert overnight.host die Foundry-Lizenz mit?

No. Foundry Virtual Tabletop is a one-time purchase from foundryvtt.com, tied to your own account there. This guide covers the Linux VPS and the Node.js process that runs the software you already bought — not the licence itself, which is between you and the Foundry developers.Nein. Foundry Virtual Tabletop ist ein einmaliger Kauf bei foundryvtt.com, gebunden an Ihr eigenes Konto dort. Diese Anleitung behandelt den Linux-VPS und den Node.js-Prozess, der die Software ausführt, die Sie bereits gekauft haben – nicht die Lizenz selbst, die zwischen Ihnen und den Foundry-Entwicklern geregelt wird.

Can I run more than one world on the same box?Kann ich mehr als eine Welt auf derselben Box betreiben?

Yes, in the sense that Foundry's Setup screen lists every world under your data directory and lets you launch any one of them — but one running node main.js process serves one active world at a time. A second group at the same time needs a second process on a second port, behind its own Caddy site block, or its own subdomain.Ja, in dem Sinne, dass Foundrys Setup-Bildschirm jede Welt unter Ihrem Datenverzeichnis auflistet und sich jede davon starten lässt – aber ein laufender node main.js-Prozess bedient immer nur eine aktive Welt gleichzeitig. Eine zweite Gruppe zur gleichen Zeit braucht einen zweiten Prozess auf einem zweiten Port, hinter einem eigenen Caddy-Site-Block oder auf einer eigenen Subdomain.

Do I need a dedicated IPv4 for this?Brauche ich dafür eine dedizierte IPv4?

No. With Local Hostname set to 127.0.0.1 and ufw deny 30000/tcp in place, port 30000 never needs to reach the internet, so the only ports that do are 80 and 443 for HTTPS — and whether those are forwarded by default depends on the plan, which is exactly why it's worth checking first. A dedicated IPv4 only matters if you want those ports guaranteed yours outright; on our plans that is not currently offered.Nein. Mit Local Hostname auf 127.0.0.1 und ufw deny 30000/tcp muss Port 30000 nie das Internet erreichen, sodass nur 80 und 443 für HTTPS erreichbar sein müssen – und ob die standardmäßig weitergeleitet sind, hängt vom Tarif ab, weshalb es sich lohnt, vorher nachzuschauen. Eine dedizierte IPv4 ist nur relevant, wenn Sie diese Ports garantiert exklusiv sich gehören lassen wollen; bei unseren Plänen wird das derzeit nicht angeboten.

I set everything up and players connect but the game freezes on load — what did I miss?Ich habe alles eingerichtet, Spieler verbinden sich, aber das Spiel friert beim Laden ein – was habe ich übersehen?

Almost always the Proxy SSL and Proxy Port settings in the Configuration tab. Without them, Foundry hands the browser WebSocket and asset URLs built for plain HTTP on port 30000 instead of HTTPS through Caddy, and the client silently stalls trying to reach an address that was never actually reachable from outside the box.Fast immer die Einstellungen Proxy SSL und Proxy Port im Configuration-Tab. Ohne sie gibt Foundry dem Browser WebSocket- und Asset-URLs, die für blankes HTTP auf Port 30000 gebaut sind, statt für HTTPS über Caddy, und der Client hängt still fest beim Versuch, eine Adresse zu erreichen, die von außerhalb der Box nie tatsächlich erreichbar war.

What happens if I lose the data directory without a backup?Was passiert, wenn ich das Datenverzeichnis ohne Backup verliere?

Every world, every module you installed into it, and every scene you built are gone — the licence key itself is safe, since that lives on your Foundry account and not on the VPS, but re-downloading Foundry gets you an empty install, not your campaigns back. That's the entire reason the backup step above takes one command and belongs on day one, not after the first real loss.Jede Welt, jedes Modul, das Sie hineininstalliert haben, und jede Szene, die Sie gebaut haben, sind weg – der Lizenzschlüssel selbst ist sicher, weil er auf Ihrem Foundry-Konto liegt und nicht auf dem VPS, aber ein erneuter Foundry-Download gibt Ihnen eine leere Installation, nicht Ihre Kampagnen zurück. Genau deshalb braucht der Backup-Schritt von oben nur einen Befehl und gehört an Tag eins, nicht nach dem ersten echten Verlust.

Ready to order?Bereit zu bestellen?

Prices are final totals; no VAT is shown (§19 UStG). Need something the shop does not list? Email us for a written offer.Alle Preise sind Endpreise ohne ausgewiesene USt. (§19 UStG). Sie brauchen etwas, das nicht im Shop steht? Schreiben Sie uns für ein schriftliches Angebot.

US locations available: Dallas, TX and Charlotte, NC for VPS and game servers. Order a VPS → · Order a game server → · Web hosting →
Also live from Germany (EU):
US-Standorte verfügbar: Dallas, TX und Charlotte, NC für VPS und Gameserver. VPS bestellen → · Gameserver bestellen → · Webhosting →
Ebenfalls verfügbar aus Deutschland (EU):

One-click apps, each isolated with its own hostname: Uptime Kuma, Vaultwarden, Gitea, Nextcloud, Ghost, n8n (waitlist) · Managed automation · Managed setupOne-Click-Apps, jeweils isoliert mit eigenem Hostnamen: Uptime Kuma, Vaultwarden, Gitea, Nextcloud, Ghost, n8n (Warteliste) · Managed Automation · Managed Setup

Order now →Jetzt bestellen → Request a custom configIndividuelle Konfiguration anfragen