2014-09-16 15:27:57 +03:00
|
|
|
Buildat
|
|
|
|
=======
|
|
|
|
A Minecraft clone with vast extendability.
|
|
|
|
|
2014-09-16 20:39:57 +03:00
|
|
|
License: MIT
|
|
|
|
|
2014-09-16 17:58:01 +03:00
|
|
|
Client
|
|
|
|
------
|
|
|
|
Built using Polycode C++.
|
2014-09-16 15:27:57 +03:00
|
|
|
|
2014-09-16 18:22:12 +03:00
|
|
|
Module code is transfered from the server and run in a safe Lua sandbox.
|
|
|
|
|
2014-09-16 17:58:01 +03:00
|
|
|
Server
|
|
|
|
------
|
|
|
|
Built using C++ with most functionality in RCC++.
|
|
|
|
|
2014-09-16 18:22:12 +03:00
|
|
|
C++ modules can interface with each other by using Cereal.
|
|
|
|
|
|
|
|
Module structure
|
|
|
|
----------------
|
|
|
|
module
|
|
|
|
|-- client
|
|
|
|
| `-- init.lua
|
|
|
|
|-- server
|
|
|
|
| `-- init.cpp
|
|
|
|
`-- data
|
|
|
|
`-- media.png
|
|
|
|
|
|
|
|
Module behavior
|
|
|
|
---------------
|
|
|
|
All client scripts are automatically sent to the client. Everything else is
|
|
|
|
handled by the module implementation.
|
2014-09-16 15:27:57 +03:00
|
|
|
|
2014-09-16 18:59:29 +03:00
|
|
|
Modules cannot be unloaded at runtime. Module unload and reload can be simulated
|
|
|
|
by restarting the server and clients automatically while keeping connections
|
|
|
|
open. This requires POLYCODE_CORE to be recreated.
|
|
|
|
|
2014-09-16 22:42:47 +03:00
|
|
|
The first module to be loaded is called __loader. It loads all other modules.
|
|
|
|
|