Restructure repository to include all source folders

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>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
/**
* @file NFServerCtrl.h
* @brief IOCP Base <20><>Ʈ<EFBFBD>ѷ<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
* @remarks
* @author <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(edith2580@gmail.com)
* @date 2009-05-09
*/
#pragma once
#include "NFConnection.h"
#include <vector>
namespace NaveServer {
// extern INT iMaxRecvPacket;
typedef struct LISTENER
{
SOCKET s; // Listen Socket
INT nPort; // <20><>Ʈ
CHAR cBindQue; // <20><><EFBFBD>ε<EFBFBD> ť
VOID Init()
{
s = INVALID_SOCKET; // Listen Socket
nPort = 0; // <20><>Ʈ
cBindQue = 0;
}
VOID Release()
{
// Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ť<><C5A5> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ɼ<EFBFBD>
struct linger li = {1, 0}; // Default: SO_DONTLINGER
shutdown(s, SD_BOTH);
setsockopt(s, SOL_SOCKET, SO_LINGER, (CHAR *)&li, sizeof(li));
closesocket(s );
Init();
}
}*LPLISTENER;
class NFServerCtrl
{
public:
NFServerCtrl();
virtual ~NFServerCtrl();
public:
SOCKET CreateListenSocket(INT nServerPort, CHAR cBindQue = 32); // Listen Socket <20><><EFBFBD><EFBFBD>
HANDLE ConnectIOCPSocket(SOCKET sckListener); // Listen Socket <20><> iocp <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>
inline HANDLE GetIOCP() { return m_hIOCP; };
inline BOOL IsRun() { return m_bServerRun; };
inline BOOL IsPause() { return m_bPause; };
static unsigned __stdcall WINAPI Thread_MainEx(LPVOID lpVoid); // IOCP <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Thread
static unsigned __stdcall WINAPI Process_MainEx(LPVOID lpVoid); // Process ó<><C3B3> Thread
static unsigned __stdcall WINAPI Packet_MainEx(LPVOID lpVoid); // Packet ó<><C3B3> Thread
virtual VOID Update(); // Process ó<><C3B3> <20>Լ<EFBFBD>
virtual VOID ShowServerInfo(); // <20><><EFBFBD>۽<EFBFBD> ȭ<><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ǥ<><C7A5>
virtual BOOL CreateSession(SOCKET sckListener) { return TRUE; } // Client Session <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
virtual BOOL ReleaseSession() { return TRUE; } // Client Session <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
protected:
HANDLE CreateIOCP(); // IOCP <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD>
BOOL InitSocket(); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺귯<CCBA><EAB7AF> Ȱ<><C8B0>
INT GetNumberOfProcess(); // CPU<50><55><EFBFBD><EFBFBD> <20><><EFBFBD>Ѵ<EFBFBD> => <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>
INT GetNumberOfThread() { return m_nMaxThreadNum; }; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ѵ<EFBFBD>.
BOOL Start(INT nPort, INT nMaxConn, INT nMaxThreadNum = 0); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
VOID Pause(BOOL bPause);
BOOL Stop(); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
protected:
INT m_nMaxThreadNum; // <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
HANDLE* m_pWorkThread; // IOCP Work <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
HANDLE m_hIOCP; // IOCP <20>ڵ<EFBFBD>
std::vector<LISTENER> m_vecListener; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>.
HANDLE m_hProcThread; // <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HANDLE m_hPacketThread; // PacketUpdate<74><65> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INT m_iPort;
INT m_iMaxConn;
BOOL m_bPause;
BOOL m_bServerRun; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD> TRUE<55><45><EFBFBD><EFBFBD>.
NFUpdateManager* m_pUpdateManager;
};
}