Server deployment
Build the gamemode in CI or a clean build environment, then deploy only the runtime output, production dependencies, configuration, and VIMP distribution.
text
release/
├─ vimp-server[.exe]
├─ libnode...
├─ vimp_native.node
├─ config.json
├─ package.json
├─ package-lock.json
└─ scripting/
├─ server/main.js
└─ client/Release procedure
- Run TypeScript checks and application tests.
- Build server, client, and CEF bundles into a clean release directory.
- Install production server dependencies with the lockfile.
- Back up production configuration and persistent data.
- Stop the old process gracefully and replace the release atomically.
- Start under a service manager and watch readiness, port binding, and logs.
- Connect a real client and verify resource download plus a core gameplay flow.
Allow both TCP and UDP on the configured game port. Run the server as a dedicated unprivileged account with access only to its release and data paths.
Update the VIMP binary and its shipped Node/native binding as one unit through the updater; do not mix files from different distributions.