Voxelman
Plugin-based engine written in D language.
Voxelman plugin pack includes plugins for a voxel-based game(s).
Launcher will allow for any plugin combination, while master-server will host all plugins and online server list.
Screenshots and videos
See releases for binaries.
See youtube channel for videos.
Contacts
Join Discord servers:
Installing game
- Download latest build
- Unpack
- Follow instructions below
Compiler
Any D compiler with frontend version of 2.075 and newer.
Requirements
- OpenGL 3.1 support
- Multicore CPUs are utilized
- Memory consumption
Map name | 10 (21^3) chunks | 20 (41^3) chunks | 30 (61^3) chunks | |||
---|---|---|---|---|---|---|
RAM | VRAM | RAM | VRAM | RAM | VRAM | |
Default heightmap terrain | 300MB | 150MB | 800MB | 200MB | 1.8GB | 400MB |
Default flat terrain | 80MB | 18MB | 160MB | 80MB | 400MB | 170MB |
King's landing | 200MB | 180MB | 500MB | 550MB | 600MB | 700MB |
Starting game from launcher
Single player
- Start launcher
- Press
New
in worlds tab to create new world - Select new world and press
Start
Multiplayer
- To start a server select world and press
Server
button - Connect to your server in
Connect
tab ofPlay
menu - Select local server and press
Connect
at the bottom - To stop the server, go to the
Code
menu and hitStop
button of your server instance
Starting game from command line
- Executable must be started from
builds/default
folder voxelman --app=[client|server|combined] --world_name="new world" --name="Player"
- You can override any config option with a switch of a form:
--option=value
- Array config options are passed using comma between items. Like
--resolution=1280,800
Server commands
- Can be inputted from server console inside launcher
Debug
menu, or from client's in-game console -
tp <x> [<y>] <z> | tp <player name>
- teleports to position or other player's location -
tp u|d|l|r|f|b <num_blocks>
- teleports player in choosen direction -
spawn
teleports to starting world position -
spawn set
sets world spawn -
dim_spawn
teleports to dimension spawn pos -
dim_spawn set
sets dimension spawn pos
config/client.sdl
)
Controls (Can be changed in -
Q
to lock mouse -
WASD
,LCtrl
,Space
to move.LShift
to boost -
Right
andLeft
to switch tools -
R
to rotate blocks -
RMB
to place -
LMB
to remove -
MMB
to pick block -
~
open console -
[
and]
to change view distance - Keypad
-
and+
to change movement speed -
U
disable position update -
F
flying mode -
N
noclip -
KP+
,KP-
change movement speed -
F2
chunk grid -
F5
update all meshes -
C
toggle frustum culling -
Y
toggle wireframe mode
Building from sources
Installing compilers
Linux
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update
sudo apt-get install build-essential dmd-bin dub
Windows
- Compilers https://dlang.org/download.html
- Visual studio https://visualstudio.microsoft.com/
Installing dependencies
Linux
sudo apt-get install liblmdb-dev liblz4-dev libglfw3-dev libenet-dev
Windows
Download compiled static libs from here
Unpack lib
folder inside voxelman
folder.
Compile
git clone --depth=50 https://github.com/MrSmith33/voxelman voxelman
cd voxelman
git submodule update --init --recursive
dub build
With sources and dependencies you can now also compile & run via launcher.
Run
cd builds/default
voxelman --app=combined