Players are now stored in separate folder /players instead of in the world folder (!so move the folder!) Fixed a memory leak/error in cPickup.cpp Multiple worlds are stored in cRoot cClientHandle lists are taken out of cWorld and now stored in cServer Worlds now have names to distinguish them by Some functions in the Core plugin now distinguish between worlds git-svn-id: http://mc-server.googlecode.com/svn/trunk@40 0a769ca7-a7f5-676a-18bf-c427514a06d6
51 lines
841 B
C++
51 lines
841 B
C++
// Mem leak detection
|
|
#include "MemoryLeak.h"
|
|
|
|
#include "cRoot.h"
|
|
#include "cMCLogger.h"
|
|
|
|
#include <exception> //std::exception
|
|
#include <stdio.h> //printf
|
|
#include <csignal> //std::signal
|
|
#include <stdlib.h> //exit()
|
|
|
|
void ShowCrashReport(int)
|
|
{
|
|
std::signal(SIGSEGV, SIG_DFL);
|
|
|
|
printf("\n\nMCServer has crashed!\n");
|
|
|
|
exit(-1);
|
|
}
|
|
|
|
int main( int argc, char **argv )
|
|
{
|
|
(void)argc;
|
|
(void)argv;
|
|
#ifdef _DEBUG
|
|
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
|
|
#endif
|
|
|
|
#ifndef _DEBUG
|
|
std::signal(SIGSEGV, ShowCrashReport);
|
|
#endif
|
|
|
|
try
|
|
{
|
|
cRoot Root;
|
|
Root.Start();
|
|
}
|
|
catch( std::exception& e )
|
|
{
|
|
LOGERROR("Standard exception: %s", e.what() );
|
|
}
|
|
catch( ... )
|
|
{
|
|
LOGERROR("Unknown exception!");
|
|
}
|
|
#ifdef _DEBUG
|
|
_CrtDumpMemoryLeaks();
|
|
#endif
|
|
return 0;
|
|
}
|