New log object for network/internet games. Preliminary code.
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include <core/loghelper.h>
|
||||
#include <clientenginefactory.h>
|
||||
#include <game.h>
|
||||
#include <log.h>
|
||||
#include <qttoolsinterface.h>
|
||||
|
||||
#include <boost/lambda/lambda.hpp>
|
||||
@@ -71,6 +72,7 @@ ClientThread::ClientThread(GuiInterface &gui, AvatarManager &avatarManager)
|
||||
m_curGameId(0), m_curGameNum(1), m_guiPlayerId(0), m_sessionEstablished(false),
|
||||
m_stateTimer(*m_ioService), m_avatarTimer(*m_ioService)
|
||||
{
|
||||
m_clientLog.reset(new Log("", 0));
|
||||
m_context.reset(new ClientContext);
|
||||
m_receiver.reset(new ReceiverHelper);
|
||||
myQtToolsInterface.reset(CreateQtToolsWrapper());
|
||||
@@ -626,7 +628,7 @@ ClientThread::InitGame()
|
||||
MapPlayerDataList();
|
||||
if (GetPlayerDataList().size() != (unsigned)GetStartData().numberOfPlayers)
|
||||
throw ClientException(__FILE__, __LINE__, ERR_NET_INVALID_PLAYER_COUNT, 0);
|
||||
m_game.reset(new Game(&m_gui, factory, GetPlayerDataList(), GetGameData(), GetStartData(), m_curGameNum++));
|
||||
m_game.reset(new Game(&m_gui, factory, GetPlayerDataList(), GetGameData(), GetStartData(), m_curGameNum++, m_clientLog.get()));
|
||||
// Initialize Minimum GUI speed.
|
||||
int minimumGuiSpeed = 1;
|
||||
if(GetGameData().delayBetweenHandsSec < 11) {
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <db/serverdbinterface.h>
|
||||
#include <db/serverdbnoaction.h>
|
||||
#include <game.h>
|
||||
#include <log.h>
|
||||
#include <localenginefactory.h>
|
||||
#include <tools.h>
|
||||
#include <configfile.h>
|
||||
@@ -48,11 +49,11 @@ static bool LessThanPlayerHandStartMoney(const boost::shared_ptr<PlayerInterface
|
||||
}
|
||||
|
||||
|
||||
ServerGame::ServerGame(boost::shared_ptr<ServerLobbyThread> lobbyThread, u_int32_t id, const string &name, const string &pwd, const GameData &gameData, unsigned adminPlayerId, GuiInterface &gui, ConfigFile *playerConfig)
|
||||
ServerGame::ServerGame(boost::shared_ptr<ServerLobbyThread> lobbyThread, u_int32_t id, const string &name, const string &pwd, const GameData &gameData, unsigned adminPlayerId, GuiInterface &gui, ConfigFile &playerConfig, Log &serverLog)
|
||||
: m_adminPlayerId(adminPlayerId), m_lobbyThread(lobbyThread), m_gui(gui),
|
||||
m_gameData(gameData), m_curState(NULL), m_id(id), m_dbId(DB_ID_INVALID), m_name(name),
|
||||
m_password(pwd), m_playerConfig(playerConfig), m_gameNum(1), m_curPetitionId(1),
|
||||
m_doNotAutoKickSmallDelaySec(10), m_voteKickTimer(lobbyThread->GetIOService()),
|
||||
m_password(pwd), m_playerConfig(playerConfig), m_serverLog(serverLog), m_gameNum(1),
|
||||
m_curPetitionId(1), m_doNotAutoKickSmallDelaySec(10), m_voteKickTimer(lobbyThread->GetIOService()),
|
||||
m_stateTimer1(lobbyThread->GetIOService()), m_stateTimer2(lobbyThread->GetIOService())
|
||||
{
|
||||
LOG_VERBOSE("Game object " << GetId() << " created.");
|
||||
@@ -68,7 +69,7 @@ ServerGame::~ServerGame()
|
||||
void
|
||||
ServerGame::Init()
|
||||
{
|
||||
m_doNotAutoKickSmallDelaySec = m_playerConfig->readConfigInt("ServerDoNotAutoKickSmallDelaySec");
|
||||
m_doNotAutoKickSmallDelaySec = m_playerConfig.readConfigInt("ServerDoNotAutoKickSmallDelaySec");
|
||||
SetState(SERVER_INITIAL_STATE::Instance());
|
||||
}
|
||||
|
||||
@@ -257,7 +258,7 @@ ServerGame::InternalStartGame()
|
||||
AssignPlayerNumbers(playerData);
|
||||
|
||||
// Create EngineFactory
|
||||
boost::shared_ptr<EngineFactory> factory(new LocalEngineFactory(m_playerConfig)); // LocalEngine erstellen
|
||||
boost::shared_ptr<EngineFactory> factory(new LocalEngineFactory(&m_playerConfig)); // LocalEngine erstellen
|
||||
|
||||
// Set start data.
|
||||
StartData startData;
|
||||
@@ -286,7 +287,7 @@ ServerGame::InternalStartGame()
|
||||
SetStartData(startData);
|
||||
|
||||
GuiInterface &gui = GetGui();
|
||||
m_game.reset(new Game(&gui, factory, playerData, GetGameData(), GetStartData(), GetNextGameNum()));
|
||||
m_game.reset(new Game(&gui, factory, playerData, GetGameData(), GetStartData(), GetNextGameNum(), &m_serverLog));
|
||||
|
||||
GetDatabase().AsyncCreateGame(GetId(), GetName());
|
||||
InitRankingMap(playerData);
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <core/loghelper.h>
|
||||
#include <core/openssl_wrapper.h>
|
||||
#include <configfile.h>
|
||||
#include <log.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
@@ -172,7 +173,7 @@ private:
|
||||
};
|
||||
|
||||
|
||||
ServerLobbyThread::ServerLobbyThread(GuiInterface &gui, ServerMode mode, ServerIrcBotCallback &ircBotCb, ConfigFile *serverConfig,
|
||||
ServerLobbyThread::ServerLobbyThread(GuiInterface &gui, ServerMode mode, ServerIrcBotCallback &ircBotCb, ConfigFile &serverConfig,
|
||||
AvatarManager &avatarManager, boost::shared_ptr<boost::asio::io_service> ioService)
|
||||
: m_ioService(ioService), m_authContext(NULL), m_gui(gui), m_ircBotCb(ircBotCb), m_avatarManager(avatarManager),
|
||||
m_mode(mode), m_serverConfig(serverConfig), m_curGameId(0), m_curUniquePlayerId(0), m_curSessionId(INVALID_SESSION + 1),
|
||||
@@ -209,13 +210,14 @@ ServerLobbyThread::Init(const string &logDir)
|
||||
}
|
||||
}
|
||||
m_database->Init(
|
||||
m_serverConfig->readConfigString("DBServerAddress"),
|
||||
m_serverConfig->readConfigString("DBServerUser"),
|
||||
m_serverConfig->readConfigString("DBServerPassword"),
|
||||
m_serverConfig->readConfigString("DBServerDatabaseName"),
|
||||
m_serverConfig->readConfigString("DBServerEncryptionKey"));
|
||||
m_serverConfig.readConfigString("DBServerAddress"),
|
||||
m_serverConfig.readConfigString("DBServerUser"),
|
||||
m_serverConfig.readConfigString("DBServerPassword"),
|
||||
m_serverConfig.readConfigString("DBServerDatabaseName"),
|
||||
m_serverConfig.readConfigString("DBServerEncryptionKey"));
|
||||
|
||||
GetBanManager().InitGameNameBadWordList(m_serverConfig->readConfigStringList("GameNameBadWordList"));
|
||||
GetBanManager().InitGameNameBadWordList(m_serverConfig.readConfigStringList("GameNameBadWordList"));
|
||||
m_serverLog.reset(new Log(logDir, 0));
|
||||
}
|
||||
|
||||
void
|
||||
@@ -812,14 +814,14 @@ ServerLobbyThread::ClearAuthContext()
|
||||
void
|
||||
ServerLobbyThread::InitChatCleaner()
|
||||
{
|
||||
if (m_serverConfig->readConfigInt("UseChatCleaner") != 0)
|
||||
if (m_serverConfig.readConfigInt("UseChatCleaner") != 0)
|
||||
{
|
||||
m_chatCleanerManager->Init(
|
||||
m_serverConfig->readConfigString("ChatCleanerHostAddress"),
|
||||
m_serverConfig->readConfigInt("ChatCleanerPort"),
|
||||
m_serverConfig->readConfigInt("ChatCleanerUseIpv6") != 0,
|
||||
m_serverConfig->readConfigString("ChatCleanerClientAuth"),
|
||||
m_serverConfig->readConfigString("ChatCleanerServerAuth"));
|
||||
m_serverConfig.readConfigString("ChatCleanerHostAddress"),
|
||||
m_serverConfig.readConfigInt("ChatCleanerPort"),
|
||||
m_serverConfig.readConfigInt("ChatCleanerUseIpv6") != 0,
|
||||
m_serverConfig.readConfigString("ChatCleanerClientAuth"),
|
||||
m_serverConfig.readConfigString("ChatCleanerServerAuth"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1008,7 +1010,7 @@ ServerLobbyThread::HandleNetPacketInit(SessionWrapper session, const InitMessage
|
||||
// Before any other processing, perform some denial of service and
|
||||
// brute force attack prevention by checking whether the user recently sent an
|
||||
// Init packet.
|
||||
if (m_serverConfig->readConfigInt("ServerBruteForceProtection") != 0)
|
||||
if (m_serverConfig.readConfigInt("ServerBruteForceProtection") != 0)
|
||||
{
|
||||
bool recentlySentInit = false;
|
||||
{
|
||||
@@ -1376,7 +1378,8 @@ ServerLobbyThread::HandleNetPacketCreateGame(SessionWrapper session, const std::
|
||||
tmpData,
|
||||
session.playerData->GetUniqueId(),
|
||||
GetGui(),
|
||||
m_serverConfig));
|
||||
m_serverConfig,
|
||||
*m_serverLog));
|
||||
game->Init();
|
||||
|
||||
// Add game to list of games.
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
ServerManager::ServerManager(GuiInterface &gui, ConfigFile *config, AvatarManager &avatarManager)
|
||||
ServerManager::ServerManager(GuiInterface &gui, ConfigFile &config, AvatarManager &avatarManager)
|
||||
: m_gui(gui), m_playerConfig(config), m_avatarManager(avatarManager)
|
||||
{
|
||||
m_ioService.reset(new boost::asio::io_service);
|
||||
|
||||
Reference in New Issue
Block a user