Plan: Pal-E World Server Launch

plan-2026-03-08-pal-e-world-server Plan

plan deprecated

Vision

Pal-E World — a Palworld server with a real player economy, unhackable security, and no ceiling on growth. RuneScape-style guilds, manufacturing, trading, wars, and governance running on self-hosted infrastructure. Security is the product. Trust is the currency.

Projects & Repos Touched

Project/Repo Platform Role in this plan
forgejo_admin/palworld-server Forgejo Primary — server config, Terraform, mods (migrated from GitHub 2026-03-08)
forgejo_admin/pal-e-world-site (planned) Forgejo Svelte landing page — vision, signup, SEO. Standard service onboarding.
pal-e-platform Forgejo Host infrastructure (archbox k3s cluster)
pal-e-services Forgejo Landing page onboarding via var.services (Phase 3)

Context

This is the first plan for Pal-E World. The Palworld dedicated server already exists — deployed to k3s via OpenTofu Helm chart, with game client streaming (GPU + Sunshine/Moonlight). Repo migrated from GitHub to Forgejo on 2026-03-08.
Research completed 2026-03-08 confirmed:
  • Palworld runs on UE5, modded via UE4SS (community framework, mature and widely used)
  • Dedicated server is free, runs on Linux, Docker containers available (palworld-server-docker)
  • Archbox meets hardware requirements (4+ cores, 16GB+ RAM, SSD)
  • Lua mods can hook game functions: chat, pal systems, custom logic. Economy systems are buildable
  • Base limit mods already exist (Unlimited Bases). World settings are fully configurable
  • Steam handles player auth (SteamID64). One account = one player enforced by Steam
  • No existing open source alternative — Palworld modding is the fastest path to playable
What's already done:
  • [x] Vision documented in pal-e-docs (project-pal-e-world)
  • [x] Open letter HTML created (palworld-vision.html)
  • [x] Modding research complete — UE4SS, Lua, PalSchema, server hosting all viable
  • [x] Palworld server deployed to k3s (Helm chart, PVC, RCON, auto-restart)
  • [x] Game client streaming deployed (xorg + pulseaudio + sunshine + steam)
  • [x] Repo migrated from GitHub to Forgejo
  • [ ] Server verified running / brought back up
  • [ ] Mods installed
  • [ ] Landing page live

Previous Plan

None — first plan for this project.

Depends On

None. Archbox is already running. k3s cluster operational. palworld-server Helm chart already deployed.

Decisions Made

Decision Rationale
Migrated palworld-server from GitHub to Forgejo All active work on Forgejo. DORA tracking, Forgejo issues, Woodpecker CI, sprint boards. GitHub kept as archive remote.
Self-host on archbox via k3s (existing deployment) Already deployed and proven. Free, full control, proves the self-hosted model. Uses thijsvanloef/palworld-server-docker Helm chart.
Platform-level deployment (not ArgoCD service) Uses upstream Helm chart, not a custom image. Same pattern as Forgejo, Grafana. Own Terraform state.
UE4SS + Lua for modding Only viable modding framework for Palworld. Supports server-side mods, function hooking, custom logic. Active community.
Svelte for landing page via standard service onboarding Lucas's choice. Custom SvelteKit app fits var.services pattern (Woodpecker → Harbor → ArgoCD). Will eventually integrate login/auth.
Play first, mod second Get Lucas and James playing immediately. Modding pipeline is Phase 2. Economy mods are Phase 4. Don't over-engineer before playing.
Steam auth sufficient for MVP SteamID64 is unique, one-account-one-player enforced by Steam. Custom auth deferred.
Server name: Pal-E World Brand name. Will be used for DNS, landing page, and server identity.

Phases

Phase 1: Verify & Configure Server

Slug: phase-2026-03-08-1-server-verify
Goal: Verify existing Palworld server is running on k3s. Configure server name to "Pal-E World", tune settings for fun co-op. Lucas and James playing tonight.
Owner: Dev agent
Repo: forgejo_admin/palworld-server
Forgejo Issue: TBD (created when phase starts)
Steps:
  • Check kubectl get pods -n palworld — verify server pod is running
  • If down, cd terraform && tofu apply -var-file=k3s.tfvars to bring it back up
  • Update server name to "Pal-E World" in tfvars
  • Tune PalWorldSettings.ini — increase base limits, worker pal limits, adjust difficulty for co-op with a 6-year-old
  • Verify RCON access works
  • Verify connection via Tailscale IP on UDP 8211
  • Update README with Pal-E World branding and connection instructions
