Random Chitchat 2012-2016
I have a bad deadlock:
One player in the server, and executed a server-console command "save-all".

Now the cRoot's InputThread holds the CS to the Core plugin, because the Core is executing the save-all command; and the command is trying to lock the chunkmap to save chunks.
The TickThread has chunkmap locked because it was ticking, and wants to lock Core's CS to call the OnPlayerMoving() callback. So they effectively deadlock each other.

Fixed deadlock, fixed fake tree remnants... I think I deserve going to bed now Smile
Thanks given by:
I tried to fix the slowdown on clients, presumably by having too many block changes right after a chunk loads. So my first thought was - hey, let's tick a chunk for a while after being generated, even if it doesn't have a client yet. That proved counter-productive, since ticking a chunk sometimes triggers its neighbors to generate, they tick for a while and trigger their neighbors, and... soon I had more than a thousand chunks loaded. Need a better strategy.
Thanks given by: tonibm19
Big Grin 
(04-29-2013, 01:21 AM)xoft Wrote: I tried to fix the slowdown on clients.
Good, when is fixed, I will use MCServer world generator. Why don't you do the same that vanilla/bukkit does? (I don't know what it does but it goes well)
Thanks given by:
I think rev 1431 half-fixed it Smile There was a bad condition in cChunk::FastSetBlock() that caused several thousand blocks to be sent for each chunk when it made the first simulator tick (turning edge-water from flowing to stationary); now such changes are ignored and not sent to the client.

Still, especially if you use Floody simulator, there can be a lot of block updates that generate legally, when the fluid is spreading a lot. It shouldn't happen too much, though.
Thanks given by:
The minecart placement is a bit messed up. if you place a normal minecart you get a storage minecart and with the other kinds of minecarts you get nothing.
Thanks given by:
Out of curiosity, I pushed MCServer svn log through StatSVN. Here's the code authorship, counted in lines:
Code:
xoft     222097 (54.3%)
cedeel    92726 (22.7%)
faketruth 61874 (15.1%)
lapayo    15664 (3.8%)
omencraft 11457 (2.8%)
luksor     2334 (0.6%)
keyboard   1144 (0.3%)
str_warrior 706 (0.2%)
taugeshtu   611 (0.1%)
mtilden     523 (0.1%)

Faketruth, you're losing the project, you need to do something big now Wink
Thanks given by:
:O i have 0.2%Big Grin
Thanks given by:
I think that Xoft is the best MCServer developer, is who does more work of all.
Thanks given by:
I was originally doing this to see how difficult it would be to change the license - we'd need each author to agree, which in our case is just 12 people, should be doable. Of course, I'm flatterred by the results Smile
Thanks given by:
for my SignLock plugin i need a World:SetSignLines function. could this be added or did i not searched the source good enough Wink
Thanks given by:




Users browsing this thread: 9 Guest(s)