1
Fork 0
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:
Maru 2017-08-20 19:21:09 -03:00
commit 7185d16b61
18 changed files with 166 additions and 150 deletions

View file

@ -69,7 +69,7 @@ link_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) 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 set_target_properties(Common PROPERTIES
CXX_STANDARD 14 CXX_STANDARD 14

View file

@ -124,6 +124,12 @@ namespace Packets {
// TODO: Include structures for the individual packet segment types // 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. * Server IPC Lobby Type Codes.
*/ */

View file

@ -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

View file

@ -4,8 +4,8 @@
* IMPORTANT NOTE: Do not use these for parsing IPC packets sent by the * IMPORTANT NOTE: Do not use these for parsing IPC packets sent by the
* client. See the Client namespace for those types! * client. See the Client namespace for those types!
*/ */
#ifndef _CORE_NETWORK_PACKETS_SERVER_IPC_H #ifndef _CORE_NETWORK_PACKETS_ZONE_SERVER_IPC_H
#define _CORE_NETWORK_PACKETS_SERVER_IPC_H #define _CORE_NETWORK_PACKETS_ZONE_SERVER_IPC_H
#include "src/servers/Server_Common/Common.h" #include "src/servers/Server_Common/Common.h"
#include "src/servers/Server_Common/Network/CommonNetwork.h" #include "src/servers/Server_Common/Network/CommonNetwork.h"
@ -15,139 +15,6 @@ namespace Network {
namespace Packets { namespace Packets {
namespace Server { 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 * Structural representation of the packet sent by the server as response
* to a ping packet * to a ping packet

View file

@ -5,7 +5,7 @@
#include <src/servers/Server_Common/Logging/Logger.h> #include <src/servers/Server_Common/Logging/Logger.h>
#include <src/servers/Server_Common/Network/GamePacket.h> #include <src/servers/Server_Common/Network/GamePacket.h>
#include <src/servers/Server_Common/Network/GamePacketNew.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 <src/servers/Server_Common/Crypt/md5.h>
#include <boost/format.hpp> #include <boost/format.hpp>

View file

@ -1,6 +1,6 @@
#include <src/servers/Server_Common/Common.h> #include <src/servers/Server_Common/Common.h>
#include <src/servers/Server_Common/Database/Database.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/Network/GamePacket.h>
#include <src/servers/Server_Common/Exd/ExdData.h> #include <src/servers/Server_Common/Exd/ExdData.h>
#include <src/servers/Server_Common/Network/PacketContainer.h> #include <src/servers/Server_Common/Network/PacketContainer.h>

View file

@ -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/Database/Database.h>
#include <src/servers/Server_Common/Common.h> #include <src/servers/Server_Common/Common.h>
#include <src/servers/Server_Common/Exd/ExdData.h> #include <src/servers/Server_Common/Exd/ExdData.h>

View file

@ -2,7 +2,7 @@
#define _ACTORCONTROL142_H #define _ACTORCONTROL142_H
#include <src/servers/Server_Common/Network/GamePacketNew.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" #include "src/servers/Server_Zone/Forwards.h"
namespace Core { namespace Core {

View file

@ -2,7 +2,7 @@
#define _ACTORCONTROL143_H #define _ACTORCONTROL143_H
#include <src/servers/Server_Common/Network/GamePacketNew.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" #include "src/servers/Server_Zone/Forwards.h"

View file

@ -2,7 +2,7 @@
#define _ACTORCONTROL144_H #define _ACTORCONTROL144_H
#include <src/servers/Server_Common/Network/GamePacketNew.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 Core {
namespace Network { namespace Network {

View file

@ -2,7 +2,7 @@
#define _CHATPACKET_H #define _CHATPACKET_H
#include <src/servers/Server_Common/Network/GamePacketNew.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" #include "src/servers/Server_Zone/Forwards.h"

View file

@ -2,7 +2,7 @@
#define _CORE_NETWORK_PACKETS_INITUIPACKET_H #define _CORE_NETWORK_PACKETS_INITUIPACKET_H
#include <src/servers/Server_Common/Network/GamePacketNew.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/Actor/Player.h"
#include "Server_Zone/Forwards.h" #include "Server_Zone/Forwards.h"

View file

@ -2,7 +2,7 @@
#define _MOVEACTORPACKET_H #define _MOVEACTORPACKET_H
#include <src/servers/Server_Common/Network/GamePacketNew.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_Common/Util/UtilMath.h>
#include "src/servers/Server_Zone/Actor/Player.h" #include "src/servers/Server_Zone/Actor/Player.h"
#include "src/servers/Server_Zone/Forwards.h" #include "src/servers/Server_Zone/Forwards.h"

View file

@ -1,7 +1,7 @@
#ifndef _PLAYERSPAWN_H #ifndef _PLAYERSPAWN_H
#define _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/Network/GamePacketNew.h>
#include <src/servers/Server_Common/Util/UtilMath.h> #include <src/servers/Server_Common/Util/UtilMath.h>
#include "src/servers/Server_Zone/Actor/Player.h" #include "src/servers/Server_Zone/Actor/Player.h"

View file

@ -2,7 +2,7 @@
#define _SERVERNOTICEPACKET_H #define _SERVERNOTICEPACKET_H
#include <src/servers/Server_Common/Network/GamePacketNew.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" #include "src/servers/Server_Zone/Forwards.h"
namespace Core { namespace Core {

View file

@ -1,6 +1,6 @@
#include <src/servers/Server_Common/Exd/ExdData.h> #include <src/servers/Server_Common/Exd/ExdData.h>
#include <src/servers/Server_Common/Util/Util.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/Logging/Logger.h>
#include <src/servers/Server_Common/Exd/ExdData.h> #include <src/servers/Server_Common/Exd/ExdData.h>

View file

@ -1,5 +1,5 @@
#include <src/servers/Server_Common/Util/Util.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_Zone/Actor/Actor.h" #include "src/servers/Server_Zone/Actor/Actor.h"
#include "StatusEffect.h" #include "StatusEffect.h"

View file

@ -10,7 +10,7 @@
#include <src/servers/Server_Common/Database/Database.h> #include <src/servers/Server_Common/Database/Database.h>
#include <src/servers/Server_Common/Exd/ExdData.h> #include <src/servers/Server_Common/Exd/ExdData.h>
#include <src/servers/Server_Common/Network/CommonNetwork.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 <src/servers/Server_Common/Network/PacketContainer.h>
#include "Zone.h" #include "Zone.h"