1
0
Commit Graph

1519 Commits

Author SHA1 Message Date
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
Tiger Wang
c11e252e27 Fixed piston animations...
...for the third (and hopefully last) time.
2013-08-19 19:44:22 +01:00
Tiger Wang
de306d9f79 Fixed uninitialised thingummies 2013-08-19 19:43:28 +01: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
Tiger Wang
ad57f1966c Okay, changed to xoft's partial fix 2013-08-14 12:08:36 +01:00
Tiger Wang
77468f87b7 Merge remote-tracking branch 'upstream/master'
Conflicts:
	source/Piston.cpp

Merge conflict?
2013-08-14 12:03:13 +01:00
Tiger Wang
4ae1750da2 Alpha sorted PistonBreakable list 2013-08-14 11:50:21 +01:00
madmaxoft
b1a892bd9a Partially fixed tonibm19's mess. 2013-08-14 12:45:39 +02:00
Tiger Wang
303b1a9c45 Buncha bugfixes [SEE DESC]
Fixed generation values not being written
Fixed piston being able to push water
Fixed ice creating a non-source block (still doesn't update though)
Removed problematic piston code
2013-08-14 11:44:02 +01:00
Tiger Wang
7803bde6b6 Merge pull request #85 from tigerw/master
Fixed #57
2013-08-14 03:36:16 -07: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
af645c62c9 Merge branch 'master' into PerWorldThreads.
Also fixed the AllToLua script not resolving conflicts.
2013-08-13 23:02:22 +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
Tiger Wang
020ff36af2 YET ANOTHER ERROR >:( 2013-08-13 17:45:40 +01:00
Tiger Wang
27b400adf8 Credits 2013-08-13 17:44:01 +01:00
Tiger Wang
dd6450c2a9 Attempt three
This is extremely embarrassing...
2013-08-13 17:41:50 +01:00
Tiger Wang
a322bb275f Attempt two 2013-08-13 16:47:44 +01:00
Tiger Wang
2b0541ab39 Attempt at fixing sleep issue 2013-08-13 16:42:02 +01:00
Tiger Wang
23a5fb1450 Removed more comments 2013-08-13 16:36:19 +01:00
Tiger Wang
9ec248eaa0 Fixes #57 2013-08-13 16:34:26 +01:00
madmaxoft
27d0c9aef2 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 14:47:08 +02:00
STRWarrior
9ad3c52593 Keep players from taking damage when teleporting. 2013-08-12 02:52:32 -07:00
STRWarrior
83d3635e0b Added quartz stairs. 2013-08-12 02:31:02 -07: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
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
Tiger Wang
d23b8e0c7c Merge pull request #77 from tonibm19/patch-1
Now Endermans spawn in The End
2013-08-11 14:38:31 -07:00
Tiger Wang
b48651a034 Really removed comments this time 2013-08-11 21:08:20 +01:00
tonibm19
67351d7d7b Now Endermans spawn in The End 2013-08-11 21:54:39 +02:00
Tiger Wang
1599d607d1 Merge pull request #74 from tigerw/master
Further attempt at fixing torch placements
2013-08-11 12:44:54 -07: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
Tiger Wang
93f5a4388c Removed unneeded case clause 2013-08-11 15:21:31 +01: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
Tiger Wang
e7ecd78312 Tried adding bracket 2013-08-11 12:08:09 +01:00
Tiger Wang
baae26ab22 Further attempt at fixing torch placements
Also fixed block on flower placement. #71
2013-08-11 11:58:57 +01: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
Tiger Wang
7e288850b1 Attempt at fixing torch placement
Attempt at fixing #71 and placement of torches.
2013-08-10 21:32:50 +01:00
Alexander Harkness
7d6bde3d93 Added back the required extra line in player.cpp 2013-08-10 17:40:52 +01:00
Tiger Wang
b999b27e05 Removed extra disconnect message
There seems to be already one in the HandleDisconnect hook function.
2013-08-10 17:09:14 +01:00
Tiger Wang
7035dbd7f1 Deleting cPlayer now does LOGD instead of LOG
Hopefully only prints in debug the debug message!
2013-08-10 16:59:48 +01:00
Alexander Harkness
e508e09753 Merge pull request #56 from mc-server/LinuxColorConsole
Linux color console
2013-08-10 04:40:38 -07: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