Plugin-based client-server voxel game engine written in D language
D
Latest commit 203fcfa Jan 17, 2017 @MrSmith33 Add metadata layer.

README.md

Voxelman Build Status Join the chat at https://gitter.im/MrSmith33/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

Imgur album

See releases for binaries.

See youtube channel for videos.

Installing game

Starting game with 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
  • Select local server and press Connect at the bottom.
  • To stop the server, go to the Code menu and hit Stop button of your server instance.

Starting game with command line

  • voxelman --app=[client|server|combined] --world_name="new world" --name="Player".
  • You can override any config options by passing switch in a form --option=value.
  • Array config options are passed using comma between items. Like --resolution=1280,800.

Server commands

  • 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

Controls (Can be changed in config/client.sdl)

  • Q to lock mouse.
  • WASD, LCtrl, Space to move. LShift to boost.
  • Right and Left to switch tools.
  • R to rotate rails.
  • RMB to place
  • LMB to remove.
  • [ and ] to change view distance.
  • Keypad - and + to change movement speed.
  • U disable position update.
  • F flying mode.
  • N noclip.

Building from sources

Linux

Install compilers:

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

Install dependencies:

sudo apt-get install liblmdb-dev liblz4-dev libglfw3 libenet-dev

Compile:

git clone --depth=50 https://github.com/MrSmith33/voxelman voxelman
cd voxelman
git submodule update --init --recursive
dub build

Download cimgui.so x86_64 and place it in lib/64.

Run:

cd builds/default
voxelman --app=combined