Hook up world to its own api data service

This commit is contained in:
Akkadius
2019-03-10 01:09:04 -06:00
parent 6cb9271e7e
commit e5512f05b5
7 changed files with 671 additions and 164 deletions
+40 -34
View File
@@ -21,57 +21,63 @@ public:
ZSList();
~ZSList();
ZoneServer* FindByName(const char* zonename);
ZoneServer* FindByID(uint32 ZoneID);
ZoneServer* FindByZoneID(uint32 ZoneID);
ZoneServer* FindByPort(uint16 port);
ZoneServer* FindByInstanceID(uint32 InstanceID);
void SendChannelMessage(const char* from, const char* to, uint8 chan_num, uint8 language, const char* message, ...);
void SendChannelMessageRaw(const char* from, const char* to, uint8 chan_num, uint8 language, const char* message);
void SendEmoteMessage(const char* to, uint32 to_guilddbid, int16 to_minstatus, uint32 type, const char* message, ...);
void SendEmoteMessageRaw(const char* to, uint32 to_guilddbid, int16 to_minstatus, uint32 type, const char* message);
bool IsZoneLocked(uint16 iZoneID);
bool SendPacket(ServerPacket *pack);
bool SendPacket(uint32 zoneid, ServerPacket *pack);
bool SendPacket(uint32 zoneid, uint16 instanceid, ServerPacket *pack);
bool SetLockedZone(uint16 iZoneID, bool iLock);
void SendZoneStatus(const char* to, int16 admin, WorldTCPConnection* connection);
void SendTimeSync();
void Add(ZoneServer* zoneserver);
void Remove(const std::string &uuid);
void Process();
void KillAll();
bool SendPacket(ServerPacket* pack);
bool SendPacket(uint32 zoneid, ServerPacket* pack);
bool SendPacket(uint32 zoneid, uint16 instanceid, ServerPacket* pack);
inline uint32 GetNextID() { return NextID++; }
void RebootZone(const char* ip1,uint16 port, const char* ip2, uint32 skipid, uint32 zoneid = 0);
uint32 TriggerBootup(uint32 iZoneID, uint32 iInstanceID = 0);
void SOPZoneBootup(const char* adminname, uint32 ZoneServerID, const char* zonename, bool iMakeStatic = false);
EQTime worldclock;
bool SetLockedZone(uint16 iZoneID, bool iLock);
bool IsZoneLocked(uint16 iZoneID);
void ListLockedZones(const char* to, WorldTCPConnection* connection);
Timer* shutdowntimer;
Timer* reminder;
void NextGroupIDs(uint32 &start, uint32 &end);
void SendLSZones();
uint16 GetAvailableZonePort();
void UpdateUCSServerAvailable(bool ucss_available = true);
EQTime worldclock;
inline uint32 GetNextID() { return NextID++; }
int GetZoneCount();
Timer *reminder;
Timer *shutdowntimer;
uint16 GetAvailableZonePort();
uint32 TriggerBootup(uint32 iZoneID, uint32 iInstanceID = 0);
void Add(ZoneServer *zoneserver);
void GetZoneIDList(std::vector<uint32> &zones);
void KillAll();
void ListLockedZones(const char *to, WorldTCPConnection *connection);
void NextGroupIDs(uint32 &start, uint32 &end);
void Process();
void RebootZone(const char *ip1, uint16 port, const char *ip2, uint32 skipid, uint32 zoneid = 0);
void Remove(const std::string &uuid);
void SendChannelMessage(const char *from, const char *to, uint8 chan_num, uint8 language, const char *message, ...);
void SendChannelMessageRaw(const char *from, const char *to, uint8 chan_num, uint8 language, const char *message);
void SendEmoteMessage(const char *to, uint32 to_guilddbid, int16 to_minstatus, uint32 type, const char *message, ...);
void SendEmoteMessageRaw(const char *to, uint32 to_guilddbid, int16 to_minstatus, uint32 type, const char *message);
void SendLSZones();
void SendTimeSync();
void SendZoneStatus(const char *to, int16 admin, WorldTCPConnection *connection);
void SOPZoneBootup(const char *adminname, uint32 ZoneServerID, const char *zonename, bool iMakeStatic = false);
void UpdateUCSServerAvailable(bool ucss_available = true);
void WorldShutDown(uint32 time, uint32 interval);
ZoneServer* FindByPort(uint16 port);
ZoneServer* FindByID(uint32 ZoneID);
ZoneServer* FindByInstanceID(uint32 InstanceID);
ZoneServer* FindByName(const char* zonename);
ZoneServer* FindByZoneID(uint32 ZoneID);
const std::list<std::unique_ptr<ZoneServer>> &getZoneServerList() const;
private:
void OnTick(EQ::Timer *t);
void OnKeepAlive(EQ::Timer *t);
uint32 NextID;
std::list<std::unique_ptr<ZoneServer>> list;
uint16 pLockedZones[MaxLockedZones];
uint32 CurGroupID;
uint16 LastAllocatedPort;
std::unique_ptr<EQ::Timer> m_tick;
std::unique_ptr<EQ::Timer> m_keepalive;
std::list<std::unique_ptr<ZoneServer>> list;
};
#endif /*ZONELIST_H_*/