Compare commits
No commits in common. "bf5217b14aa8e9e6ebd98707454033f482cbae4e" and "d698dca2ab487cc3ab681bedfc2684a5b4dd9a64" have entirely different histories.
bf5217b14a
...
d698dca2ab
3 changed files with 8 additions and 21 deletions
19
README.md
19
README.md
|
|
@ -25,7 +25,7 @@ Example:
|
|||
$ echo "SIZE" | netcat pixelflut.example.com 1337
|
||||
SIZE 800 600
|
||||
$ echo "PX 23 42 ff8000" | netcat pixelflut.example.com 1337
|
||||
$ echo "PX 23 42" | netcat pixelflut.example.com 1337
|
||||
$ echo "PX 32 42" | netcat pixelflut.example.com 1337
|
||||
PX 23 42 ff8000
|
||||
|
||||
Implementations MAY support additional commands or have less strict parsing rules (e.g. allow `\r\n` or any whitespace between parameters) but they MUST support the commands above.
|
||||
|
|
@ -46,21 +46,16 @@ Server written in Python, based on gevent and pygame. Easy to hack with, but a b
|
|||
|
||||
#### `/pixelwar` (java server)
|
||||
|
||||
Server written in Java8, based on netty and awt. Optimized for speed and large player groups, fast networks or high-resolution projectors. This is probably the most portable version and runs on windows, too.
|
||||
Server written in Java8, based on netty and awt. Optimized for speed and large player groups, fast networks or high resolution projectors. This is probably the most portable version and runs on windows, too.
|
||||
|
||||
cd pixelwar
|
||||
sudo apt-get install maven openjdk-8-jdk
|
||||
mvn package
|
||||
java -jar target/pixelwar*-jar-with-dependencies.jar
|
||||
|
||||
or, if you have docker installed but don't want to install maven:
|
||||
|
||||
docker run -it --rm --user "`id -u`:`id -g`" --volume "`pwd`:/build" --workdir /build maven:3-jdk-8-alpine mvn -Duser.home=/build clean package
|
||||
java -jar target/pixelwar*-jar-with-dependencies.jar
|
||||
|
||||
#### `/pixelnuke` (C server)
|
||||
|
||||
Server written in C, based on libevent2, OpenGL, GLFW and pthreads. It won't get any faster than this. Perfect for fast networks and large groups.
|
||||
Server written in C, based on libevent2, OpenGL, GLFW and pthreads. It won't get any faster than this. Prfect for fast networks and large groups.
|
||||
|
||||
cd pixelnuke
|
||||
sudo apt-get install build-essential libevent-dev libglew-dev libglfw3-dev
|
||||
|
|
@ -81,12 +76,12 @@ Additional Commands:
|
|||
* `conn:<uint>` Number of currently connected clients.
|
||||
|
||||
Planned Features:
|
||||
- [x] Toggle between windowed/fullscreen mode and switch monitors in fullscreen mode.
|
||||
- [x] Toggle between windowed/fullscreen mode and switch monitors in fullscreen-mode.
|
||||
- [ ] Persist pixel buffer between restarts. Use an mmap-ed file for pixel data?
|
||||
- [ ] Save to PPM (via key, timer or admin command) and add docs/tools to convert these into a video.
|
||||
- [ ] Support to draw directly to a framebuffer (no OpenGL or X Server dependency -> Raspberry-PI compatible)
|
||||
- [ ] Showcase-Mode: Players won't draw at the same time, but take turns. Each player gets N seconds of exclusive draw time)
|
||||
- [ ] Limit concurrent connections on a per IP basis.
|
||||
- [ ] Limit concurrent connections per IP.
|
||||
- [ ] Admin commands: Unlock additional commands with a password (e.g. `PX2 <x> <y> <rrggbbaa>` to draw to the overlay layer)
|
||||
|
||||
|
||||
|
|
@ -108,7 +103,3 @@ https://www.youtube.com/watch?v=1Jt-X437MKM
|
|||
|
||||
Pixelflut GPN17 Badge
|
||||
https://www.youtube.com/watch?v=JGg4zqqumvs
|
||||
|
||||
Rüspeler Tüfteltage (Kliemannsland, 2018)
|
||||
https://youtu.be/TijSQYZoRUU?t=6m
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ __version__ = '0.6'
|
|||
import time
|
||||
from gevent import spawn, sleep as gsleep, GreenletExit
|
||||
from gevent.socket import socket, SOL_SOCKET, SO_REUSEADDR
|
||||
from gevent.lock import Semaphore, RLock
|
||||
from gevent.coros import Semaphore, RLock
|
||||
from gevent.queue import Queue
|
||||
from collections import deque
|
||||
import pygame
|
||||
|
|
|
|||
|
|
@ -82,11 +82,7 @@ public class PixelServer extends ChannelHandlerAdapter {
|
|||
|
||||
public static void main(final String[] args) throws InterruptedException,
|
||||
IOException {
|
||||
int port = 8080;
|
||||
if(args.length == 1) {
|
||||
port = Integer.parseInt(args[0]);
|
||||
}
|
||||
System.out.println("Starting server on port " + port);
|
||||
new PixelServer(port).run();
|
||||
new PixelServer(8080).run();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue