buildat/README.md

81 lines
2.1 KiB
Markdown
Raw Normal View History

2014-09-19 09:38:20 -07:00
Buildat - A minecraftlike with vast extendability.
==================================================
Buildat doesn't actually even implement a minecraftlike by default. It just
provides a lot of useful machinery for doing just that, with immense modding
capabilities.
2014-09-22 04:43:48 -07:00
It wraps a safe subset of Urho3D's Lua API in a whitelisting Lua sandbox on
the client side and runs runtime-compiled C++ modules on the server side.
2014-09-19 09:38:20 -07:00
Go ahead and write some modules and extensions, maybe the minecraftlike will
exist in the near future!
2014-09-20 09:05:30 -07:00
Further reading: design.txt, conventions.txt
2014-09-19 09:38:20 -07:00
Buildat Linux How-To
====================
2014-09-22 04:43:48 -07:00
Install dependencies
----------------------
2014-09-19 09:38:20 -07:00
2014-09-22 04:43:48 -07:00
TODO
2014-09-19 09:38:20 -07:00
2014-09-22 04:43:48 -07:00
Get and build Urho3D
----------------------
2014-09-19 09:38:20 -07:00
$ git clone https://github.com/urho3d/Urho3D.git
$ cd Urho3D
$ ./cmake_gcc.h # Add -DURHO3D_64BIT=true on 64-bit systems
$ cd Build
$ make -j4
Take note whether you build a 32 or a 64 bit version and use the same option in
Buildat's CMake configuration.
2014-09-19 09:38:20 -07:00
Build Buildat
---------------
2014-09-22 04:43:48 -07:00
$ export URHO3D_HOME=/path/to/urho3d
$ cd $wherever_buildat_is
2014-09-19 09:38:20 -07:00
$ mkdir Build # Capital B is a good idea so it stays out of the way in tabcomplete
$ cd Build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug # Add -DURHO3D_64BIT=true on 64-bit systems
2014-09-19 09:38:20 -07:00
$ make -j4
You can use -DBUILD_SERVER=false or -DBUILD_CLIENT=false if you don't need the
2014-09-22 04:43:48 -07:00
server or the client, respectively.
2014-09-19 09:38:20 -07:00
Run Buildat
-------------
Terminal 1:
$ $wherever_buildat_is/Build
$ bin/buildat_server -m ../test/testmodules
Terminal 2:
$ $wherever_buildat_is/Build
$ bin/buildat_client -s localhost -U $URHO3D_HOME
2014-09-19 09:38:20 -07:00
Modify something and see stuff happen
---------------------------------------
Edit something and then restart the client (CTRL+C in terminal 2):
$ cd $wherever_buildat_is
2014-09-19 15:37:37 -07:00
$ vim test/testmodules/minigame/client_lua/init.lua
$ vim test/testmodules/minigame/minigame.cppp
2014-09-19 09:38:20 -07:00
$ vim builtin/network/network.cpp
2014-09-19 17:20:53 -07:00
Buildat Windows How-To
======================
Umm... well, you need to first port some stuff. Try building it and see what
happens. Then fix it and make a pull request.
2014-09-20 00:04:28 -07:00
You probably want to use MinGW or Clang in order to bundle the compiler with the
end result.