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