mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-31 01:15:48 -04:00
Added CentralServer project
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
// ConfigCentralServer.cpp
|
||||
// copyright 2000 Verant Interactive
|
||||
// Author: Justin Randall
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
#include "FirstCentralServer.h"
|
||||
#include "serverUtility/ConfigServerUtility.h"
|
||||
#include "sharedFoundation/ConfigFile.h"
|
||||
#include "sharedNetwork/SetupSharedNetwork.h"
|
||||
#include "ConfigCentralServer.h"
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
ConfigCentralServer::Data * ConfigCentralServer::data = 0;
|
||||
|
||||
#define KEY_INT(a,b) (data->a = ConfigFile::getKeyInt("CentralServer", #a, b))
|
||||
#define KEY_BOOL(a,b) (data->a = ConfigFile::getKeyBool("CentralServer", #a, b))
|
||||
#define KEY_STRING(a,b) (data->a = ConfigFile::getKeyString("CentralServer", #a, b))
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
namespace ConfigCentralServerNamespace
|
||||
{
|
||||
typedef std::vector<char const *> StringPtrArray;
|
||||
StringPtrArray ms_startPlanets; // ConfigFile owns the pointer
|
||||
StringPtrArray ms_startConnectionServer;
|
||||
}
|
||||
|
||||
using namespace ConfigCentralServerNamespace;
|
||||
|
||||
// ======================================================================
|
||||
|
||||
int ConfigCentralServer::getNumberOfStartPlanets()
|
||||
{
|
||||
return static_cast<int>(ms_startPlanets.size());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
char const * ConfigCentralServer::getStartPlanet(int index)
|
||||
{
|
||||
VALIDATE_RANGE_INCLUSIVE_EXCLUSIVE(0, index, getNumberOfStartPlanets());
|
||||
return ms_startPlanets[static_cast<size_t>(index)];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
int ConfigCentralServer::getNumberOfStartingConnectionServers()
|
||||
{
|
||||
return static_cast<int>(ms_startConnectionServer.size());
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
char const * ConfigCentralServer::getStartingConnectionServer(int index)
|
||||
{
|
||||
VALIDATE_RANGE_INCLUSIVE_EXCLUSIVE(0, index, getNumberOfStartingConnectionServers());
|
||||
return ms_startConnectionServer[static_cast<size_t>(index)];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void ConfigCentralServer::install(void)
|
||||
{
|
||||
SetupSharedNetwork::SetupData networkSetupData;
|
||||
SetupSharedNetwork::getDefaultServerSetupData(networkSetupData);
|
||||
SetupSharedNetwork::install(networkSetupData);
|
||||
|
||||
ConfigServerUtility::install();
|
||||
|
||||
data = new ConfigCentralServer::Data;
|
||||
|
||||
KEY_INT (chatServicePort, 61232);
|
||||
KEY_INT (connectionServicePort, 0);
|
||||
KEY_INT (customerServicePort, 61242);
|
||||
KEY_INT (gameServicePort, 44451);
|
||||
KEY_STRING (loginServerAddress, "64.37.132.178");
|
||||
KEY_INT (loginServerPort, 44452);
|
||||
KEY_STRING (clusterName, "devcluster");
|
||||
KEY_STRING (startPlanet, "tatooine");
|
||||
KEY_INT (taskManagerPort, 60001);
|
||||
KEY_INT (planetServicePort, 44455);
|
||||
KEY_INT (planetServerRestartDelayTimeSeconds, 60);
|
||||
KEY_INT (connectionServerRestartDelayTimeSeconds, 60);
|
||||
KEY_INT (chatServerRestartDelayTimeSeconds, 60);
|
||||
KEY_INT (updatePlayerCountFrequency, 10);
|
||||
KEY_BOOL (newbieTutorialEnabled, false);
|
||||
KEY_STRING (chatServiceBindInterface, "");
|
||||
KEY_STRING (connectionServiceBindInterface, "");
|
||||
KEY_STRING (customerServiceBindInterface, "");
|
||||
KEY_STRING (gameServiceBindInterface, "");
|
||||
KEY_STRING (loginServiceBindInterface, "");
|
||||
KEY_STRING (planetServiceBindInterface, "");
|
||||
KEY_INT (firstPlanetWatcherPort, 60002);
|
||||
KEY_INT (loginServicePort, 44452);
|
||||
KEY_BOOL (developmentMode, true);
|
||||
KEY_BOOL (shouldSleep, true);
|
||||
KEY_BOOL (startPublic, false);
|
||||
KEY_INT (consoleServicePort, 61000);
|
||||
KEY_STRING (consoleServiceBindInterface, "");
|
||||
KEY_INT (characterCreationTimeout,5*60); // seconds
|
||||
KEY_STRING (chatServerHost, "local");
|
||||
KEY_STRING (dbServerHost, "local");
|
||||
KEY_INT (serverPingTimeout,0); // seconds
|
||||
KEY_INT (recentLoadingStateSeconds,60*60);
|
||||
KEY_INT (characterCreationRateLimitSeconds, 0);
|
||||
KEY_INT (characterCtsCreationRateLimitSeconds, 0);
|
||||
KEY_STRING (transferServerAddress, "127.0.0.1");
|
||||
KEY_INT (transferServerPort, 0); // TransferServer listens on 50005, default to "off"
|
||||
KEY_STRING (stationPlayersCollectorAddress, "127.0.0.1");
|
||||
KEY_INT (stationPlayersCollectorPort, 0); // StationPlayersCollector listens on 50010, default to "off"
|
||||
KEY_BOOL (allowZeroConnectionServerPort, true);
|
||||
KEY_INT (clusterWideDataLockTimeout, 300); // seconds
|
||||
KEY_STRING (commodityServerServiceBindInterface, "");
|
||||
KEY_INT (commodityServerServicePort, 44456);
|
||||
KEY_BOOL (shutdown, false);
|
||||
KEY_BOOL (validateBuildVersionNumber, false);
|
||||
KEY_INT (gameServerConnectionPendingAllocatedSizeLimit, 0);
|
||||
KEY_INT (systemTimeMismatchAlertIntervalSeconds, 1*60*60); // seconds
|
||||
KEY_INT (ctsDenyLoginThresholdSeconds, 2*60*60); // seconds
|
||||
KEY_BOOL (auctionEnabled, false);
|
||||
KEY_STRING (auctionServer, "sdt-plattestsys2.station.sony.com");
|
||||
KEY_INT (auctionPort, 5901 );
|
||||
KEY_STRING (auctionIDPrefix, "SWG+");
|
||||
KEY_BOOL (disconnectDuplicateConnectionsOnOtherGalaxies, false);
|
||||
KEY_BOOL (requestDbSaveOnPlanetServerCrash, true);
|
||||
KEY_INT (maxTimeToWaitForPlanetServerStartSeconds, 5*60); // seconds
|
||||
|
||||
int index = 0;
|
||||
char const * result = 0;
|
||||
do
|
||||
{
|
||||
result = ConfigFile::getKeyString("CentralServer", "startPlanet", index++, 0);
|
||||
if (result != 0)
|
||||
{
|
||||
ms_startPlanets.push_back(result);
|
||||
}
|
||||
}
|
||||
while (result);
|
||||
|
||||
index = 0;
|
||||
result = 0;
|
||||
do
|
||||
{
|
||||
result = ConfigFile::getKeyString("CentralServer", "startConnectionServer", index++, 0);
|
||||
if (result != 0)
|
||||
{
|
||||
ms_startConnectionServer.push_back(result);
|
||||
}
|
||||
}
|
||||
while (result);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
void ConfigCentralServer::remove(void)
|
||||
{
|
||||
delete data;
|
||||
data = 0;
|
||||
ConfigServerUtility::remove();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user