Pixelflut is a game for programmers where the objective is to draw as many pixels as possible on a shared remote screen. Each player writes their own client, using any programming language they like, with the goal of optimizing pixel throughput and outperforming others.
In this tutorial we will be runnning the Pixelnuke server from defnull/pixelflut.
Requirements for basic functionality:
- Debian with Desktop Environment
- Local IPv4 (preferably static)
- Root access
Requirements for IPv6 / domain functionality:
- All requirements for basic functionality
- IPv6 GUA
- Domain name
- Access to domain management / DNS records
- Proper firewall settings (Access to port 1338 from outside)
Setting up basic functionality
- Clone the repository from GitHub:
$ git clone https://github.com/defnull/pixelflut
- Navigate into the pixelnuke directory inside the repository
- Install build-tools:
$ sudo apt install build-essential libevent-dev libglew-dev libglfw3-dev -y
- Make:
$ make
- Execute Pixelnuke, a black window (the canvas) should appear:
$ ./pixelnuke
Now you can access the canvas on port 1337. If all you need is local IPv4 access, you can stop here.
Setting up IPv6 / domain functionality:
- Relaying IPv6 traffic:
The Pixelnuke server is only accessible via IPv4, on port 1337, so we need to relay all traffic from our IPv6 GUA and a different port to the Pixelnuke server on localhost. Again, we need to use a different port than the Pixelnuke server uses. In this case we will use port 1338.
$ socat TCP6-LISTEN:1338,fork TCP4:127.0.0.1:1337
- Making a DNS record:
Type of record | Content |
---|---|
AAAA | Your IPv6 GUA |
After that you should be able to access the canvas on "sub.domain.tld:1338".