Big Refactor.

General support for encryption and decryption.
Game Session creation.
Discovery Server.

Still broken as hell, but less so?
This commit is contained in:
HikikoMarmy
2024-12-25 01:20:12 +00:00
parent 8b154e614f
commit a0a363b7d0
88 changed files with 4595 additions and 1600 deletions

View File

@@ -9,29 +9,62 @@
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files\network">
<UniqueIdentifier>{d03ff7f7-63d1-43a7-b2cc-4b585130f545}</UniqueIdentifier>
<Filter Include="Source Files\Gateway Server">
<UniqueIdentifier>{9eabece2-9fe0-499d-a5b0-f001d155f4d3}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\network">
<UniqueIdentifier>{d2399894-b1e4-4a31-86ac-a4fa3a1b7e76}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\game">
<UniqueIdentifier>{20330632-08bb-481a-bee5-3148c43dd451}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\ui">
<UniqueIdentifier>{767ee381-3651-4dd0-bc78-7037cefe7006}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\game">
<UniqueIdentifier>{cfe30c00-4a52-4659-94af-3ac2712690c6}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\misc">
<UniqueIdentifier>{8b5e9b37-079d-4c08-99b0-c05b88543b70}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\misc">
<Filter Include="Source Files\Common">
<UniqueIdentifier>{0ecae2be-b6b6-4ee2-bcb2-9252f189acca}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ui">
<UniqueIdentifier>{4a905260-4faf-4748-be14-8971a80b46b5}</UniqueIdentifier>
<Filter Include="Header Files\Common">
<UniqueIdentifier>{8b5e9b37-079d-4c08-99b0-c05b88543b70}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Network">
<UniqueIdentifier>{d2399894-b1e4-4a31-86ac-a4fa3a1b7e76}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Network">
<UniqueIdentifier>{d03ff7f7-63d1-43a7-b2cc-4b585130f545}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Gateway Server">
<UniqueIdentifier>{b87d23fc-9dc6-4e3a-949a-6d1b3ac2efb0}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Lobby Server">
<UniqueIdentifier>{92e2e64a-8125-49a7-8eb0-5e96f8d7d7d0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Lobby Server">
<UniqueIdentifier>{5f4b890f-79df-40dc-971a-5463a861107f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Game">
<UniqueIdentifier>{39350066-8ddc-4899-8102-5f346667aa37}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Game">
<UniqueIdentifier>{3b0176b6-97aa-4e67-ab27-60626f71b573}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Gateway Server\EventHandlers">
<UniqueIdentifier>{f90649a3-247a-4a65-9ec2-3fca02c7af52}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Gateway Server\EventHandlers">
<UniqueIdentifier>{01a6a552-7c0d-4ca4-b4d1-5c05d6048fda}</UniqueIdentifier>
</Filter>
<Filter Include="Crypto">
<UniqueIdentifier>{d4bad384-e0dc-4704-8471-c91277eb6d52}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Crypto">
<UniqueIdentifier>{a8fcffaa-8fc1-4dbc-a005-b5ddb78ee586}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Crypto">
<UniqueIdentifier>{845ad25e-a3d9-42ac-826b-43ddeb655c25}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Discovery Server">
<UniqueIdentifier>{d2bb2db4-f015-43f6-a014-6c5d3d620ba4}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Discovery Server">
<UniqueIdentifier>{76928587-566c-4842-9fa3-1a5baec12238}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Lobby Server\Event">
<UniqueIdentifier>{fe6aba50-18f0-46a1-b154-4226b3ca42ab}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Lobby Server\Event">
<UniqueIdentifier>{6432e486-7341-4eb8-a6c0-c21ecd2e92f8}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
@@ -41,59 +74,119 @@
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="network\socket.h">
<Filter>Header Files\network</Filter>
<ClInclude Include="network\RealmSocket.h">
<Filter>Header Files\Network</Filter>
</ClInclude>
<ClInclude Include="global_define.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="game\client.h">
<Filter>Header Files\game</Filter>
</ClInclude>
<ClInclude Include="configuration.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="misc\math.h">
<Filter>Header Files\misc</Filter>
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="misc\Timer.h">
<Filter>Header Files\misc</Filter>
</ClInclude>
<ClInclude Include="game\client_manager.h">
<Filter>Header Files\game</Filter>
</ClInclude>
<ClInclude Include="network\socket_manager.h">
<Filter>Header Files\network</Filter>
</ClInclude>
<ClInclude Include="network\packet.h">
<Filter>Header Files\network</Filter>
</ClInclude>
<ClInclude Include="ui\logging.h">
<Filter>Header Files\ui</Filter>
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="misc\threadsafe_queue.hpp">
<Filter>Header Files\misc</Filter>
</ClInclude>
<ClInclude Include="network\protocol_game.h">
<Filter>Header Files\network</Filter>
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="misc\Encryptor.h">
<Filter>Header Files\misc</Filter>
</ClInclude>
<ClInclude Include="network\protocol_gateway.h">
<Filter>Header Files\network</Filter>
<ClInclude Include="misc\RealmCrypt.h">
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="misc\ByteStream.h">
<Filter>Header Files\misc</Filter>
<Filter>Header Files\Common</Filter>
</ClInclude>
<ClInclude Include="misc\AES.h">
<Filter>Header Files\misc</Filter>
<ClInclude Include="logging.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="network\protocol_broker.h">
<Filter>Header Files\network</Filter>
<ClInclude Include="Gateway Server\GatewayServer.h">
<Filter>Header Files\Gateway Server</Filter>
</ClInclude>
<ClInclude Include="Network\GenericNetRequest.hpp">
<Filter>Header Files\Network</Filter>
</ClInclude>
<ClInclude Include="Network\GenericNetResponse.hpp">
<Filter>Header Files\Network</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\LobbyServer.h">
<Filter>Header Files\Lobby Server</Filter>
</ClInclude>
<ClInclude Include="Game\RealmUser.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="Game\RealmUserManager.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="Gateway Server\EventHandlers\GatewayEvents.h">
<Filter>Header Files\Gateway Server\EventHandlers</Filter>
</ClInclude>
<ClInclude Include="Gateway Server\EventHandlers\GetServerAddressEvent.h">
<Filter>Header Files\Gateway Server\EventHandlers</Filter>
</ClInclude>
<ClInclude Include="Crypto\NorrathCrypt.h">
<Filter>Header Files\Crypto</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\EventLookup.h">
<Filter>Header Files\Lobby Server</Filter>
</ClInclude>
<ClInclude Include="Discovery Server\DiscoveryServer.h">
<Filter>Header Files\Discovery Server</Filter>
</ClInclude>
<ClInclude Include="Discovery Server\DiscoverySession.h">
<Filter>Header Files\Discovery Server</Filter>
</ClInclude>
<ClInclude Include="Game\GameSession.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="Game\GameSessionManager.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestCancelGame.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestCreateAccount.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestCreatePrivateGame.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestCreatePublicGame.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestDoClientDiscovery.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestGetEncryptionKey.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestGetRules.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestLogin.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestLogout.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestMatchGame.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\RequestTouchSession.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\NotifyClientDiscovered.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\NotifyClientReqConnect.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Lobby Server\Event\NotifyGameDiscovered.h">
<Filter>Header Files\Lobby Server\Event</Filter>
</ClInclude>
<ClInclude Include="Network\GenericNetMessage.hpp">
<Filter>Header Files\Network</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@@ -103,53 +196,95 @@
<ClCompile Include="global_define.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="configuration.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="game\client.cpp">
<Filter>Source Files\game</Filter>
</ClCompile>
<ClCompile Include="misc\Timer.cpp">
<Filter>Source Files\misc</Filter>
</ClCompile>
<ClCompile Include="misc\math.cpp">
<Filter>Source Files\misc</Filter>
</ClCompile>
<ClCompile Include="game\client_manager.cpp">
<Filter>Source Files\game</Filter>
</ClCompile>
<ClCompile Include="network\socket_manager.cpp">
<Filter>Source Files\network</Filter>
</ClCompile>
<ClCompile Include="network\packet.cpp">
<Filter>Source Files\network</Filter>
</ClCompile>
<ClCompile Include="ui\logging.cpp">
<Filter>Source Files\ui</Filter>
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="network\protocol_gateway.cpp">
<Filter>Source Files\network</Filter>
</ClCompile>
<ClCompile Include="misc\Encryptor.cpp">
<Filter>Source Files\misc</Filter>
<ClCompile Include="misc\RealmCrypt.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="misc\ByteStream.cpp">
<Filter>Source Files\misc</Filter>
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="network\protocol_game.cpp">
<Filter>Source Files\network</Filter>
<ClCompile Include="Gateway Server\GatewayServer.cpp">
<Filter>Source Files\Gateway Server</Filter>
</ClCompile>
<ClCompile Include="network\socket.cpp">
<ClCompile Include="logging.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="misc\AES.cpp">
<Filter>Source Files\misc</Filter>
<ClCompile Include="network\RealmSocket.cpp">
<Filter>Source Files\Network</Filter>
</ClCompile>
<ClCompile Include="network\protocol_broker.cpp">
<Filter>Source Files\network</Filter>
<ClCompile Include="Lobby Server\LobbyServer.cpp">
<Filter>Source Files\Lobby Server</Filter>
</ClCompile>
<ClCompile Include="Game\RealmUser.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Game\RealmUserManager.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Gateway Server\EventHandlers\GetServerAddressEvent.cpp">
<Filter>Source Files\Gateway Server\EventHandlers</Filter>
</ClCompile>
<ClCompile Include="Crypto\NorrathCrypt.cpp">
<Filter>Source Files\Crypto</Filter>
</ClCompile>
<ClCompile Include="Discovery Server\DiscoveryServer.cpp">
<Filter>Source Files\Discovery Server</Filter>
</ClCompile>
<ClCompile Include="Discovery Server\DiscoverySession.cpp">
<Filter>Source Files\Discovery Server</Filter>
</ClCompile>
<ClCompile Include="Game\GameSession.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Game\GameSessionManager.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestCancelGame.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestCreateAccount.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestCreatePrivateGame.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestCreatePublicGame.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestDoClientDiscovery.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestGetEncryptionKey.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestGetRules.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestLogin.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestLogout.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestMatchGame.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\RequestTouchSession.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\NotifyClientDiscovered.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\NotifyClientReqConnect.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
<ClCompile Include="Lobby Server\Event\NotifyGameDiscovered.cpp">
<Filter>Source Files\Lobby Server\Event</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>