Skip to content

LinusLutz/pixelknecht

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI/CD

Commanderer & Pixelknecht

Project Status: IN PROGRESS - EARLY DEVELOPMENT

This is a command-and-control server and client implementation for the "Pixelflut" game. This project consists of two components:

  • The Commanderer, which is the command-and-control server. This server will be used to control which picture is drawn to which coordinates and to which pixelflut server.
  • The Pixelknecht, which is the client implementation which will draw the picture recieved from the Commanderer to the canvas using the Pixelflut protocol. Knecht is a german word for servant.

Motivation

Mainly getting startet with Golang, especially with asynchronous programming using channels and goroutines.

The aim of this project is education, NOT to really write the best pixelflut client.

Development

This project is designed for development using the Nix package manager.

# enter dev shell
nix develop

# apply code format
nix fmt

# run the pixelknecht (pixelflut-client)
nix run

# run the commanderer (CnC-Server)
nix run .#commanderer

# start local pixelflut server for testing
nix develop
pixelnuke

For interacting with the Commanderer, there is currently no frontend available. But there is a Bruno collection available for interacting with the REST API.

Of course you will also need a Pixelflut server for development. I'm using the pixelnuke server for now.

Containerimage

# build the commanderer container image
nix build .#commandererContainerImage

# load the container image into docker
docker load < result

# start the commanderer container
docker run -d --name commanderer -p 9000:9000 ghcr.io/rubenhoenle/pixelknecht/commanderer:unstable

About

Command-and-Control server and client implementation for the Pixelflut game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 57.6%
  • JavaScript 18.8%
  • HTML 9.3%
  • Nix 9.1%
  • CSS 5.2%