Commit Graph

1468 Commits (2d7c72f1b705560822b15f11208f1e5d6a735d86)

Author SHA1 Message Date
madmaxoft 2d7c72f1b7 DeadlockDetect now uses sleep instead of timed-wait semaphores.
The semaphores' timed-wait still has issues on Linux, it's just easier to use cSleep instead.
2013-08-19 22:35:27 +02:00
madmaxoft fdbe835131 Fixed WorldTickThread reporting wrong time durations for each tick.
This had caused food eating to fail and players unable to collect pickups on Linux.
2013-08-19 22:23:25 +02:00
madmaxoft 94f8884f60 Fixed the extreme strain on the world tick thread.
Block changes were sent even with empty changesets, causing a lot of lost CPU cycles.
2013-08-19 21:55:03 +02:00
madmaxoft 53455a10fa Fixed cEvent TimedWait on Linux. 2013-08-19 17:29:08 +02:00
madmaxoft 25e2f721ad Added cPickup:IsCollected() to the Lua API. 2013-08-19 11:58:20 +02:00
madmaxoft e80c5eac40 Added cPickup:GetAge() the the Lua API. 2013-08-19 11:44:11 +02:00
madmaxoft 1a7912744f Moved entities into the Entities subfolder. 2013-08-19 11:39:13 +02:00
madmaxoft 539ae20466 Fixed timed event wait on Linux.
Was causing an error message and the DeadlockDetect didn't work.
2013-08-19 10:51:18 +02:00
madmaxoft 493100bdb0 Finished renaming cPlugin_NewLua to cPluginLua. 2013-08-19 09:39:18 +02:00
madmaxoft dd030fa892 Implemented the OnWorldTick hook.
Triggerred for each world every time it ticks, parameters are the cWorld and the previous tick length (a_Dt)
2013-08-19 09:28:22 +02:00
madmaxoft 909a9c6973 cChunk::SetBlock() now uses cChunk::FastSetBlock() for the common code path. 2013-08-19 09:19:45 +02:00
madmaxoft 82ce40e2cc Removed an unused CriticalSection from cChunk.
Fixes #109
2013-08-19 09:13:19 +02:00
madmaxoft ee2b8c7103 Fixed crash when the player is above the world.
Fixes #53.
2013-08-19 09:02:33 +02:00
madmaxoft 7b10068370 Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.
Untested yet, so might not work.
2013-08-18 22:44:22 +02:00
madmaxoft 861d5c75c9 Removed SetServerBlock griefing. 2013-08-18 20:00:50 +02:00
madmaxoft 864a0965b1 Fixed piston code griefing damage. 2013-08-18 19:56:04 +02:00
Tiger Wang 195d10108b Emergency compilation fix! 2013-08-18 16:11:24 +01:00
Tiger Wang fb32c28f80 Merge branch 'master' of https://github.com/tigerw/MCServer into tigerw-master
Conflicts:
	source/Piston.cpp

Merged pull request and fixed merge conflicts
2013-08-18 15:58:27 +01:00
Tiger Wang fbbf12f3a6 Added checks to bail out if block entities are being pushed by a piston 2013-08-18 15:04:38 +01:00
Tiger Wang 8a3174164b Properly fixed piston non-animation
Fixes #57
2013-08-18 14:52:38 +01:00
madmaxoft a46977f56e Made cPiston code more readable and configurable.
Fixed some minor problems with pistons, such as pulling water etc. Thanks to TigerW for some inspiration.
2013-08-18 14:28:52 +02:00
madmaxoft 0d323563e4 Added cWindow property manipulation API.
Now enchantment table and furnace properties can be set by a plugin
2013-08-18 13:26:37 +02:00
Tiger Wang 9e0b8b5bee Enhancements to Tabcompletion and Compile Fix
Tab complete now finds the last word and matches accordingly, with a 20%
increase in speed!
Fixed missing comma breaking compilation
2013-08-18 11:58:19 +01:00
madmaxoft 40e9e5b95b cListenThread correctly closes all sockets.
This partially fixes FS 421.
2013-08-18 12:27:46 +02:00
madmaxoft 76cf61ce66 Disabled Lua virtual hooks.
This technology was used for old-style plugins and is no longer supported nor needed. Fixes #78.
2013-08-18 10:51:21 +02:00
Tiger Wang 7014979bff Merge remote-tracking branch 'upstream/master' 2013-08-18 00:36:51 +01:00
Tiger Wang 679085b520 Bugfix Update [SEE DESC}
Added stained clay, coal block, and hardened clay Block IDs
Added stained clay and carpet block Metas
Fixed bug with sticky retract bailing out but not unsetting arm
Fixed autocomplete not working when not at the first character, fixes
#64
Added furnace recipes for hardened clay and coal and coal blocks
2013-08-18 00:33:14 +01:00
madmaxoft 8fe6bb55dd Fixed LuaWindow destructor causing a crash.
It was leaving the m_Contents' relations to listeners and SlotAreas' relations to m_Contents, which were already gone.
2013-08-18 00:39:15 +02:00
madmaxoft 5efbb46ff0 Fixed assert failures in cLuaState when using it for pushing a StringVector. 2013-08-18 00:20:23 +02:00
madmaxoft d287183137 Added cRoot:BroadcastChat() to the Lua API.
This allows plugins to broadcast a chat message to all connected players. It is a replacement for previously removed cServer:BroadcastChat().
2013-08-17 23:58:37 +02:00
madmaxoft fcfbdee76d The server Tick thread ticks PluginManager.
This fixes #104 and #102
2013-08-17 23:45:58 +02:00
madmaxoft 4a3d0fcff5 Fixed compile-time warning in TNTEntity.
The FuseTime is now a double instead of a float
2013-08-17 18:08:46 +02:00
Tiger Wang a4d927c9e1 Another compile fix 2013-08-16 13:20:33 +01:00
Tiger Wang 6981e55b6c Possible entity ID fix? 2013-08-16 13:12:44 +01:00
Tiger Wang e64c40115e Compilation and Minecart fixes 2013-08-16 13:04:06 +01:00
Tiger Wang cbde4f546a Merge remote-tracking branch 'upstream/master' 2013-08-16 11:25:53 +01:00
Tiger Wang 7f87d6c3d6 Feature and bugfixes [SEE DESC]
Added TNT and Hopper minecarts
Fixed piston code failing without an extension set
Repeaters are now broken
Fixed not being able to place a minecart on an activator rail
Added much needed comments on piston code
Fixed minor formatting issue
2013-08-16 11:23:24 +01:00
madmaxoft 0cb00996de Replaced E_ENTITY_TYPE_XXX with cMonster::mtXXX.
Also slightly improved the spawning algorithm.
2013-08-16 10:48:30 +02:00
madmaxoft 7acb665f25 Exported cWorld:DoExplosionAt() to Lua API. 2013-08-15 22:12:57 +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
Tiger Wang d4f8a057dd Generation and simulation defaults
...are no longer set, instead, the server operator is told to set them.
2013-08-14 22:26:15 +01: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
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