An alternative Minecraft server implementation built from scratch.
Go to file
Protryon f714ecea98 migrate joinServer, update 2019-04-17 06:04:44 -07:00
1_12-data Add 1.12 data 2018-01-14 19:26:44 -08:00
data migrate joinServer, update 2019-04-17 06:04:44 -07:00
include/basin migrate joinServer, update 2019-04-17 06:04:44 -07:00
src migrate joinServer, update 2019-04-17 06:04:44 -07:00
.gitignore Chat check 2017-01-03 19:57:31 -05:00
CMakeLists.txt remove makefile support, project restructure 2019-04-14 13:45:32 -07:00
LICENSE Initial commit 2016-06-23 15:12:55 -07:00
README.md Add compiling instructions 2018-01-14 19:28:14 -08:00

README.md

Basin

A high performance Minecraft server implementation written in C.

Features

  • Low memory footprint (13 MB for a 400-chunk spawn and one player on a 64-bit system)
  • Block placing/breaking
  • Survival mode
  • Creative mode
  • Inventories
  • Players, Chat, and Tab menu
  • Item entities
  • Chests, Furnaces, Crafting
  • PvP
  • Fall damage
  • Block physics & updates
  • C Plugin System
  • Block & Sky Lighting

Planned Features

  • Natural Mob Spawning & AI
  • Lua Plugin Systems
  • Comprehensive permissions & commands system
  • Ultra-low memory mode - Sacrifice CPU Cycles for further memory use reduction
  • Entities-by-chunk logic - Hold millions of entities in a world
  • World generation
  • Comprehensive opt-in Anticheat
  • GPU accelerated world generation, AI, and more(?).

Compiling

To compile Basin, you can use Make directly or use CMake if you choose. Output is always put in basin/Debug regardless of build system.

Make:

To compile: cd basin/Debug; make To clean: make clean (in Debug)

CMake:

To compile:

mkdir cmake-build-debug
cd cmake-build-debug
cmake ..
make -j 4

To clean: make clean (in cmake-build-debug)

Running Basin

To run Basin, simply invoke the binary ./basin. Ensure that the binary is located with the relevant data files (the JSONs).