1
0
Fork
You've already forked pixeldike
0
[Mirror of https://github.com/lilioid/pixeldike] Pixel drawing game for programmers
  • Rust 97.2%
  • Nix 1.3%
  • Dockerfile 0.6%
  • HTML 0.5%
  • Shell 0.4%
2026年06月17日 10:48:34 +02:00
.cargo add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
.woodpecker fix image publishing via CI 2024年12月31日 20:24:29 +01:00
k8s add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
resources add support for rendering text into client 2024年04月02日 16:39:09 +02:00
scripts add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
src remove deprecated function usage 2026年06月17日 10:48:34 +02:00
.dockerignore move rust implementation to top of project 2024年03月25日 13:21:44 +01:00
.envrc fix pre-commit error 2024年08月19日 00:52:03 +02:00
.gitignore add envrc hook for nix 2024年07月02日 21:09:05 +02:00
.logo.webp update readme 2024年03月25日 15:13:00 +01:00
.pre-commit-config.yaml add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
Cargo.lock update dependencies, rust edition and nix inputs 2026年06月16日 13:03:30 +02:00
Cargo.toml update dependencies, rust edition and nix inputs 2026年06月16日 13:03:30 +02:00
Dockerfile relax rust version in docker build image 2024年07月19日 20:05:56 +02:00
flake.lock update dependencies, rust edition and nix inputs 2026年06月16日 13:03:30 +02:00
flake.nix fix ffmpeg binary not being available in container image 2025年04月13日 20:08:46 +02:00
kustomization.yml put one k8s manifest per file 2022年02月27日 21:59:41 +01:00
LICENSE add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
README.md document flake usage 2024年08月19日 00:49:36 +02:00
renovate.json update renovate config to my liking 2024年10月13日 20:08:42 +02:00
rust-toolchain.toml add ci configuration with github actions 2024年03月25日 13:49:37 +01:00
rustfmt.toml add ci configuration with github actions 2024年03月25日 13:49:37 +01:00

pixeldike

crates.io Crate Documentation

A fast and reusable pixelflut implementation

Pixelflut is a competitive programing game that provides a 2D pixel canvas upon which many people can set single color values over the network.

Logo

The implementation contained in this repository is done in Rust and includes a reusable library as well as a standalone binary. The library

Features

The following features are implemented:

  • Generic protocol serialization and parsing
  • TCP Transport
  • UDP Transport
  • WebSocket Transport
  • Unix socket Transport
  • Live-Streaming of the servers canvas via RTMP/RTSP
  • Live-Display of the servers canvas via a window or linux framebuffer device
  • Drawing of images (and colored rectangles) on a remote servers canvas

Installation

Install via cargo from source

This installation methods assumes you already have a working rust toolchain and a working cargo command. If you do you can run the following:

cargo install --git=https://github.com/ftsell/pixeldike.git --all-features --bin=pixeldike

With Nix

Nix (and Lix) users can build and run pixeldike using flakes:

nix run github:ftsell/pixeldike -- --help

The flake definition contains the outputs listed below for the systems aarch64-darwin, aarch64-linux, x86_64-darwin and x86_64-linux, however only x86_64-linux has currently been tested.

github:ftsell/pixeldike
├───apps
│ ├───<system>
│ │ ├───default: app
│ │ └───pixeldike: app
├───devShells (omitted)
└───packages
 └───<system>
 ├───default: package 'pixeldike'
 └───pixeldike: package 'pixeldike'

Usage examples

  • Retrieve command-line help

    pixeldike -h
    pixeldike server -h
    
  • Start a pixelflut tcp server on port 1234 with default size and persisted in the file ~/pixmap.pixmap

    pixeldike server --file ~/pixmap.pixmap --tcp 1234
    
  • Start a pixelflut udp server on port 1234 with custom size and persisted in the file ~/pixmap.pixmap

    pixeldike server --file ~/pixmap.pixmap --udp 1234 --width 10 --height 20