summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-10-17 13:57:18 +0200
committerMattes D <github@xoft.cz>2014-10-17 13:57:18 +0200
commit687752241f97599c932ab30da449d7b9dec632c4 (patch)
tree253843f8f45b7e3719324ed72dd31977984d663f
parentLuaChunkStay: Fixed a crash on unused callback. (diff)
downloadcuberite-687752241f97599c932ab30da449d7b9dec632c4.tar
cuberite-687752241f97599c932ab30da449d7b9dec632c4.tar.gz
cuberite-687752241f97599c932ab30da449d7b9dec632c4.tar.bz2
cuberite-687752241f97599c932ab30da449d7b9dec632c4.tar.lz
cuberite-687752241f97599c932ab30da449d7b9dec632c4.tar.xz
cuberite-687752241f97599c932ab30da449d7b9dec632c4.tar.zst
cuberite-687752241f97599c932ab30da449d7b9dec632c4.zip
-rw-r--r--src/Protocol/MojangAPI.cpp7
-rw-r--r--src/Protocol/MojangAPI.h2
-rw-r--r--src/Root.cpp5
-rw-r--r--src/Server.cpp4
-rw-r--r--src/Server.h2
5 files changed, 12 insertions, 8 deletions
diff --git a/src/Protocol/MojangAPI.cpp b/src/Protocol/MojangAPI.cpp
index 0a6716e6f..a4b4dbd3b 100644
--- a/src/Protocol/MojangAPI.cpp
+++ b/src/Protocol/MojangAPI.cpp
@@ -214,14 +214,17 @@ cMojangAPI::~cMojangAPI()
-void cMojangAPI::Start(cIniFile & a_SettingsIni)
+void cMojangAPI::Start(cIniFile & a_SettingsIni, bool a_ShouldAuth)
{
m_NameToUUIDServer = a_SettingsIni.GetValueSet("MojangAPI", "NameToUUIDServer", DEFAULT_NAME_TO_UUID_SERVER);
m_NameToUUIDAddress = a_SettingsIni.GetValueSet("MojangAPI", "NameToUUIDAddress", DEFAULT_NAME_TO_UUID_ADDRESS);
m_UUIDToProfileServer = a_SettingsIni.GetValueSet("MojangAPI", "UUIDToProfileServer", DEFAULT_UUID_TO_PROFILE_SERVER);
m_UUIDToProfileAddress = a_SettingsIni.GetValueSet("MojangAPI", "UUIDToProfileAddress", DEFAULT_UUID_TO_PROFILE_ADDRESS);
LoadCachesFromDisk();
- m_UpdateThread->Start();
+ if (a_ShouldAuth)
+ {
+ m_UpdateThread->Start();
+ }
}
diff --git a/src/Protocol/MojangAPI.h b/src/Protocol/MojangAPI.h
index fa4c16e4e..393fd4baa 100644
--- a/src/Protocol/MojangAPI.h
+++ b/src/Protocol/MojangAPI.h
@@ -38,7 +38,7 @@ public:
/** Initializes the API; reads the settings from the specified ini file.
Loads cached results from disk. */
- void Start(cIniFile & a_SettingsIni);
+ void Start(cIniFile & a_SettingsIni, bool a_ShouldAuth);
/** Connects to the specified server using SSL, sends the given request and receives the response.
Checks Mojang certificates using the hard-coded Starfield root CA certificate.
diff --git a/src/Root.cpp b/src/Root.cpp
index aa3d43cba..2d08c2c70 100644
--- a/src/Root.cpp
+++ b/src/Root.cpp
@@ -142,8 +142,9 @@ void cRoot::Start(void)
}
LOG("Starting server...");
- m_MojangAPI.Start(IniFile); // Mojang API needs to be started before plugins, so that plugins may use it for DB upgrades on server init
- if (!m_Server->InitServer(IniFile))
+ bool ShouldAuthenticate = IniFile.GetValueSetB("Authentication", "Authenticate", true);
+ m_MojangAPI.Start(IniFile, ShouldAuthenticate); // Mojang API needs to be started before plugins, so that plugins may use it for DB upgrades on server init
+ if (!m_Server->InitServer(IniFile, ShouldAuthenticate))
{
IniFile.WriteFile("settings.ini");
LOGERROR("Failure starting server, aborting...");
diff --git a/src/Server.cpp b/src/Server.cpp
index 62f6ba35a..8e5755a75 100644
--- a/src/Server.cpp
+++ b/src/Server.cpp
@@ -196,7 +196,7 @@ void cServer::PlayerDestroying(const cPlayer * a_Player)
-bool cServer::InitServer(cIniFile & a_SettingsIni)
+bool cServer::InitServer(cIniFile & a_SettingsIni, bool a_ShouldAuth)
{
m_Description = a_SettingsIni.GetValueSet("Server", "Description", "MCServer - in C++!");
m_MaxPlayers = a_SettingsIni.GetValueSetI("Server", "MaxPlayers", 100);
@@ -247,7 +247,7 @@ bool cServer::InitServer(cIniFile & a_SettingsIni)
m_bIsConnected = true;
m_ServerID = "-";
- m_ShouldAuthenticate = a_SettingsIni.GetValueSetB("Authentication", "Authenticate", true);
+ m_ShouldAuthenticate = a_ShouldAuth;
if (m_ShouldAuthenticate)
{
MTRand mtrand1;
diff --git a/src/Server.h b/src/Server.h
index 6d659fa40..022794bbc 100644
--- a/src/Server.h
+++ b/src/Server.h
@@ -56,7 +56,7 @@ class cServer // tolua_export
public: // tolua_export
virtual ~cServer() {}
- bool InitServer(cIniFile & a_SettingsIni);
+ bool InitServer(cIniFile & a_SettingsIni, bool a_ShouldAuth);
// tolua_begin