Termninja is a game server with a collection of games played over a network using netcat in a terminal. Currently includes:
The play history and leaderboard is connected and can be seen in the browser:
- Clone the Repo
git clone https://github.com/jhackshaw/termninja
cd termninja
- Start the environment
docker-compose up --build
- Navigate to localhost in a browser to view the scoreboard
- Install the termninja client in your terminal
curl -X GET http://localhost/client -o ./termninja
chmod +x ./termninja
- Use the client to play games
./termninja --help
./termninja -a
(anonymous)
- View scores in the browser
- Give others access to the same server to compete together
.
├── README.md
├── docker-compose.yml
├── termninja
|
├── games/ # individual game servers (asyncio)
├── frontend/ # NextJS frontend
├── api/ # Sanic app for api access to backend
└── base/ # database access shared by api and games
Starting the environment using the docker-compose.dev.yml file adds support for hot reloading all of the source code and enables more verbose output.
docker-compose up -f docker-compose.yml -f docker-compose.dev.yml --build
- Python
- Asyncio
- Sanic
- NextJS/React
- Docker