1
0
James Ketrenos 623cd50862 Cleaning up lint errors'
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
2022-01-02 22:45:34 -08:00
2022-01-02 22:28:32 -08:00
2022-01-02 21:59:08 -08:00
2020-04-25 13:38:54 -07:00
2022-01-02 22:30:12 -08:00
2022-01-02 22:45:34 -08:00
2020-04-04 20:17:39 -07:00
2022-01-02 22:27:58 -08:00
2020-04-20 12:27:58 -07:00
2021-12-31 16:56:28 -08:00
2020-04-04 20:17:39 -07:00
2022-01-02 22:45:34 -08:00
2022-01-02 21:59:08 -08:00
2020-04-04 20:17:39 -07:00
2022-01-02 21:59:08 -08:00
2020-04-04 20:17:39 -07:00

Peddlers of Ketran

Building

Native

Prerequisites

sudo apt-get install -y nodejs npm python
sudo -E npm install --global npm@latest

In container

Architecture

skinparam componentStyle rectangle

component "Server" as server
component "Resources" as res
component "Client" as client
component "Game" as game
component "Player" as player

package "Game" as game {
  component Players as players
}

server <-> resource : serves to client
client <-> server
player <-> client
players -r-> player
server -> game

Ketr.Ketran REST API

POST /api/v1/game

Request

{}

Response

{
  gameId: id
  gameState: {
    tiles: []
  }
}

Configuring / installing

Build

git clone git.ketrenos.com:jketreno/peddlers-of-ketran.git
npm install
cd server
npm install
cd ..
npm run-script build
npm run-script backend

Install

sudo cp ketr.ketran /etc/logrotate.d/
sudo cp ketr.ketran.service /etc/systemd/system/
sudo systemctl daemon-reload

Install the following into your nginx server configuration:

  location ~ /ketr.ketran/api/.* {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass_header Set-Cookie;
    proxy_pass_header P3P;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://localhost:8930;
  }

  location /ketr.ketran {
    alias /var/www/html/peddlers-of-ketran;
  }

Add security tokens in ketr.ketran/config/local.json:

cat << EOF > config/local.json
{
  "tokens": [ {
    "$(whoami)": "$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;)"
  } ]
}
EOF

Launch

sudo systemctl start ketr.ketran

To test

New game

curl -k -s -X POST http://localhost:8930/ketr.ketran/api/v1/games/

Game status

curl -k -s -X GET http://localhost:8930/ketr.ketran/api/v1/games/:id
Description
No description provided
Readme 194 MiB
Languages
TypeScript 86.5%
JavaScript 5.8%
CSS 5.7%
Shell 0.9%
Dockerfile 0.6%
Other 0.5%