From 30a67f653d0d0cd081da4f36fbf4ec38cbc98a92 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sat, 9 Jan 2021 15:32:52 -0700 Subject: [PATCH 1/4] Correct the link command for the service file. --- server/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/README.md b/server/README.md index 3aed801..4af7aa0 100644 --- a/server/README.md +++ b/server/README.md @@ -19,7 +19,7 @@ server folder in the Ghost Writer git repository. (Ex: `sudo ln -s ~/Ghost-Writer-Online/server /server`) 7. Create a symlink named `ghost-writer.service` in `/etc/systemd/system` pointing to the service file in the `server` folder of the Ghost Writer Online -repository. (Ex: `sudo ln -s /etc/systemd/system/ghost-writer.service /server/ghost-writer.service`) +repository. (Ex: `sudo ln -s /server/ghost-writer.service /etc/systemd/system/ghost-writer.service`) 8. Start the websocket server with `sudo systemctl start ghost-writer`. 9. Make sure the server is started by running `systemctl status ghost-writer` From 8360070711e031e299e4d8d504f0b1c9601885f7 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sat, 9 Jan 2021 16:29:05 -0700 Subject: [PATCH 2/4] Update exit code listeners to accomodate for systemd --- server/src/main.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/main.ts b/server/src/main.ts index cb5cdc2..533cdb2 100644 --- a/server/src/main.ts +++ b/server/src/main.ts @@ -49,6 +49,7 @@ if (Validate.config(conf)) { log.info(`Found ${hibernatedGames.length} hibernated games`); process.on(`uncaughtException`, processExit); process.on(`SIGINT`, processExit); + process.on(`SIGTERM`, processExit); }; startWebsocket(conf); From d8d43a9d06a1b557105654257444892e86ef6d0f Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sat, 9 Jan 2021 16:29:51 -0700 Subject: [PATCH 3/4] Update log events. --- server/src/events/DeleteGame.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/events/DeleteGame.ts b/server/src/events/DeleteGame.ts index 00b1624..df55005 100644 --- a/server/src/events/DeleteGame.ts +++ b/server/src/events/DeleteGame.ts @@ -6,7 +6,7 @@ export default (io: Server, socket: Socket, data: DeleteGame) => { // Ensure game exists if (!games[data.game_code]) { - log.debug(`Can't delete game that doesn't exist: ${data.game_code}`); + log.debug(`Can't find game with code: ${data.game_code}`); socket.emit(`GameDeleted`, { status: 404, message: `Game with code ${data.game_code} could not be found`, @@ -21,7 +21,7 @@ export default (io: Server, socket: Socket, data: DeleteGame) => { let player = game.players.find(x => x.isHost); if (player != null && player.socket !== socket) { - game.log.warn(`${player.name} attempted to delete game.`); + game.log.warn(`${player.name} attempted to delete game`); socket.emit(`GameDeleted`, { status: 403, message: `Not allowed to delete a game that you are not the host of.`, @@ -31,7 +31,7 @@ export default (io: Server, socket: Socket, data: DeleteGame) => { }; // Delete game - game.log.debug(`Game deleted.`) + game.log.info(`Game deleted`) delete games[data.game_code]; io.to(game.id).emit(`GameDeleted`, { status: 200, From 2a7d51dae93254430dafca237e29c3a0694406d8 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sat, 9 Jan 2021 16:35:25 -0700 Subject: [PATCH 4/4] Update the README to have better setup steps for systemd. --- server/README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/server/README.md b/server/README.md index 4af7aa0..aa38053 100644 --- a/server/README.md +++ b/server/README.md @@ -20,11 +20,18 @@ server folder in the Ghost Writer git repository. 7. Create a symlink named `ghost-writer.service` in `/etc/systemd/system` pointing to the service file in the `server` folder of the Ghost Writer Online repository. (Ex: `sudo ln -s /server/ghost-writer.service /etc/systemd/system/ghost-writer.service`) -8. Start the websocket server with `sudo systemctl start ghost-writer`. -9. Make sure the server is started by running `systemctl status ghost-writer` +8. Run `whereis node` and copy the absolute file path of the output +9. Edit the `ghost-writer.service` file to replace change the +`ExecStart=node dist/main.js` to replace `node` with the file path you copied +from the previous step +10. Reload the systemd daemon with `sudo systemd daemon-reload` to make the +changes to the service file take effect. +11. Start the websocket server with `sudo systemctl start ghost-writer` +12. Make sure the server is started by running `systemctl status ghost-writer` -* To restart the server, run `sudo systemctl restart ghost-writer`. -* To stop the server, run `sudo systemctl stop ghost-writer`. +* To start the server, run `sudo sustemctl start ghost-writer` +* To restart the server, run `sudo systemctl restart ghost-writer` +* To stop the server, run `sudo systemctl stop ghost-writer` * To access the server logs, run `sudo journalctl -u ghost-writer`