# Dragonblocks alpha
+A multiplayer voxelgame for POSIX systems.
+
## Usage
+
```bash
./DragonblocksServer <port>
./Dragonblocks <address> <port>
```
-The server will save the map to a file named "map" in the directory it is run in. It will also load the map from there at startup, given that the file exists.
+or alternatively:
-## Client commands:
-- `setnode <x> <y> <z> <node>`: set a node somewhere
-- `getnode <x> <y> <z>`: download the mapblock containing the node at x y z from server
-- `printnode <x> <y> <z>`: print the node at x y z (download the mapblock using getnode first)
-- `kick <name>`: kick a player
-- `disconnect`: disconnect from server
-
-All positions are signed integers (`s32`)
+```bash
+./singleplayer.sh
+```
-## Nodes:
-- `unloaded`: used for nodes in unloaded mapblocks
-- `air`: default node in newly generated mapblocks
-- `dirt`
-- `grass`
-- `stone`
-- `invalid`: unknown nodes received from server
+The server stores the map in map.sqlite (in the current directory).
Interrupt handlers for SIGINT und SIGTERM are implemented.
+## Controls
+
+Use W, A, S and D to fly forward / left / backward / right and Space / Shift to fly up / down.
+
## Dependencies
The client depends on GLFW3, OpenGL and GLEW.
+
```bash
sudo apt install libgl1-mesa-dri libglfw3 libglew2.1
```
+
+The server depends on SQLite3.
+
+```bash
+sudo apt install libsqlite3-0
+```
+
+both the client and the server depend on ZLib.
+
+```bash
+sudo apt install zlib1g
+```