Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.vscode
node_modules/
**/node_modules/
.pnpm-store/
.pnp.*
.yarn/
yarn.lock
*.tsbuildinfo
*.db-shm
*.db-wal
.tmp
48 changes: 47 additions & 1 deletion UndauntedDeployServer/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,50 @@ PORT_RANGE_BEGIN=
PORT_RANGE_END=
GAMESERVER_BINARY_PATH=
METAGAME_API_KEY=
SECONDS_TO_WAIT_BETWEEN_GAMESERVER_STARTUP=
SECONDS_TO_WAIT_BETWEEN_GAMESERVER_STARTUP=0
GAMESERVER_STARTUP_POLL_INTERVAL_MS=100
GAMESERVER_STARTUP_TIMEOUT_SECONDS=60
GAMESERVER_PORT_RELEASE_TIMEOUT_MS=5000
# Show a console window for each gameserver process.
GAMESERVER_CONSOLE_LOG=false
# off, report (scan only), safe (force textures/materials collectible), or aggressive
# (also force sounds and inactive-map objects collectible). Cleanup runs once before readiness,
# only after initial load clears and while both tracked and raw connection counts are zero.
GAMESERVER_ASSET_STRIPPING_MODE=aggressive
# Include objects whose outer package belongs to a loaded but non-current map in aggressive mode.
GAMESERVER_STRIP_INACTIVE_MAP_PACKAGES=true
# Write a timestamped asset-strip-*.jsonl candidate manifest beside the game executable.
# Summary cleanup metrics are logged regardless; leave this false to avoid large manifests.
GAMESERVER_ASSET_STRIPPING_LOG_DETAILS=false
# Maximum pre-readiness wait for initial load to clear and both connection counts to remain zero.
# A timeout skips cleanup and publishes readiness; it never retries GC during gameplay.
GAMESERVER_ASSET_GC_WAIT_SECONDS=15
# Explicit local-development opt-in for native gameserver profiling files.
# Missing or false means no profiling file or writer thread.
GAMESERVER_PROFILING=false
# Native profiling interval in seconds. Invalid values fall back to 30 seconds.
GAMESERVER_PROFILE_INTERVAL_SECONDS=30
# Required output directory when native profiling is enabled. An empty value keeps the writer disabled.
GAMESERVER_DIAGNOSTICS_DIRECTORY=
# Hard upper bound for each native JSONL profile file (1 MiB to 1 GiB).
GAMESERVER_PROFILE_MAX_BYTES=67108864
# Maximum age of the reusable actor consideration list; world/level actor changes still rebuild immediately.
GAMESERVER_CONSIDER_CACHE_MAX_AGE_MS=250
# Explicit opt-in for DeployServer process and event-loop sampling.
DEPLOYSERVER_PROFILING=false
# DeployServer process CPU/memory sampling interval in seconds.
DEPLOYSERVER_PROFILE_INTERVAL_SECONDS=60
# Explicit opt-in for a bounded DeployServer diagnostics file. Console logging is always available.
DEPLOYSERVER_FILE_DIAGNOSTICS=false
# Required output directory when file diagnostics are enabled.
DEPLOYSERVER_DIAGNOSTICS_DIRECTORY=
# Hard upper bound for deployserver.log (1 MiB to 1 GiB).
DEPLOYSERVER_DIAGNOSTICS_MAX_BYTES=67108864
ADOPT_GAMESERVER=true
# Shut down idle empty ramsgate after this many seconds.
# When both tracked and raw NetDriver connection counts at zero. Set 0 to keep it running.
RAMSGATE_IDLE_SHUTDOWN_SECONDS=10
PREWARM_TRAINING_DOJO=false
TRAINING_DOJO_IDLE_SHUTDOWN_SECONDS=300
HUNT_IDLE_SHUTDOWN_SECONDS=180
ESCALATION_IDLE_SHUTDOWN_SECONDS=30
3 changes: 2 additions & 1 deletion UndauntedDeployServer/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ tmp/
temp/
.cache/
*.db
file
*.log
file
18 changes: 18 additions & 0 deletions UndauntedDeployServer/build.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const path = require("path");
const { build } = require("esbuild");

build({
absWorkingDir: __dirname,
entryPoints: ["./src/server.ts"],
bundle: true,
platform: "node",
target: "es2022",
format: "cjs",
packages: "external",
minify: true,
legalComments: "none",
outfile: "./dist/server.js",
}).catch((error) => {
console.error(error);
process.exit(1);
});
Loading