Projekt auf Basis von Muiltiplayer Tutorial für Phaser js:
Linux/Docker:
Vorbereitung:
-
- Verzeichnis für Quellcode des Node servers erstellen.
- Server Code aus git repo ziehen ->
git pull https://github.com/Jerenaux/basic-mmo-phaser.git
- Projekt für Docker vorbereiten:
im Verzeichnis mit dem Code:
mc -e Dockerfile
FROM node:10
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm ci –only=production
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ „node“, „server.js“ ]
mc -e .dockerignore
node_modules
npm-debug.log
Mehr zu node.js in Docker, hier.
Zum erstellen des Images/Containers:
docker build -t simon/cardgame-server:<version> .
das Image aus dem Quellcode erstellen.
Aus dem Image kann dann mit:
docker run -p 8090:8090 --name cg_serv simon/cardgame-server:x.x.x
Evtl auch mit -d (detach) ohne Ausgabe.
Zum neu erstellen des Containers:
docker stop cg_serv
docker rm cg_serv
Danach im Vezeichnis mit der Dockerfile ein Image mit neuer Versionsnummer erstellen und starten. Ggf. altes Image mit docker images rm <name:ver> altes Image entfernen.
Windows/Cygwin:
Vorbereitung:
- Cygwin installieren, in pfad ohne leerzeichen
- Node JS installieren.
- Umgebungsvariable NODE_PATH eintragen
name: NODE_PATH.
value: %AppData%\npm\node_modules.
Übernommen aus How to install Cygwin, Node.js, npm and Webpack for Windows 7
Server ausführen:
Projekt in Unterverzeichnis von cygwin install kopieren oder aus dem svn @https://warumwirleben.de/svn/cg_serv/ laden. Rechtsklick auf Ordner->SVN Checkout
Mit cygwin konsole in dem verzeichnis mit:
npm up
alle node prequisites die in ./package.json angegeben sind, herunterladen.
Dies ist erneut notwendig wenn in de package.json neue prequisites eingetragen werden.
Danach kann der server mit ->node server.js
<- gestartet werden. Abbruch mit strg+c.