f43b65cf53
cAuthenticator uses unique client ID for authentication Changed the kick function used by cAuthenticator to take a client ID instead of name, so the correct user is kicked Using callback reference instead of pointer in GetChunkData and affiliates GetChunkData returns false when failed, and true when succeeded Renamed entity type enums to something prettier Exposed some functions to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@388 0a769ca7-a7f5-676a-18bf-c427514a06d6
92 lines
2.1 KiB
C++
92 lines
2.1 KiB
C++
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "cAuthenticator.h"
|
|
|
|
|
|
|
|
|
|
|
|
class cThread;
|
|
class cMonsterConfig;
|
|
class cGroupManager;
|
|
class cRecipeChecker;
|
|
class cFurnaceRecipe;
|
|
class cWebAdmin;
|
|
class cPluginManager;
|
|
class cServer;
|
|
class cWorld;
|
|
|
|
|
|
|
|
|
|
|
|
class cRoot //tolua_export
|
|
{ //tolua_export
|
|
public:
|
|
static cRoot* Get() { return s_Root; } //tolua_export
|
|
|
|
cRoot();
|
|
~cRoot();
|
|
|
|
void Start();
|
|
|
|
cServer* GetServer() { return m_Server; } //tolua_export
|
|
OBSOLETE cWorld* GetWorld(); //tolua_export
|
|
cWorld* GetDefaultWorld(); //tolua_export
|
|
cWorld* GetWorld( const AString & a_WorldName ); //tolua_export
|
|
cMonsterConfig *GetMonsterConfig() { return m_MonsterConfig;}
|
|
|
|
cGroupManager* GetGroupManager() { return m_GroupManager; } //tolua_export
|
|
cRecipeChecker* GetRecipeChecker() { return m_RecipeChecker; } //tolua_export
|
|
cFurnaceRecipe* GetFurnaceRecipe() { return m_FurnaceRecipe; } //tolua_export
|
|
cWebAdmin* GetWebAdmin() { return m_WebAdmin; } //tolua_export
|
|
cPluginManager* GetPluginManager() { return m_PluginManager; } //tolua_export
|
|
cAuthenticator & GetAuthenticator() {return m_Authenticator; }
|
|
|
|
void ServerCommand(const char* a_Cmd ); //tolua_export
|
|
|
|
void KickUser(int a_ClientID, const AString & a_Reason); // Kicks the user, no matter in what world they are. Used from cAuthenticator
|
|
void AuthenticateUser(int a_ClientID); // Called by cAuthenticator to auth the specified user
|
|
|
|
void TickWorlds( float a_Dt );
|
|
|
|
int GetTotalChunkCount(void); // tolua_export
|
|
|
|
private:
|
|
void LoadGlobalSettings();
|
|
|
|
void LoadWorlds();
|
|
void UnloadWorlds();
|
|
|
|
cServer * m_Server;
|
|
cMonsterConfig * m_MonsterConfig;
|
|
|
|
cGroupManager * m_GroupManager;
|
|
cRecipeChecker * m_RecipeChecker;
|
|
cFurnaceRecipe * m_FurnaceRecipe;
|
|
cWebAdmin * m_WebAdmin;
|
|
cPluginManager * m_PluginManager;
|
|
cAuthenticator m_Authenticator;
|
|
|
|
cMCLogger * m_Log;
|
|
|
|
bool m_bStop;
|
|
bool m_bRestart;
|
|
|
|
struct sRootState;
|
|
sRootState* m_pState;
|
|
|
|
cThread* m_InputThread;
|
|
static void InputThread(void* a_Params);
|
|
|
|
static cRoot* s_Root;
|
|
}; //tolua_export
|
|
|
|
|
|
|
|
|