{"id":13520282,"url":"https://github.com/timvisee/pixelpwnr-server","last_synced_at":"2025-04-05T09:04:57.325Z","repository":{"id":41875823,"uuid":"121299213","full_name":"timvisee/pixelpwnr-server","owner":"timvisee","description":":fireworks: Blazingly fast GPU accelerated pixelflut server written in Rust.","archived":false,"fork":false,"pushed_at":"2024-12-28T01:09:05.000Z","size":514,"stargazers_count":59,"open_issues_count":5,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T08:04:25.937Z","etag":null,"topics":["flood","gpu","hacktoberfest","pixelflut","pixelpwnr","rust","tokio"],"latest_commit_sha":null,"homepage":"https://timvisee.com/projects/pixelpwnr-server","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timvisee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["timvisee"],"custom":["https://timvisee.com/donate"],"patreon":"timvisee","ko_fi":"timvisee"}},"created_at":"2018-02-12T20:41:07.000Z","updated_at":"2025-02-07T18:17:03.000Z","dependencies_parsed_at":"2023-02-06T09:32:02.957Z","dependency_job_id":"56a64826-3c03-4ddd-b32e-5f90988c9639","html_url":"https://github.com/timvisee/pixelpwnr-server","commit_stats":{"total_commits":241,"total_committers":5,"mean_commits":48.2,"dds":0.4315352697095436,"last_synced_commit":"05dd89dd3690334866f021e23e093e4ec064267d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fpixelpwnr-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fpixelpwnr-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fpixelpwnr-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fpixelpwnr-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timvisee","download_url":"https://codeload.github.com/timvisee/pixelpwnr-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312077,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flood","gpu","hacktoberfest","pixelflut","pixelpwnr","rust","tokio"],"created_at":"2024-08-01T05:02:16.504Z","updated_at":"2025-04-05T09:04:57.289Z","avatar_url":"https://github.com/timvisee.png","language":"Rust","funding_links":["https://github.com/sponsors/timvisee","https://timvisee.com/donate","https://patreon.com/timvisee","https://ko-fi.com/timvisee"],"categories":["Rust"],"sub_categories":[],"readme":"# pixelpwnr server\n\nA blazingly fast GPU accelerated [pixelflut][pixelflut] ([video][pixelflut-video])\nserver in [Rust][rust].\n\n## Features\n\n* Blazingly fast pixelflut rendering\n* GPU accelerated\n* Highly concurrent, to support many connections\n* Linux, Windows and macOS\n* Optional binary PX command for reduced bandwidth requirements (enabled by default).\n\n## Installation\n\nFor installation, Git and Rust cargo are required.\nInstall the latest version of Rust with [rustup][rustup].\n\nThen, clone and install `pixelpwnr-server` with:\n```bash\n# Clone the project\ngit clone https://github.com/timvisee/pixelpwnr-server.git\ncd pixelpwnr-server\n\n# Install pixelpwnr server\ncargo install --path server -f\n\n# Start using pixelpwnr server\npixelpwnr-server --help\n\n# or run it directly from Cargo\ncargo run --release -- --help\n```\n\nOr just build it and invoke the binary directly (Linux/macOS):\n```bash\n# Clone the project\ngit clone https://github.com/timvisee/pixelpwnr-server.git\ncd pixelpwnr-server\n\n# Build the project (release version)\ncargo build --release\n\n# Start using pixelpwnr-server\n./target/release/pixelpwnr-server --help\n```\n## The binary PX command\n\nThis implementation adds a new command to the protocol. \n\nThis type of command is enabled by default, but can be disabled by passing the `--no-binary` flag to `pixelflut-server` when running the exectuable.\n\nThe command is laid out as follows:\n\n```\nPBxyrgba\n```\n\nwhere:\n* `x` and `y` are Little-Endian u16 values describing the X and Y coordinate of the pixel to set.\n* `r`, `g`, `b` and `a` are single-byte values describing the R, G, B, and A components of the color to set the pixel to.\n* It is important to note that this command does _not_ end in a newline. Appending a newline simply causes the server to interpret that newline as an empty command (which is fine).\n\n## Requirements\n\n* Rust (MSRV v1.58.1 or higher)\n* Build essentials (Ubuntu package: `build-essential`)\n* `freetype2` development files (Ubuntu package: `libfreetype6-dev`)\n\n## Performance\n\nHere are some points that help with the pixelflut server performance,\nunder heavy load:\n\n- Use a `--release` build.\n- Use a CPU with as many cores as possible.\n- Use a fast Ethernet connection, preferably 10Gb/s+.\n- Use a dedicated graphics card.\n- Use a Linux machine.\n- Increase the [file descriptor limit][filedescriptorlimit] (on Linux).\n- Quit as many other running programs.\n\n## Relevant projects\n\n- [pixelpwnr][pixelpwnr]: client to flut (animated) images\n- [pixelpwnr-cast][pixelpwnr-cast]: cast your screen to a pixelflut server\n\n## License\nThis project is released under the GNU GPL-3.0 license.\nCheck out the [LICENSE](LICENSE) file for more information.\n\n\n[filedescriptorlimit]: https://unix.stackexchange.com/questions/84227/limits-on-the-number-of-file-descriptors\n[pixelflut]: https://cccgoe.de/wiki/Pixelflut\n[pixelflut-video]: https://vimeo.com/92827556/\n[pixelpwnr]: https://github.com/timvisee/pixelpwnr\n[pixelpwnr-cast]: https://github.com/timvisee/pixelpwnr-cast\n[rust]: https://www.rust-lang.org/\n[rustup]: https://rustup.rs/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Fpixelpwnr-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimvisee%2Fpixelpwnr-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Fpixelpwnr-server/lists"}