Deliverables: (on completion)

Phase 2: Modding Pipeline

Slug: phase-2026-03-08-2-modding-pipeline
Goal: Install UE4SS and key mods on the server — unlimited bases, better world settings, quality of life.
Owner: Dev agent
Repo: forgejo_admin/palworld-server
Forgejo Issue: TBD
Steps:
  • Install UE4SS framework on the dedicated server container
  • Install and configure mods:
  • Document mod installation process in repo README
  • Test that mods work on Linux dedicated server (some are Windows-only — verify compatibility)
  • Create a mod list manifest (mods.json or similar) for tracking installed mods and versions
Deliverables: (on completion)

Phase 3: Landing Page

Slug: phase-2026-03-08-3-landing-page
Goal: Ship a Svelte landing page that sells the vision and collects email signups. Onboarded as standard service via pal-e-services.
Owner: Dev agent
Repo: forgejo_admin/pal-e-world-site
Forgejo Issue: TBD
Steps:
  • Create pal-e-world-site repo on Forgejo
  • Scaffold SvelteKit app with Dockerfile and Woodpecker CI pipeline
  • Build landing page sections from the vision doc:
  • Email signup form — collect email, store in DB (or simple file/API for MVP)
  • SEO basics: meta tags, Open Graph, structured data
  • Onboard via pal-e-services: add to var.services (Harbor project, ArgoCD app, Tailscale funnel)
  • Deploy and verify public access
Deliverables: (on completion)

Phase 4: Economy Mod POC

Slug: phase-2026-03-08-4-economy-mod
Goal: Build a proof-of-concept Lua mod that adds basic trading and guild economy to the Palworld server.
Owner: Dev agent
Repo: forgejo_admin/palworld-server
Forgejo Issue: TBD
Steps:
  • Set up Lua mod development environment with UE4SS
  • Build POC features:
  • Server-side persistence — save economy state across restarts
  • Test with 2+ players on the server
  • Document the mod API for future extension (missions, bounties, wars)
Deliverables: (on completion)

Key Files

Phase File Repo Change
1 terraform/k3s.tfvars palworld-server Server name, settings
1 README.md palworld-server Pal-E World branding, connection instructions
2 mods/ palworld-server UE4SS + mod files
3 src/routes/+page.svelte pal-e-world-site Landing page
3 terraform/services.tfvars pal-e-services Add pal-e-world-site to var.services
4 mods/PalEconomy/main.lua palworld-server Economy mod entry point

Verification

  • [ ] Phase 1: Lucas and James can connect to the server and play together
  • [ ] Phase 2: Server runs with unlimited bases mod active, no crashes
  • [ ] Phase 3: Landing page loads at pal-e-world domain, email signup works, deployed via ArgoCD
  • [ ] Phase 4: Two players can trade items via chat commands on the server

Next Plan Seeds

  • Prayers system mod — in-game appeals channel, community voting, harassment reporting
  • Guild wars mod — territory claiming, resource wars, alliance systems
  • Trust rating system — server security scoring, public dashboard
  • Multi-server federation — economy bridges between trusted servers
  • Auth integration — pal-e-auth for landing page login, linking Steam accounts to web accounts
  • Interplanetary expansion — research what's needed for new worlds (likely requires standalone game or deep UE5 modding)
  • GPU pricing model — if offering cloud gaming, cost model to cover GPU compute. Terraform + AWS/Hetzner for scaling nodes in k8s
  • project-pal-e-world — project page with full vision and core concepts
  • project-pal-e-platform — host infrastructure (archbox, k3s, Tailscale)
  • project-pal-e-services — service onboarding (ArgoCD, var.services)
  • service-onboarding-sop — how to add a new service to pal-e-services
  • palworld-vision.html — open letter to Pocketpair and community