Commit Graph
100 Commits
Author SHA1 Message Date
madmaxoft 26b56689a6 Updated the nightbuild script for moved plugins 2013-08-16 10:17:37 +02:00
madmaxoft 0074432ccd Moved ProtectionAreas into a separate repository 2013-08-16 09:38:57 +02:00
madmaxoft 8326aff5b4 Added the ClonePlugins script.
This will clone the base plugins into their respective folders.
2013-08-16 09:30:27 +02:00
madmaxoft 98d574f05e No more Core in the MCServer repo 2013-08-16 09:20:34 +02:00
madmaxoft 7acb665f25 Exported cWorld:DoExplosionAt() to Lua API. 2013-08-15 22:12:57 +02:00
madmaxoft 1c2140dd4d Fixed the Reload and Save-all console commands.
They were broken by the PerWorldThreads update removing cServer:BroadcastMessage() and cServer:SendMessage()
2013-08-15 17:18:27 +02:00
madmaxoft 28de751f2c Attempting to fix CentOS / gcc 4.4.7 compilation problem.
Reported by ThijsD in the forum http://forum.mc-server.org/showthread.php?tid=1220
2013-08-15 13:05:24 +02:00
Mattes D 1a52e89177 Merge pull request #93 from mc-server/PerWorldThreads
Per world threads
2013-08-15 01:56:52 -07:00
madmaxoft 0aace84516 Updated the makefile to disable assembly for clang.
You need to set a flag manually, "disableasm=1" on the commandline.
2013-08-15 09:20:50 +02:00
madmaxoft 0297cf5485 Updated CryptoPP to 5.6.2 2013-08-15 09:03:58 +02:00
Mattes D b092c2770c Merge pull request #91 from tigerw/master
Fixed piston being able to push water
Fixed ice creating a non-source block (still doesn't update though)
2013-08-14 22:52:24 -07:00
madmaxoft 50205bc4df Added simple deadlock detection code.
This will assert and then deliberately crash the server once a deadlock is detected. For detection, only the world tick threads are considered, cWorld's m_WorldAge is checked periodically and if it doesn't increment for several seconds, a deadlock is reported.
2013-08-14 22:39:12 +02:00
madmaxoft f93d13c419 Fixed world's a_Dt parameter getting time values in wrong units. 2013-08-14 22:36:34 +02:00
madmaxoft 259cf9f027 cEvent can now wait for the event with a specified timeout. 2013-08-14 22:27:49 +02:00
madmaxoft 0af2a0b08c ClientHandle no longer queues chat messages.
It is no longer needed to queue chat messages, because the protocol is parsed within the Tick thread itself, without holding any SocketThread CS.
2013-08-14 20:08:05 +02:00
madmaxoft e2ff4a2e5c Clients are deleted when the world is stopped.
This fixes #92.
2013-08-14 19:56:29 +02:00
madmaxoft cce9642c7b Fixed wrong names for some metas.
They were E_BLOCK_ instead of E_META_.
2013-08-14 19:49:53 +02:00
Mattes D a1ec14f7f8 Updated CONTRIBUTING.md with basic recommendations 2013-08-14 19:42:18 +02:00
madmaxoft 17b2353d71 Server counts the players correctly.
Was missing the PlayerDestroying() call, so players weren't removed from the playercount.
2013-08-14 19:11:54 +02:00
madmaxoft f8757d3606 Fixed crashes in world's clientlist manipulators 2013-08-14 13:43:55 +02:00
madmaxoft b1a892bd9a Partially fixed tonibm19's mess. 2013-08-14 12:45:39 +02:00
madmaxoft c0629a9a6e Fixed player swimstate crash.
The check for swimming / submersion checks the Y coord first. Fixes #63.
2013-08-14 10:33:26 +02:00
madmaxoft 8c3837987b Player counts are now properly handled.
Fixes #80
2013-08-14 10:24:34 +02:00
madmaxoft b65a91dde3 Exported cWorld:BroadcastChat() to the Lua API; used in the Core. 2013-08-13 23:10:59 +02:00
madmaxoft 7b190f5044 Updated the Core Lua files in MCServer project externals. 2013-08-13 23:06:23 +02:00
madmaxoft af645c62c9 Merge branch 'master' into PerWorldThreads.
Also fixed the AllToLua script not resolving conflicts.
2013-08-13 23:02:22 +02:00
madmaxoft fcb558a427 Added ConsoleColors test for testing out linux console color codes. 2013-08-13 22:47:56 +02:00
madmaxoft 9020dc9932 Clients are now ticked in cServer first, then in cWorld once they get assigned a world. 2013-08-13 22:45:29 +02:00
Mattes D 054cb61c2b Merge pull request #88 from tonibm19/patch-3
Fixed new crafting recipes.
2013-08-13 12:42:36 -07:00
Mattes D f4cb791186 Merge pull request #84 from tonibm19/patch-2
Recipe Updates
2013-08-13 05:33:33 -07:00
madmaxoft 27d0c9aef2 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 14:47:08 +02:00
madmaxoft 90ef9cfe97 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 08:42:18 +02:00
madmaxoft c628ab03e9 Removed cServer::BroadcastChat() and cServer::SendMessage().
These two functions make it difficult to move to the new ticking system, and they aren't used anyway. If so required, they can be emulated by ForEachWorld / ForEachPlayer calls.
2013-08-12 08:35:13 +02:00
madmaxoft add99a8847 Makefile: Added FreeBSD support.
FreeBSD uses libltdl instead of libdl. Thanks xreprimand for the info.
2013-08-12 08:29:02 +02:00
madmaxoft 6914bf4c65 Removed unused cServer::IsConnected() function. 2013-08-12 07:55:53 +02:00
madmaxoft 79ece8eb0d Merge branch 'master' into PerWorldThreads 2013-08-12 07:46:41 +02:00
madmaxoft 829cc866cd Added cWorld:QueueSaveAllChunks() function for saving chunks asynchronously.
The cWorld:SaveAllChunks() is therefore deprecated in the API and will be removed soon, use QueueSaveAllChunks() instead.
2013-08-11 21:05:44 +02:00
madmaxoft ac9224da91 cIsThread threads get a window identification on Win.
This enables tools such as TaskInfo to report the thread name directly.
2013-08-11 20:22:42 +02:00
madmaxoft 4c5590636c Each world now ticks in a separate thread. 2013-08-11 20:16:41 +02:00
madmaxoft c59d80a2af Removed cServer::m_pState, dissolved into direct member variables.
The server tick thread is now in the cServer::cTickThread object.
2013-08-11 19:46:27 +02:00
madmaxoft 2baa6634ec cIsThread: Added the Stop() method and debugging output in Wait() 2013-08-11 19:40:15 +02:00
madmaxoft eb9d45e906 Moved MaxPlayers and Description from cWorld to cServer.
Also started creating a new cWorld::cTickThread class, but not used yet.
2013-08-11 19:18:06 +02:00
madmaxoft b58ca60815 Added doxyComments for cIsThread. 2013-08-11 18:46:49 +02:00
madmaxoft dd60f55bcc Added the OnHopperPullingItem and OnHopperPushingItem hooks.
Requested in FS 412, slightly modified the params.
2013-08-11 14:57:07 +02:00
madmaxoft d97b4463c6 Added an AllowEmptyStacks param to cItemGrid::HowManyCanFit(). 2013-08-11 14:54:45 +02:00
madmaxoft deeb3a15dc Added OnPlayerAnimation() hook.
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-11 12:29:05 +02:00
madmaxoft 15f80e0811 Linux color redirection fixed.
Outputting to stdin, yeah, right, that's gonna work :P
2013-08-10 13:07:49 +02:00
madmaxoft 19781ecad5 Coloring is reset before the LF. 2013-08-10 13:03:05 +02:00
madmaxoft 9794496571 Another Linux compilation fix. 2013-08-10 12:51:57 +02:00
madmaxoft 211a8395d4 Fixed Linux build. 2013-08-10 12:50:23 +02:00
madmaxoft 63b2fa21e8 Disabled coloring for redirected output. 2013-08-10 12:44:39 +02:00
madmaxoft 528feaba2c Use printf() instead of puts().
puts() outputs an extra newline, making it unsuitable
2013-08-10 09:45:05 +02:00
madmaxoft 2a97bed3b4 Bad preprocesor used for discovering Linux 2013-08-10 09:42:20 +02:00
madmaxoft d3c29c5a88 Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-10 08:22:53 +02:00
madmaxoft 72e2891017 Fixed squid crashing the server when above or below the world 2013-08-10 08:22:53 +02:00
madmaxoft c85acd4ece Renamed Plugin_NewLua to PluginLua. 2013-08-10 08:22:52 +02:00
madmaxoft 8fd67cf12a First attempt at Linux console colors
Ref.: issue #41
2013-08-09 22:40:12 +02:00
madmaxoft f89d6cc9af Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-09 16:20:12 +02:00
madmaxoft 7c9c51425b Fixed squid crashing the server when above or below the world 2013-08-09 15:53:43 +02:00
madmaxoft 7d70a06461 Renamed Plugin_NewLua to PluginLua. 2013-08-09 15:15:56 +02:00
madmaxoft d4a3c451c4 Added OnExploding() and OnExploded() hooks.
As requested in FS 413, with extra parameters:
World, BlockX, BlockY, BlockZ, Size, CanCauseFire, Source, SourceData

OnExploding() can return 3 values:
StopHook, CanCauseFire, ExplosionSize
2013-08-09 14:58:43 +02:00
madmaxoft 23b15a926c Fixed a copypasta error in hook function names.
Thanks STR_Warrior for the report
2013-08-08 16:32:55 +02:00
madmaxoft eb323166d9 Removed LuaScript.
The WebAdmin now uses LuaState directly to call the one function it needs.
2013-08-08 16:30:02 +02:00
madmaxoft cc920ea929 cPlugin_NewLua is now completely rewritten to use templated LuaState calls. 2013-08-08 16:02:07 +02:00
madmaxoft 9e34a878ef cPlugin: Name now defaults to the plugin folder name. 2013-08-08 16:01:26 +02:00
madmaxoft 198b221997 LuaState refactoring: using templates for hook function calls.
This simplifies calling Lua functions considerably, it's almost like calling a C++ function, only with an extra argument to delimit args from returned values.
2013-08-08 14:08:35 +02:00
madmaxoft 6c54650b27 cPlugin: Removed empty default implementation of virtual calls. 2013-08-08 14:08:34 +02:00
madmaxoft ae9334bd93 Merge pull request #49 from mc-server/RemoveSquirrel
Remove squirrel
2013-08-08 03:14:47 -07:00
madmaxoft 3f4abe8c95 Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.
As requested in FS 418.
2013-08-08 09:13:13 +02:00
madmaxoft 694d86f920 Removed squirrel mentions from makefile 2013-08-08 08:16:22 +02:00
madmaxoft 03d0e2142e Removed squirrel from project includes 2013-08-08 08:16:05 +02:00
madmaxoft 09ebda4d10 Removed Squirrel.
This compiles under Windows, but is untested in Linux.
2013-08-07 22:39:40 +02:00
madmaxoft 3d027a8928 Merge pull request #48 from mc-server/BlockTracing
Block tracing
2013-08-07 06:46:43 -07:00
madmaxoft 26083110da Merge pull request #47 from tonibm19/master
Updated mobs health and damage
2013-08-07 06:45:47 -07:00
madmaxoft 00ac16d92b Debuggers plugin: added the "/spidey" command.
This showcases the cLineBlockTracer functionality exposed to Lua.
2013-08-07 14:34:56 +02:00
madmaxoft 58a76a90dc Added cLineBlockTracer to the API 2013-08-07 14:34:00 +02:00
madmaxoft 10b8ee7441 Plugin: Fixed plugin name in the cLuaState's subsystem 2013-08-07 14:33:16 +02:00
madmaxoft 29b9fb0a8b LuaScript: removed unused code 2013-08-07 14:32:40 +02:00
madmaxoft 2f6b2b7bac cIniFile: fixed API-non-exportable function marked as API-export 2013-08-07 14:32:08 +02:00
madmaxoft 9b839aa32e cLuaState has reference management, param checking and a fixed destructor.
References are now managed as RAII objects, cLuaState::cRef.
Destructor now calls correct function, either Close() or Detach(), based on the owned-ness of the lua_State *.
2013-08-07 14:26:18 +02:00
madmaxoft 5b9478d37b Merge pull request #46 from tonibm19/master
Now zombies spawn in Overworld during night
2013-08-06 13:38:18 -07:00
madmaxoft c55fabb5ad cLuaScript now uses cLuaState 2013-08-06 19:28:09 +02:00
madmaxoft 0281b1db6e Fixed compilation in ManualBindings 2013-08-06 19:27:48 +02:00
madmaxoft 4034136922 cLuaState is used for pushing splits in ManualBindings 2013-08-06 17:17:26 +02:00
madmaxoft 2030bd47c8 cLuaState now tracks the function name and number of args 2013-08-06 08:59:54 +02:00
madmaxoft 2151bb8f5b cLuaState can now contain a detached LuaState, too.
This will be useful for cases when we get a lua_State * from the outside and are asked to perform operations on it.
2013-08-06 08:01:00 +02:00
madmaxoft c0066e7260 Merge branch 'master' into BlockTracing 2013-08-05 16:02:41 +02:00
madmaxoft 73fcd7ad1c Exported the cWorld:TryGetHeight() function 2013-08-05 15:54:10 +02:00
madmaxoft d83e4369d3 Exported cWorld:DoWithEntityByID() to Lua API 2013-08-05 15:41:24 +02:00
madmaxoft 3b418c7695 Alpha-sorted the manual bindings' functions. 2013-08-05 15:26:43 +02:00
madmaxoft ca5561c395 cIniFile now reads .example.ini if not requested not to.
As specified in #44, when the .ini file cannot be opened, a .example.ini is tried, and if it succeeds, it is written as .ini. This makes it easy to provide ini file templates.
2013-08-05 15:24:23 +02:00
madmaxoft 073bcd0361 Added the Carpet block. 2013-08-05 10:43:43 +02:00
madmaxoft 71bb41ee86 LuaState refactoring: initial part.
The cLuaState class is a wrapper for the lua_State * and for the common functions on it. The cPlugin_NewLua has been rewritten to use it instead of the raw pointer. Part of #33
2013-08-04 23:11:25 +02:00
madmaxoft e21ed58d5f cWorld: Added a self-test for LineBlockTracer, disabled by an #ifdef. 2013-08-04 16:08:09 +02:00
madmaxoft 654714e7bc LineBlockTracer: Fixed initial errors 2013-08-04 16:07:15 +02:00
madmaxoft 6af81c66e9 cItem: Removed a warning emitted when creating an item from air 2013-08-04 16:06:28 +02:00
madmaxoft b522a9b262 Ignoring all .ini files in the MCServer folder.
Only the .example.ini files are supposed to be in the repository and they must be added specifically by name (git add -f <filename>). All the other .ini files are considered instance-specific and are not to be put into the repo.
2013-08-04 16:05:45 +02:00
madmaxoft 5fe7008966 First attempt at implementing a cLineBlockTracer class
Not yet tested, will probably have lots of bugs, if it is at all usable.
2013-08-04 13:25:48 +02:00
madmaxoft f660475905 Added a global .user file to initialize debugging options.
This helps newly checked-out repositories get the proper debugging settings under MSVC.
2013-08-04 09:03:10 +02:00
madmaxoft 37850433d2 Improved logging coloring performance on Windows. 2013-08-04 08:56:20 +02:00