From 3e4129c3f1ac844693cd096bc5d68a156da9e005 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Thu, 14 Mar 2024 14:50:08 +0000 Subject: [PATCH] env.gameEngineManualStart --- @sammo/server/src/dotenv.d.ts | 2 ++ @sammo/server/src/index.ts | 13 +++++++++++-- @sammo/server/src/serverConfig.ts | 14 ++++++++------ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/@sammo/server/src/dotenv.d.ts b/@sammo/server/src/dotenv.d.ts index 1ccbc5a..bdad712 100644 --- a/@sammo/server/src/dotenv.d.ts +++ b/@sammo/server/src/dotenv.d.ts @@ -27,6 +27,8 @@ declare namespace NodeJS { API_ROOT_PATH?: string; VITE_API_ROOT_PATH?: string; + GAME_ENGINE_MANUAL_START?: string; //숫자->Boolean + PRESHARED_SECURE_TOKEN_SECRET?: string; //길게 } } \ No newline at end of file diff --git a/@sammo/server/src/index.ts b/@sammo/server/src/index.ts index 0bca319..6cabc57 100644 --- a/@sammo/server/src/index.ts +++ b/@sammo/server/src/index.ts @@ -7,6 +7,7 @@ import { buildAPISystem } from '@strpc/express/generator'; import { sammoAPI } from './api/index.js'; import { unwrap } from '@sammo/util';; import { serverConfig } from './serverConfig.js'; +import { getGameEngineController } from './GameEngineController.js'; connectDB.then(async (db) => { // create express app @@ -22,9 +23,17 @@ connectDB.then(async (db) => { app.use('/api', buildAPISystem(sammoAPI)); // start express server - app.listen(serverConfig.port) + app.listen(serverConfig.port, "0.0.0.0", async ()=>{ + console.log(`Express server has started on port ${serverConfig.port}`); + if(serverConfig.gameEngineManualStart){ + console.log("Game Engine is not started automatically."); + return; + } + + await getGameEngineController().start(); + }) + - console.log(`Express server has started on port ${serverConfig.port}`) }).catch(error => console.log(error)); diff --git a/@sammo/server/src/serverConfig.ts b/@sammo/server/src/serverConfig.ts index 269afc6..a8de647 100644 --- a/@sammo/server/src/serverConfig.ts +++ b/@sammo/server/src/serverConfig.ts @@ -1,9 +1,11 @@ import 'dotenv/config'; -import { unwrap } from '@sammo/util'; +import { must } from '@sammo/util'; export const serverConfig = { - sessionSecret: unwrap(process.env.SESSION_SECRET), - port: Number(unwrap(process.env.SERVER_PORT)), - gatewayHost: unwrap(process.env.GATEWAY_HOST), - gatewayPort: Number(unwrap(process.env.GATEWAY_PORT)), -}; + sessionSecret: must(process.env.SESSION_SECRET), + port: Number(must(process.env.SERVER_PORT)), + gatewayHost: must(process.env.GATEWAY_HOST), + gatewayPort: Number(must(process.env.GATEWAY_PORT)), + + gameEngineManualStart: Boolean(Number(process.env.GAME_ENGINE_MANUAL_START??'0')) +} as const;