This commit is a refactoring of the redstone code, mainly the functions handling the removal of invalid blocks from power supplier data structures. Its aim is to improve performance and potentially reduce the memory footprint of the data structures. It works to reduce the amount of GetBlock()s triggered every tick. Before, a GetBlock() was requested for every single item in the data lists, as well as for every single redstone block in a chunk. Following these changes, the AddBlock() event is utilised more effectively to only update the lists when needed (a block is changed), as well as to insert the block type (and update it when needed) alongside the coordinates into the main redstone simulator chunkdata list. In short, a single GetBlock() is now cached, with this cache being updated when the simulator is awoken due to a block change. At least, I *hope* that this is what it does :P
MCServer
Current Protocol Supported: Minecraft v1.2 -> v1.7
MCServer is a performant C++ Minecraft server designed for use in memory and cpu-limited places, or just to make regular server perform better.
MCServer can run on PCs, Macs, and *nix. This includes android phones and tablets as well as Raspberry Pis.
Installation
To install MCServer, you can either download the repository and compile it, or download a pre-compiled version.
After you've cloned the repository, you probably want to pull down the submodules (core plugins, some dependencies). This can be achieved with git submodule init
and then on a regular basis (to keep up to date) git submodule update
.
Compilation instructions are available in the COMPILING file.
Linux builds can be downloaded from Bearbin's CI Service and Windows builds from xoft's nightly build service.
After you've extracted the files, simply run the MCServer executable.
Contributing
MCServer is licensed under the Apache license V2, and we welcome anybody to fork and submit a Pull Request back with their changes, and if you want to join as a permanent member we can add you to the team.
Other Stuff
For other stuff, including plugins and discussion, check the forums and wiki.
Earn bitcoins for commits or donate to reward the MCServer developers: