12-10-2013, 06:33 AM
Awww don't be so hard on yourself
Random Chitchat 2012-2016
|
12-10-2013, 06:33 AM
Awww don't be so hard on yourself
12-10-2013, 07:12 AM
I'm sure you did well, do you have a video to share?
12-10-2013, 05:11 PM
No, this time I didn't have anyone to record video. I might receive a few photos from the people organizing the thing; but it will take a while for them to send it.
12-11-2013, 01:09 AM
I'm proposing a small change in cRoot. Now the sequence is LoadWorlds, Load Plugins, load mobs, start authenticator, StartWorlds. Lets put the StartWorlds after the LoadWorlds so that plugins can interact with the worlds when they Initialize.
Can't, because StartWorlds() can generate chunks, which already needs plugins. That was the main reason why StartWorlds() has been split away from LoadWorlds().
A quick easy solution that comes to my mind is to create a hook, HOOK_WORLD_STARTED, and call that in the beginning of world's tick thread. Plugins can then use that instead of the Initialize() function. Thanks given by: NiLSPACE
12-11-2013, 07:52 PM
Weird - I wanted to report an issue with Decoda that having Lua in a DLL crashes the server, but suddenly it started working.
12-12-2013, 03:08 AM
Any idea why
bool cRoot::StopWorld(AString a_WorldName, AString a_MoveToWorld) { if (a_WorldName == a_MoveToWorld || a_WorldName == m_pDefaultWorld->GetName()) { return false; } if (m_WorldsByName[a_WorldName] == NULL) { return false; } class cCallback : public cPlayerListCallback { public: const char * m_NewWorld; cCallback(const char * a_NewWorld) : m_NewWorld(a_NewWorld) {} virtual bool Item(cPlayer * a_Player) override { a_Player->MoveToWorld(m_NewWorld); return false; } } a_Callback(a_MoveToWorld.c_str()); m_WorldsByName[a_WorldName]->ForEachPlayer(a_Callback); m_WorldsByName[a_WorldName]->Stop(); return true; }makes the server crash? According to VS it crashes because of AString IncomingData; { cCSLock Lock(m_CSIncomingData); std::swap(IncomingData, m_IncomingData); // <--: This is the next statement to execute when this thread returns from the current function. }
I'm surprised. Vanilla server in my 128mb ram 256swap was lagging (vanilla has no modifications, is the lightest java server). I tried spigot(optimized craftbukkit), and it crashed on join. At last, thinking that I wouldn't decrease lag, I tried craftbukkit without optimizations, and what my surprise! Almost lag-free and stable ram use. Amazing for my shit free VPS
12-12-2013, 06:48 AM
STR, it might be crashing because the per-player callback is modifying the list of players while the underlying ForEachPlayer() is iterating over it. It might be a better idea to write a specialized cWorld function that moves all the players at once - effectively does something like
std::swap(m_PlayerList, LocalPlayerListVar); MoveEachPlayer(LocalPlayerListVar);
Transferred my MCS(erver) to new subdomain, if anyone is using, please update your sources.
(12-12-2013, 06:09 AM)tonibm19 Wrote: I'm surprised. Vanilla server in my 128mb ram 256swap was lagging (vanilla has no modifications, is the lightest java server). I tried spigot(optimized craftbukkit), and it crashed on join. At last, thinking that I wouldn't decrease lag, I tried craftbukkit without optimizations, and what my surprise! Almost lag-free and stable ram use. Amazing for my shit free VPS How does MCS compare? |
« Next Oldest | Next Newest »
|