Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
191 lines
4.5 KiB
C++
191 lines
4.5 KiB
C++
#include "stdafx.h"
|
||
#include "Resource.h"
|
||
#include "RylGameServer.h"
|
||
|
||
#include <Log/ServerLog.h>
|
||
#include <Utility/ServerAppFramework/MsgProc/MsgProc.h>
|
||
#include <Utility/ServerAppFramework/ConsoleWindow/ConsoleWindow.h>
|
||
#include <Utility/ServerAppFramework/ConsoleWindow/ConsoleCMDFactory.h>
|
||
|
||
class CProcessCOMMAND : public CMsgProc
|
||
{
|
||
public:
|
||
|
||
CProcessCOMMAND(CConsoleWindow& ConsoleWindow) : m_ConsoleWindow(ConsoleWindow) { }
|
||
virtual ~CProcessCOMMAND() { }
|
||
|
||
virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
char* szCommand = 0;
|
||
|
||
switch (LOWORD(wParam))
|
||
{
|
||
case ID_START_CONSOLE: m_ConsoleWindow.Initialize("RowGameServer"); break;
|
||
case ID_STOP_CONSOLE: m_ConsoleWindow.Destroy(); break;
|
||
|
||
case ID_SHOW_STATUS: szCommand = "pool"; break;
|
||
case ID_LOAD_SETTING: szCommand = "reloadsetup"; break;
|
||
case ID_START_SERVER: szCommand = "startall"; break;
|
||
case ID_CONNECT_ALL: szCommand = "connect"; break; }
|
||
|
||
if(0 != szCommand)
|
||
{
|
||
m_ConsoleWindow.GetCMDProcess().Add(
|
||
m_ConsoleWindow.GetConsoleCMDFactory().Create(szCommand, strlen(szCommand)));
|
||
}
|
||
|
||
if(LOWORD(wParam) == ID_SERVER_STOP)
|
||
{
|
||
DETLOG0(g_Log, "Terminate GameServer System Tray.");
|
||
PostMessage(hWnd, WM_QUIT, 0, 0);
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
private:
|
||
|
||
CConsoleWindow& m_ConsoleWindow;
|
||
};
|
||
|
||
/*
|
||
class CProcessRYLGAME_AUTOSTART : public CMsgProc
|
||
{
|
||
public:
|
||
|
||
CProcessRYLGAME_AUTOSTART(CConsoleWindow& consoleWindow)
|
||
: m_ConsoleWindow(consoleWindow)
|
||
{
|
||
|
||
}
|
||
virtual ~CProcessRYLGAME_AUTOSTART() { }
|
||
virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
DETLOG0(g_Log, "AutoStart Started");
|
||
|
||
m_ConsoleWindow.GetCMDProcess().Add(
|
||
m_ConsoleWindow.GetConsoleCMDFactory().Create("startall", strlen("startall")));
|
||
return 0;
|
||
}
|
||
|
||
private:
|
||
|
||
CConsoleWindow& m_ConsoleWindow;
|
||
};
|
||
|
||
class CProcessGAME_CONNECTTOAGENT : public CMsgProc
|
||
{
|
||
public:
|
||
|
||
CProcessGAME_CONNECTTOAGENT(CConsoleWindow& consoleWindow)
|
||
: m_ConsoleWindow(consoleWindow)
|
||
{
|
||
|
||
}
|
||
|
||
virtual ~CProcessGAME_CONNECTTOAGENT() { }
|
||
virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
DETLOG0(g_Log, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.");
|
||
|
||
m_ConsoleWindow.GetCMDProcess().Add(
|
||
m_ConsoleWindow.GetConsoleCMDFactory().Create("connect", strlen("connect")));
|
||
return 0;
|
||
}
|
||
|
||
private:
|
||
|
||
CConsoleWindow& m_ConsoleWindow;
|
||
};
|
||
|
||
|
||
class CProcessRYLGAME_QUIT : public CMsgProc
|
||
{
|
||
public:
|
||
|
||
virtual ~CProcessRYLGAME_QUIT() { }
|
||
virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
DETLOG0(g_Log, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD><EFBFBD> Ʈ<><C6AE><EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.");
|
||
SendMessage(hWnd, WM_COMMAND, ID_SERVER_STOP, 0);
|
||
return 0;
|
||
}
|
||
};
|
||
|
||
|
||
class CProcessCOPYDATA : public CMsgProc
|
||
{
|
||
public:
|
||
|
||
CProcessCOPYDATA(CConsoleWindow& consoleWindow)
|
||
: m_ConsoleWindow(consoleWindow)
|
||
{
|
||
|
||
}
|
||
|
||
virtual ~CProcessCOPYDATA() { }
|
||
|
||
virtual LRESULT operator () (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
PCOPYDATASTRUCT lpCDStruct = reinterpret_cast<PCOPYDATASTRUCT>(lParam);
|
||
|
||
if(NULL != lpCDStruct)
|
||
{
|
||
char* szMessage = reinterpret_cast<MNGMSG_Notify*>(lpCDStruct->lpData)->m_Message;
|
||
size_t nMsgLen = strlen(szMessage);
|
||
|
||
szMessage[MNGMSG_Notify::MAX_NOTIFY_NUM - 1] = '\0';
|
||
m_ConsoleWindow.PrintOutput(szMessage, nMsgLen);
|
||
|
||
if (MNGMSGTYPE_NOTIFY == lpCDStruct->dwData)
|
||
{
|
||
m_ConsoleWindow.GetCMDProcess().Add(
|
||
m_ConsoleWindow.GetConsoleCMDFactory().Create(szMessage, nMsgLen));
|
||
}
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
private:
|
||
|
||
CConsoleWindow& m_ConsoleWindow;
|
||
};
|
||
*/
|
||
|
||
|
||
bool CRylGameServer::InitializeMsgProc()
|
||
{
|
||
int nErrorCount = 0;
|
||
|
||
CMsgProcessMgr* lpMsgProcessMgr = GetMsgProcessMgr();
|
||
if(0 != lpMsgProcessMgr)
|
||
{
|
||
|
||
if(GetConsoleWindow())
|
||
{
|
||
|
||
nErrorCount += lpMsgProcessMgr->Register(WM_COMMAND,
|
||
new CProcessCOMMAND(*GetConsoleWindow())) ? 0 : 1;
|
||
/*
|
||
nErrorCount += lpMsgProcessMgr->Register(WM_RYLGAME_AUTOSTART,
|
||
new CProcessRYLGAME_AUTOSTART(*GetConsoleWindow())) ? 0 : 1;
|
||
|
||
nErrorCount += lpMsgProcessMgr->Register(WM_GAME_CONNECTTOAGENT,
|
||
new CProcessGAME_CONNECTTOAGENT(*GetConsoleWindow())) ? 0 : 1;
|
||
|
||
|
||
nErrorCount += lpMsgProcessMgr->Register(WM_COPYDATA,
|
||
new CProcessCOPYDATA(*GetConsoleWindow())) ? 0 : 1;
|
||
*/
|
||
}
|
||
|
||
/*
|
||
nErrorCount += lpMsgProcessMgr->Register(WM_RYLGAME_QUIT, new CProcessRYLGAME_QUIT) ? 0 : 1;
|
||
*/
|
||
}
|
||
|
||
return (0 == nErrorCount);
|
||
}
|
||
|