mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-24 05:37:45 +00:00
Merge sapphire-master;
This commit is contained in:
commit
7185d16b61
18 changed files with 166 additions and 150 deletions
|
@ -69,7 +69,7 @@ link_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader
|
|||
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
add_library(Common ${UTILS_PUBLIC_INCLUDE_FILES} ${UTILS_SOURCE_FILES})
|
||||
add_library(Common ${UTILS_PUBLIC_INCLUDE_FILES} ${UTILS_SOURCE_FILES} Network/PacketDef/Lobby/ServerLobbyDef.h)
|
||||
|
||||
set_target_properties(Common PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
|
|
|
@ -124,6 +124,12 @@ namespace Packets {
|
|||
|
||||
// TODO: Include structures for the individual packet segment types
|
||||
|
||||
template <int T> struct FFXIVIpcBasePacket
|
||||
{
|
||||
/** Creates a constant representing the IPC type */
|
||||
enum { _ServerIpcType = T };
|
||||
};
|
||||
|
||||
/**
|
||||
* Server IPC Lobby Type Codes.
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
#ifndef _CORE_NETWORK_PACKETS_LOBBY_SERVER_IPC_H
|
||||
#define _CORE_NETWORK_PACKETS_LOBBY_SERVER_IPC_H
|
||||
|
||||
#include "src/servers/Server_Common/Common.h"
|
||||
#include "src/servers/Server_Common/Network/CommonNetwork.h"
|
||||
|
||||
namespace Core {
|
||||
namespace Network {
|
||||
namespace Packets {
|
||||
namespace Server {
|
||||
|
||||
struct FFXIVIpcRetainerList : FFXIVIpcBasePacket<LobbyRetainerList>
|
||||
{
|
||||
uint8_t padding[0x210];
|
||||
};
|
||||
|
||||
/**
|
||||
*/
|
||||
struct FFXIVIpcServiceIdInfo : FFXIVIpcBasePacket<LobbyServiceAccountList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t padding;
|
||||
uint8_t numServiceAccounts;
|
||||
uint8_t u1;
|
||||
uint8_t u2;
|
||||
uint32_t padding1;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t id;
|
||||
uint32_t unknown;
|
||||
uint32_t index;
|
||||
char name[0x44];
|
||||
} serviceAccount[8];
|
||||
};
|
||||
|
||||
|
||||
struct FFXIVIpcServerList : FFXIVIpcBasePacket<LobbyServerList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint16_t final;
|
||||
uint16_t offset;
|
||||
uint32_t numServers;
|
||||
uint32_t padding;
|
||||
uint32_t padding1;
|
||||
|
||||
struct
|
||||
{
|
||||
uint16_t id;
|
||||
uint16_t index;
|
||||
uint32_t flags; // 0x02 = World not accepting new characters
|
||||
uint32_t padding1;
|
||||
uint32_t icon; // 2 = bonus XP star
|
||||
uint32_t padding2;
|
||||
char name[0x40];
|
||||
} server[6];
|
||||
};
|
||||
|
||||
struct FFXIVIpcCharList : FFXIVIpcBasePacket<LobbyCharList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t counter; // current packet count * 4, count * 4 +1 on last packet.
|
||||
uint8_t numInPacket; // always 2??
|
||||
uint16_t padding;
|
||||
uint8_t unknown1;
|
||||
uint8_t unknown2;
|
||||
uint8_t unknown3;
|
||||
uint8_t unknown4; // 0x80 in case of last packet
|
||||
uint32_t unknown5[7];
|
||||
uint8_t unknown6; // 0x80 in case of last packet
|
||||
uint8_t veteranRank;
|
||||
uint8_t unknown7;
|
||||
uint8_t padding1;
|
||||
uint32_t daysSubscribed;
|
||||
uint32_t remainingDays;
|
||||
uint32_t daysToNextRank;
|
||||
uint16_t maxCharOnWorld;
|
||||
uint16_t unknown8;
|
||||
uint32_t entitledExpansion;
|
||||
uint32_t padding2;
|
||||
|
||||
struct CharaDetails
|
||||
{
|
||||
uint32_t uniqueId;
|
||||
uint32_t padding;
|
||||
uint64_t contentId;
|
||||
uint32_t index;
|
||||
uint32_t padding2;
|
||||
uint16_t serverId;
|
||||
char nameChara[32];
|
||||
char nameServer[32];
|
||||
char charDetailJson[1030];
|
||||
} charaDetails[2];
|
||||
|
||||
};
|
||||
|
||||
struct FFXIVIpcEnterWorld : FFXIVIpcBasePacket<LobbyEnterWorld>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint32_t charId;
|
||||
uint32_t padding;
|
||||
uint64_t contentId;
|
||||
uint32_t padding2;
|
||||
char sid[66];
|
||||
uint16_t port;
|
||||
char host[48];
|
||||
uint64_t padding3;
|
||||
uint64_t padding4;
|
||||
};
|
||||
|
||||
struct FFXIVIpcCharCreate : FFXIVIpcBasePacket<LobbyCharCreate>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t unknown;
|
||||
uint8_t unknown_2;
|
||||
uint8_t type;
|
||||
uint8_t padding;
|
||||
uint32_t unknown_3;
|
||||
uint32_t unknown_4;
|
||||
uint32_t unknown_5;
|
||||
uint64_t content_id;
|
||||
uint16_t unknown_7;
|
||||
uint16_t unknown_8;
|
||||
uint32_t unknown_9;
|
||||
uint16_t unknown_10;
|
||||
char name[32];
|
||||
char world[32];
|
||||
};
|
||||
|
||||
struct FFXIVIpcLobbyError : FFXIVIpcBasePacket<LobbyError>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint32_t error_id;
|
||||
uint32_t param;
|
||||
uint16_t message_id;
|
||||
char message[516];
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -4,8 +4,8 @@
|
|||
* IMPORTANT NOTE: Do not use these for parsing IPC packets sent by the
|
||||
* client. See the Client namespace for those types!
|
||||
*/
|
||||
#ifndef _CORE_NETWORK_PACKETS_SERVER_IPC_H
|
||||
#define _CORE_NETWORK_PACKETS_SERVER_IPC_H
|
||||
#ifndef _CORE_NETWORK_PACKETS_ZONE_SERVER_IPC_H
|
||||
#define _CORE_NETWORK_PACKETS_ZONE_SERVER_IPC_H
|
||||
|
||||
#include "src/servers/Server_Common/Common.h"
|
||||
#include "src/servers/Server_Common/Network/CommonNetwork.h"
|
||||
|
@ -15,139 +15,6 @@ namespace Network {
|
|||
namespace Packets {
|
||||
namespace Server {
|
||||
|
||||
template <int T> struct FFXIVIpcBasePacket
|
||||
{
|
||||
/** Creates a constant representing the IPC type */
|
||||
enum { _ServerIpcType = T };
|
||||
};
|
||||
|
||||
struct FFXIVIpcRetainerList : FFXIVIpcBasePacket<LobbyRetainerList>
|
||||
{
|
||||
uint8_t padding[0x210];
|
||||
};
|
||||
|
||||
/**
|
||||
*/
|
||||
struct FFXIVIpcServiceIdInfo : FFXIVIpcBasePacket<LobbyServiceAccountList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t padding;
|
||||
uint8_t numServiceAccounts;
|
||||
uint8_t u1;
|
||||
uint8_t u2;
|
||||
uint32_t padding1;
|
||||
|
||||
struct
|
||||
{
|
||||
uint32_t id;
|
||||
uint32_t unknown;
|
||||
uint32_t index;
|
||||
char name[0x44];
|
||||
} serviceAccount[8];
|
||||
};
|
||||
|
||||
|
||||
struct FFXIVIpcServerList : FFXIVIpcBasePacket<LobbyServerList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint16_t final;
|
||||
uint16_t offset;
|
||||
uint32_t numServers;
|
||||
uint32_t padding;
|
||||
uint32_t padding1;
|
||||
|
||||
struct
|
||||
{
|
||||
uint16_t id;
|
||||
uint16_t index;
|
||||
uint32_t flags; // 0x02 = World not accepting new characters
|
||||
uint32_t padding1;
|
||||
uint32_t icon; // 2 = bonus XP star
|
||||
uint32_t padding2;
|
||||
char name[0x40];
|
||||
} server[6];
|
||||
};
|
||||
|
||||
struct FFXIVIpcCharList : FFXIVIpcBasePacket<LobbyCharList>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t counter; // current packet count * 4, count * 4 +1 on last packet.
|
||||
uint8_t numInPacket; // always 2??
|
||||
uint16_t padding;
|
||||
uint8_t unknown1;
|
||||
uint8_t unknown2;
|
||||
uint8_t unknown3;
|
||||
uint8_t unknown4; // 0x80 in case of last packet
|
||||
uint32_t unknown5[7];
|
||||
uint8_t unknown6; // 0x80 in case of last packet
|
||||
uint8_t veteranRank;
|
||||
uint8_t unknown7;
|
||||
uint8_t padding1;
|
||||
uint32_t daysSubscribed;
|
||||
uint32_t remainingDays;
|
||||
uint32_t daysToNextRank;
|
||||
uint16_t maxCharOnWorld;
|
||||
uint16_t unknown8;
|
||||
uint32_t entitledExpansion;
|
||||
uint32_t padding2;
|
||||
|
||||
struct CharaDetails
|
||||
{
|
||||
uint32_t uniqueId;
|
||||
uint32_t padding;
|
||||
uint64_t contentId;
|
||||
uint32_t index;
|
||||
uint32_t padding2;
|
||||
uint16_t serverId;
|
||||
char nameChara[32];
|
||||
char nameServer[32];
|
||||
char charDetailJson[1030];
|
||||
} charaDetails[2];
|
||||
|
||||
};
|
||||
|
||||
struct FFXIVIpcEnterWorld : FFXIVIpcBasePacket<LobbyEnterWorld>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint32_t charId;
|
||||
uint32_t padding;
|
||||
uint64_t contentId;
|
||||
uint32_t padding2;
|
||||
char sid[66];
|
||||
uint16_t port;
|
||||
char host[48];
|
||||
uint64_t padding3;
|
||||
uint64_t padding4;
|
||||
};
|
||||
|
||||
struct FFXIVIpcCharCreate : FFXIVIpcBasePacket<LobbyCharCreate>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint8_t unknown;
|
||||
uint8_t unknown_2;
|
||||
uint8_t type;
|
||||
uint8_t padding;
|
||||
uint32_t unknown_3;
|
||||
uint32_t unknown_4;
|
||||
uint32_t unknown_5;
|
||||
uint64_t content_id;
|
||||
uint16_t unknown_7;
|
||||
uint16_t unknown_8;
|
||||
uint32_t unknown_9;
|
||||
uint16_t unknown_10;
|
||||
char name[32];
|
||||
char world[32];
|
||||
};
|
||||
|
||||
struct FFXIVIpcLobbyError : FFXIVIpcBasePacket<LobbyError>
|
||||
{
|
||||
uint64_t seq;
|
||||
uint32_t error_id;
|
||||
uint32_t param;
|
||||
uint16_t message_id;
|
||||
char message[516];
|
||||
};
|
||||
|
||||
/**
|
||||
* Structural representation of the packet sent by the server as response
|
||||
* to a ping packet
|
|
@ -5,7 +5,7 @@
|
|||
#include <src/servers/Server_Common/Logging/Logger.h>
|
||||
#include <src/servers/Server_Common/Network/GamePacket.h>
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Lobby/ServerLobbyDef.h>
|
||||
#include <src/servers/Server_Common/Crypt/md5.h>
|
||||
|
||||
#include <boost/format.hpp>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <src/servers/Server_Common/Common.h>
|
||||
#include <src/servers/Server_Common/Database/Database.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Network/GamePacket.h>
|
||||
#include <src/servers/Server_Common/Exd/ExdData.h>
|
||||
#include <src/servers/Server_Common/Network/PacketContainer.h>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Database/Database.h>
|
||||
#include <src/servers/Server_Common/Common.h>
|
||||
#include <src/servers/Server_Common/Exd/ExdData.h>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _ACTORCONTROL142_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include "src/servers/Server_Zone/Forwards.h"
|
||||
|
||||
namespace Core {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _ACTORCONTROL143_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include "src/servers/Server_Zone/Forwards.h"
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _ACTORCONTROL144_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
|
||||
namespace Core {
|
||||
namespace Network {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _CHATPACKET_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include "src/servers/Server_Zone/Forwards.h"
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _CORE_NETWORK_PACKETS_INITUIPACKET_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include "Server_Zone/Actor/Player.h"
|
||||
#include "Server_Zone/Forwards.h"
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _MOVEACTORPACKET_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Util/UtilMath.h>
|
||||
#include "src/servers/Server_Zone/Actor/Player.h"
|
||||
#include "src/servers/Server_Zone/Forwards.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _PLAYERSPAWN_H
|
||||
#define _PLAYERSPAWN_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Util/UtilMath.h>
|
||||
#include "src/servers/Server_Zone/Actor/Player.h"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _SERVERNOTICEPACKET_H
|
||||
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include "src/servers/Server_Zone/Forwards.h"
|
||||
|
||||
namespace Core {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <src/servers/Server_Common/Exd/ExdData.h>
|
||||
#include <src/servers/Server_Common/Util/Util.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Logging/Logger.h>
|
||||
#include <src/servers/Server_Common/Exd/ExdData.h>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include <src/servers/Server_Common/Util/Util.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
|
||||
#include "src/servers/Server_Zone/Actor/Actor.h"
|
||||
#include "StatusEffect.h"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#include <src/servers/Server_Common/Database/Database.h>
|
||||
#include <src/servers/Server_Common/Exd/ExdData.h>
|
||||
#include <src/servers/Server_Common/Network/CommonNetwork.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerPacketDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <src/servers/Server_Common/Network/PacketContainer.h>
|
||||
|
||||
#include "Zone.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue