Horizon Official Technical Documentation
TransmittedPackets.hpp
Go to the documentation of this file.
1/***************************************************
2 * _ _ _ *
3 * | | | | (_) *
4 * | |_| | ___ _ __ _ _______ _ __ *
5 * | _ |/ _ \| '__| |_ / _ \| '_ \ *
6 * | | | | (_) | | | |/ / (_) | | | | *
7 * \_| |_/\___/|_| |_/___\___/|_| |_| *
8 ***************************************************
9 * This file is part of Horizon (c).
10 * Copyright (c) 2023 Horizon Dev Team.
11 *
12 * Base Author - Sephus. (sagunxp@gmail.com)
13 *
14 * This library is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * This library is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this library. If not, see <http://www.gnu.org/licenses/>.
26 **************************************************/
27
28#ifndef HORIZON_AUTH_TRANSMITTED_PACKETS_HPP
29#define HORIZON_AUTH_TRANSMITTED_PACKETS_HPP
30
33
34namespace Horizon
35{
36namespace Auth
37{
38class AuthSession;
39
40/* Size: 47 + (32 * char server count) bytes */
41#pragma pack(push, 1)
43 int16_t packet_len{ 0 };
44 int32_t auth_code{ 0 };
45 uint32_t aid{ 0 };
46 uint32_t user_level{ 0 };
47 uint32_t last_login_ip{ 0 };
48 char last_login_time[26]{ 0 };
49 uint8_t sex{ 0 };
50#if PACKET_VERSION >= 20170315
51 char twitter_auth_token[16]{ 0 };
52 uint8_t twitter_flag{ 0 };
53#endif
54};
55
57{
58 uint32_t ip{ 0 };
59 int16_t port{ 0 };
60 char name[20]{ 0 };
61 uint16_t usercount{ 0 };
62 uint16_t is_new{ 0 };
63 uint16_t type{ 0 };
64#if PACKET_VERSION >= 20170315
65 char unknown2[128]{ 0 };
66#endif
67};
68#pragma pack(pop)
69
70enum {
71#if CLIENT_TYPE == 'A' && \
72 PACKET_VERSION >= 20040000
73ID_AC_ACCEPT_LOGIN = 0x0069
74#elif CLIENT_TYPE == 'M' && \
75 PACKET_VERSION >= 20170228
76 ID_AC_ACCEPT_LOGIN = 0x0ac4
77#elif CLIENT_TYPE == 'M' && \
78 PACKET_VERSION >= 20030000
79ID_AC_ACCEPT_LOGIN = 0x0069
80#elif CLIENT_TYPE == 'R' && \
81 PACKET_VERSION >= 20170228
82 ID_AC_ACCEPT_LOGIN = 0x0ac4
83#elif CLIENT_TYPE == 'R' && \
84 PACKET_VERSION >= 20080000
85ID_AC_ACCEPT_LOGIN = 0x0069
86#elif CLIENT_TYPE == 'S' && \
87 PACKET_VERSION >= 20030000
88ID_AC_ACCEPT_LOGIN = 0x0069
89#elif CLIENT_TYPE == 'Z' && \
90 PACKET_VERSION >= 20180000
91 ID_AC_ACCEPT_LOGIN = 0x0069
92#elif CLIENT_TYPE == 'Z' && \
93 PACKET_VERSION >= 20170000
94ID_AC_ACCEPT_LOGIN = 0x0ac4
95#else
96ID_AC_ACCEPT_LOGIN = 0x0000 // Disabled
97#endif
98};
103class AC_ACCEPT_LOGIN : public Base::NetworkPacket<AuthSession>
104{
105public:
106 AC_ACCEPT_LOGIN(std::shared_ptr<AuthSession> s)
108 {}
109 virtual ~AC_ACCEPT_LOGIN() {}
110
111 void deliver(int32_t auth_code, uint32_t aid, uint32_t user_level, uint8_t sex);
113
114/* Structure */
116 std::vector<s_ac_char_server_list> _c;
117};
118
119enum {
120#if CLIENT_TYPE == 'M' && \
121 PACKET_VERSION >= 20090701
122ID_AC_ACCEPT_LOGIN2 = 0x0276
123#elif CLIENT_TYPE == 'R' && \
124 PACKET_VERSION >= 20090701
125ID_AC_ACCEPT_LOGIN2 = 0x0276
126#elif CLIENT_TYPE == 'Z' && \
127 PACKET_VERSION >= 20170000
128ID_AC_ACCEPT_LOGIN2 = 0x0276
129#else
130ID_AC_ACCEPT_LOGIN2 = 0x0000 // Disabled
131#endif
137class AC_ACCEPT_LOGIN2 : public Base::NetworkPacket<AuthSession>
138{
139public:
140 AC_ACCEPT_LOGIN2(std::shared_ptr<AuthSession> s)
142 {}
143 virtual ~AC_ACCEPT_LOGIN2() {}
144
145 void deliver();
147
148/* Structure */
149};
150
151enum {
152#if CLIENT_TYPE == 'A' && \
153 PACKET_VERSION >= 20060109
155#elif CLIENT_TYPE == 'M' && \
156 PACKET_VERSION >= 20060109
158#elif CLIENT_TYPE == 'R' && \
159 PACKET_VERSION >= 20080000
161#elif CLIENT_TYPE == 'S' && \
162 PACKET_VERSION >= 20060109
164#elif CLIENT_TYPE == 'Z' && \
165 PACKET_VERSION >= 20170000
167#else
168ID_AC_ACK_EKEY_FAIL_AUTHREFUSE = 0x0000 // Disabled
169#endif
176{
177public:
178 AC_ACK_EKEY_FAIL_AUTHREFUSE(std::shared_ptr<AuthSession> s)
180 {}
182
183 void deliver();
185
186/* Structure */
187};
188
189enum {
190#if CLIENT_TYPE == 'A' && \
191 PACKET_VERSION >= 20060109
193#elif CLIENT_TYPE == 'M' && \
194 PACKET_VERSION >= 20060109
196#elif CLIENT_TYPE == 'R' && \
197 PACKET_VERSION >= 20080000
199#elif CLIENT_TYPE == 'S' && \
200 PACKET_VERSION >= 20060109
202#elif CLIENT_TYPE == 'Z' && \
203 PACKET_VERSION >= 20170000
205#else
206ID_AC_ACK_EKEY_FAIL_INPUTEKEY = 0x0000 // Disabled
207#endif
214{
215public:
216 AC_ACK_EKEY_FAIL_INPUTEKEY(std::shared_ptr<AuthSession> s)
218 {}
220
221 void deliver();
223
224/* Structure */
225};
226
227enum {
228#if CLIENT_TYPE == 'A' && \
229 PACKET_VERSION >= 20060109
231#elif CLIENT_TYPE == 'M' && \
232 PACKET_VERSION >= 20060109
234#elif CLIENT_TYPE == 'R' && \
235 PACKET_VERSION >= 20080000
237#elif CLIENT_TYPE == 'S' && \
238 PACKET_VERSION >= 20060109
240#elif CLIENT_TYPE == 'Z' && \
241 PACKET_VERSION >= 20170000
243#else
244ID_AC_ACK_EKEY_FAIL_NEEDCARDPASS = 0x0000 // Disabled
245#endif
252{
253public:
254 AC_ACK_EKEY_FAIL_NEEDCARDPASS(std::shared_ptr<AuthSession> s)
256 {}
258
259 void deliver();
261
262/* Structure */
263};
264
265enum {
266#if CLIENT_TYPE == 'A' && \
267 PACKET_VERSION >= 20060109
269#elif CLIENT_TYPE == 'M' && \
270 PACKET_VERSION >= 20060109
272#elif CLIENT_TYPE == 'R' && \
273 PACKET_VERSION >= 20080000
275#elif CLIENT_TYPE == 'S' && \
276 PACKET_VERSION >= 20060109
278#elif CLIENT_TYPE == 'Z' && \
279 PACKET_VERSION >= 20170000
281#else
282ID_AC_ACK_EKEY_FAIL_NOTEXIST = 0x0000 // Disabled
283#endif
290{
291public:
292 AC_ACK_EKEY_FAIL_NOTEXIST(std::shared_ptr<AuthSession> s)
294 {}
296
297 void deliver();
299
300/* Structure */
301};
302
303enum {
304#if CLIENT_TYPE == 'A' && \
305 PACKET_VERSION >= 20060109
307#elif CLIENT_TYPE == 'M' && \
308 PACKET_VERSION >= 20060109
310#elif CLIENT_TYPE == 'R' && \
311 PACKET_VERSION >= 20080000
313#elif CLIENT_TYPE == 'S' && \
314 PACKET_VERSION >= 20060109
316#elif CLIENT_TYPE == 'Z' && \
317 PACKET_VERSION >= 20170000
319#else
320ID_AC_ACK_EKEY_FAIL_NOTICE = 0x0000 // Disabled
321#endif
328{
329public:
330 AC_ACK_EKEY_FAIL_NOTICE(std::shared_ptr<AuthSession> s)
332 {}
334
335 void deliver();
337
338/* Structure */
339};
340
341enum {
342#if CLIENT_TYPE == 'A' && \
343 PACKET_VERSION >= 20060109
345#elif CLIENT_TYPE == 'M' && \
346 PACKET_VERSION >= 20060109
348#elif CLIENT_TYPE == 'R' && \
349 PACKET_VERSION >= 20080000
351#elif CLIENT_TYPE == 'S' && \
352 PACKET_VERSION >= 20060109
354#elif CLIENT_TYPE == 'Z' && \
355 PACKET_VERSION >= 20170000
357#else
358ID_AC_ACK_EKEY_FAIL_NOTUSEDEKEY = 0x0000 // Disabled
359#endif
366{
367public:
368 AC_ACK_EKEY_FAIL_NOTUSEDEKEY(std::shared_ptr<AuthSession> s)
370 {}
372
373 void deliver();
375
376/* Structure */
377};
378
379enum {
380#if CLIENT_TYPE == 'A' && \
381 PACKET_VERSION >= 20060109
383#elif CLIENT_TYPE == 'M' && \
384 PACKET_VERSION >= 20060109
386#elif CLIENT_TYPE == 'R' && \
387 PACKET_VERSION >= 20080000
389#elif CLIENT_TYPE == 'S' && \
390 PACKET_VERSION >= 20060109
392#elif CLIENT_TYPE == 'Z' && \
393 PACKET_VERSION >= 20170000
395#else
396ID_AC_ACK_EKEY_FAIL_NOTUSESEKEY = 0x0000 // Disabled
397#endif
404{
405public:
406 AC_ACK_EKEY_FAIL_NOTUSESEKEY(std::shared_ptr<AuthSession> s)
408 {}
410
411 void deliver();
413
414/* Structure */
415};
416
417enum {
418#if CLIENT_TYPE == 'A' && \
419 PACKET_VERSION >= 20060109
421#elif CLIENT_TYPE == 'M' && \
422 PACKET_VERSION >= 20060109
424#elif CLIENT_TYPE == 'R' && \
425 PACKET_VERSION >= 20080000
427#elif CLIENT_TYPE == 'S' && \
428 PACKET_VERSION >= 20060109
430#elif CLIENT_TYPE == 'Z' && \
431 PACKET_VERSION >= 20170000
433#else
434ID_AC_ACK_FIRST_LOGIN = 0x0000 // Disabled
435#endif
441class AC_ACK_FIRST_LOGIN : public Base::NetworkPacket<AuthSession>
442{
443public:
444 AC_ACK_FIRST_LOGIN(std::shared_ptr<AuthSession> s)
446 {}
448
449 void deliver();
451
452/* Structure */
453};
454
455enum {
456#if CLIENT_TYPE == 'A' && \
457 PACKET_VERSION >= 20050912
459#elif CLIENT_TYPE == 'M' && \
460 PACKET_VERSION >= 20050912
462#elif CLIENT_TYPE == 'R' && \
463 PACKET_VERSION >= 20080000
465#elif CLIENT_TYPE == 'S' && \
466 PACKET_VERSION >= 20050912
468#elif CLIENT_TYPE == 'Z' && \
469 PACKET_VERSION >= 20170000
471#else
472ID_AC_ACK_GAME_GUARD = 0x0000 // Disabled
473#endif
479class AC_ACK_GAME_GUARD : public Base::NetworkPacket<AuthSession>
480{
481public:
482 AC_ACK_GAME_GUARD(std::shared_ptr<AuthSession> s)
484 {}
486
487 void deliver();
489
490/* Structure */
491};
492
493enum {
494#if CLIENT_TYPE == 'A' && \
495 PACKET_VERSION >= 20040000
496ID_AC_ACK_HASH = 0x01dc
497#elif CLIENT_TYPE == 'M' && \
498 PACKET_VERSION >= 20030000
499ID_AC_ACK_HASH = 0x01dc
500#elif CLIENT_TYPE == 'R' && \
501 PACKET_VERSION >= 20080000
502ID_AC_ACK_HASH = 0x01dc
503#elif CLIENT_TYPE == 'S' && \
504 PACKET_VERSION >= 20030000
505ID_AC_ACK_HASH = 0x01dc
506#elif CLIENT_TYPE == 'Z' && \
507 PACKET_VERSION >= 20170000
508ID_AC_ACK_HASH = 0x01dc
509#else
510ID_AC_ACK_HASH = 0x0000 // Disabled
511#endif
517class AC_ACK_HASH : public Base::NetworkPacket<AuthSession>
518{
519public:
520 AC_ACK_HASH(std::shared_ptr<AuthSession> s)
522 {}
523 virtual ~AC_ACK_HASH() {}
524
525 void deliver();
527
528/* Structure */
529};
530
531enum {
532#if CLIENT_TYPE == 'A' && \
533 PACKET_VERSION >= 20060109
535#elif CLIENT_TYPE == 'M' && \
536 PACKET_VERSION >= 20060109
538#elif CLIENT_TYPE == 'R' && \
539 PACKET_VERSION >= 20080000
541#elif CLIENT_TYPE == 'S' && \
542 PACKET_VERSION >= 20060109
544#elif CLIENT_TYPE == 'Z' && \
545 PACKET_VERSION >= 20170000
547#else
548ID_AC_ACK_PT_ID_INFO = 0x0000 // Disabled
549#endif
555class AC_ACK_PT_ID_INFO : public Base::NetworkPacket<AuthSession>
556{
557public:
558 AC_ACK_PT_ID_INFO(std::shared_ptr<AuthSession> s)
560 {}
562
563 void deliver();
565
566/* Structure */
567};
568
569enum {
570#if CLIENT_TYPE == 'A' && \
571 PACKET_VERSION >= 20040000
573#elif CLIENT_TYPE == 'M' && \
574 PACKET_VERSION >= 20030000
576#elif CLIENT_TYPE == 'R' && \
577 PACKET_VERSION >= 20080000
579#elif CLIENT_TYPE == 'S' && \
580 PACKET_VERSION >= 20030000
582#elif CLIENT_TYPE == 'Z' && \
583 PACKET_VERSION >= 20170000
585#else
586ID_AC_ASK_PNGAMEROOM = 0x0000 // Disabled
587#endif
593class AC_ASK_PNGAMEROOM : public Base::NetworkPacket<AuthSession>
594{
595public:
596 AC_ASK_PNGAMEROOM(std::shared_ptr<AuthSession> s)
598 {}
600
601 void deliver();
603
604/* Structure */
605};
606
607enum {
608#if CLIENT_TYPE == 'A' && \
609 PACKET_VERSION >= 20050628
610ID_AC_EVENT_RESULT = 0x023d
611#elif CLIENT_TYPE == 'M' && \
612 PACKET_VERSION >= 20050628
613ID_AC_EVENT_RESULT = 0x023d
614#elif CLIENT_TYPE == 'R' && \
615 PACKET_VERSION >= 20080000
616ID_AC_EVENT_RESULT = 0x023d
617#elif CLIENT_TYPE == 'S' && \
618 PACKET_VERSION >= 20050628
619ID_AC_EVENT_RESULT = 0x023d
620#elif CLIENT_TYPE == 'Z' && \
621 PACKET_VERSION >= 20170000
622ID_AC_EVENT_RESULT = 0x023d
623#else
624ID_AC_EVENT_RESULT = 0x0000 // Disabled
625#endif
631class AC_EVENT_RESULT : public Base::NetworkPacket<AuthSession>
632{
633public:
634 AC_EVENT_RESULT(std::shared_ptr<AuthSession> s)
636 {}
637 virtual ~AC_EVENT_RESULT() {}
638
639 void deliver();
641
642/* Structure */
643};
644
645enum {
646#if CLIENT_TYPE == 'M' && \
647 PACKET_VERSION >= 20190000
648ID_AC_LOGIN_OTP = 0x0ad1
649#elif CLIENT_TYPE == 'M' && \
650 PACKET_VERSION >= 20171213
651ID_AC_LOGIN_OTP = 0x0ae3
652#elif CLIENT_TYPE == 'R' && \
653 PACKET_VERSION >= 20190000
654 ID_AC_LOGIN_OTP = 0x0ad1
655#elif CLIENT_TYPE == 'R' && \
656 PACKET_VERSION >= 20171213
657ID_AC_LOGIN_OTP = 0x0ae3
658#elif CLIENT_TYPE == 'Z' && \
659 PACKET_VERSION >= 20190000
660 ID_AC_LOGIN_OTP = 0x0ad1
661#elif CLIENT_TYPE == 'Z' && \
662 PACKET_VERSION >= 20171123
663ID_AC_LOGIN_OTP = 0x0ae3
664#else
665ID_AC_LOGIN_OTP = 0x0000 // Disabled
666#endif
672class AC_LOGIN_OTP : public Base::NetworkPacket<AuthSession>
673{
674public:
675 AC_LOGIN_OTP(std::shared_ptr<AuthSession> s)
677 {}
678 virtual ~AC_LOGIN_OTP() {}
679
680 void deliver();
682
683/* Structure */
684 int16_t _packet_length{ 0 };
685 int32_t _loginFlag{ 0 };
686#if (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20171213) \
687 || (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20171213)
688 char _loginFlag2[20];
689#elif CLEINT_TYPE == 'Z' && PACKET_VERSION >= 20171123
690 char _loginFlag[6];
691#endif
692 char _token[6];
693};
694
695enum {
696#if CLIENT_TYPE == 'A' && \
697 PACKET_VERSION >= 20040000
698ID_AC_NOTIFY_ERROR = 0x01f1
699#elif CLIENT_TYPE == 'M' && \
700 PACKET_VERSION >= 20031223
701ID_AC_NOTIFY_ERROR = 0x01f1
702#elif CLIENT_TYPE == 'R' && \
703 PACKET_VERSION >= 20080000
704ID_AC_NOTIFY_ERROR = 0x01f1
705#elif CLIENT_TYPE == 'S' && \
706 PACKET_VERSION >= 20031223
707ID_AC_NOTIFY_ERROR = 0x01f1
708#elif CLIENT_TYPE == 'Z' && \
709 PACKET_VERSION >= 20170000
710ID_AC_NOTIFY_ERROR = 0x01f1
711#else
712ID_AC_NOTIFY_ERROR = 0x0000 // Disabled
713#endif
719class AC_NOTIFY_ERROR : public Base::NetworkPacket<AuthSession>
720{
721public:
722 AC_NOTIFY_ERROR(std::shared_ptr<AuthSession> s)
724 {}
725 virtual ~AC_NOTIFY_ERROR() {}
726
727 void deliver();
729
730/* Structure */
731};
732
733enum {
734#if CLIENT_TYPE == 'M' && \
735 PACKET_VERSION >= 20100413
736ID_AC_OTP_AUTH_ACK = 0x0823
737#elif CLIENT_TYPE == 'R' && \
738 PACKET_VERSION >= 20100413
739ID_AC_OTP_AUTH_ACK = 0x0823
740#elif CLIENT_TYPE == 'Z' && \
741 PACKET_VERSION >= 20170000
742ID_AC_OTP_AUTH_ACK = 0x0823
743#else
744ID_AC_OTP_AUTH_ACK = 0x0000 // Disabled
745#endif
751class AC_OTP_AUTH_ACK : public Base::NetworkPacket<AuthSession>
752{
753public:
754 AC_OTP_AUTH_ACK(std::shared_ptr<AuthSession> s)
756 {}
757 virtual ~AC_OTP_AUTH_ACK() {}
758
759 void deliver();
761
762/* Structure */
763};
764
765enum {
766#if CLIENT_TYPE == 'M' && \
767 PACKET_VERSION >= 20100413
768ID_AC_OTP_USER = 0x0821
769#elif CLIENT_TYPE == 'R' && \
770 PACKET_VERSION >= 20100413
771ID_AC_OTP_USER = 0x0821
772#elif CLIENT_TYPE == 'Z' && \
773 PACKET_VERSION >= 20170000
774ID_AC_OTP_USER = 0x0821
775#else
776ID_AC_OTP_USER = 0x0000 // Disabled
777#endif
783class AC_OTP_USER : public Base::NetworkPacket<AuthSession>
784{
785public:
786 AC_OTP_USER(std::shared_ptr<AuthSession> s)
788 {}
789 virtual ~AC_OTP_USER() {}
790
791 void deliver();
793
794/* Structure */
795};
796
797enum {
798#if CLIENT_TYPE == 'M' && \
799 PACKET_VERSION >= 20101228
800ID_AC_REALNAME_AUTH = 0x08b2
801#elif CLIENT_TYPE == 'R' && \
802 PACKET_VERSION >= 20101228
803ID_AC_REALNAME_AUTH = 0x08b2
804#elif CLIENT_TYPE == 'Z' && \
805 PACKET_VERSION >= 20170000
806ID_AC_REALNAME_AUTH = 0x08b2
807#else
808ID_AC_REALNAME_AUTH = 0x0000 // Disabled
809#endif
815class AC_REALNAME_AUTH : public Base::NetworkPacket<AuthSession>
816{
817public:
818 AC_REALNAME_AUTH(std::shared_ptr<AuthSession> s)
820 {}
821 virtual ~AC_REALNAME_AUTH() {}
822
823 void deliver();
825
826/* Structure */
827};
828
830{
831 ERR_NONE = -1, // All ok!
832 ERR_UNREGISTERED_ID = 0, // Unregistered ID
833 ERR_INCORRECT_PASSWORD = 1, // Incorrect Password
834 ERR_EXPIRED_ID = 2, // This ID is expired
835 ERR_REJECTED_FROM_SERVER = 3, // Rejected from Server
836 ERR_GM_BLOCK = 4, // You have been blocked by the GM Team
837 ERR_INCORRECT_CLIENT_VERSION = 5, // Your Game's EXE file is not the latest version
838 ERR_BAN_TIMESTAMP = 6, // Your are Prohibited to log in until %s
839 ERR_SERVER_OVERPOPULATED = 7, // Server is jammed due to over populated
840 ERR_COMPANY_LIMIT = 8, // No more accounts may be connected from this company
841 ERR_MSI_REFUSE_BAN_BY_DBA = 9, // MSI_REFUSE_BAN_BY_DBA
842 ERR_MSI_REFUSE_EMAIL_NOT_CONFIRMED = 10, // MSI_REFUSE_EMAIL_NOT_CONFIRMED
843 ERR_MSI_REFUSE_BAN_BY_GM = 11, // MSI_REFUSE_BAN_BY_GM
844 ERR_MSI_REFUSE_TEMP_BAN_FOR_DBWORK = 12, // MSI_REFUSE_TEMP_BAN_FOR_DBWORK
845 ERR_MSI_REFUSE_SELF_LOCK = 13, // MSI_REFUSE_SELF_LOCK
846 ERR_MSI_REFUSE_NOT_PERMITTED_GROUP = 14, // MSI_REFUSE_NOT_PERMITTED_GROUP
847 ERR_MSI_REFUSE_NOT_PERMITTED_GROUP2 = 15, // MSI_REFUSE_NOT_PERMITTED_GROUP
848 ERR_DELETED_ACCOUNT = 99, // This ID has been totally erased
849 ERR_SESSION_CONNECTED = 100, // Login information remains at %s
850 ERR_HACKING_INVESTIGATION = 101, // Account has been locked for a hacking investigation. Please contact the GM Team for more information
851 ERR_BUG_INVESTIGATION = 102, // This account has been temporarily prohibited from login due to a bug-related investigation
852 ERR_DELETING_CHAR = 103, // This character is being deleted. Login is temporarily unavailable for the time being
853 ERR_DELETING_SPOUSE = 104, // This character is being deleted. Login is temporarily unavailable for the time being
854};
855
856enum {
857#if CLIENT_TYPE == 'A' && \
858 PACKET_VERSION >= 20040000
859ID_AC_REFUSE_LOGIN = 0x006a
860#elif CLIENT_TYPE == 'M' && \
861 PACKET_VERSION >= 20030000
862ID_AC_REFUSE_LOGIN = 0x006a
863#elif CLIENT_TYPE == 'R' && \
864 PACKET_VERSION >= 20080000
865ID_AC_REFUSE_LOGIN = 0x006a
866#elif CLIENT_TYPE == 'S' && \
867 PACKET_VERSION >= 20030000
868ID_AC_REFUSE_LOGIN = 0x006a
869#elif CLIENT_TYPE == 'Z' && \
870 PACKET_VERSION >= 20170000
871ID_AC_REFUSE_LOGIN = 0x006a
872#else
873ID_AC_REFUSE_LOGIN = 0x0000 // Disabled
874#endif
880class AC_REFUSE_LOGIN : public Base::NetworkPacket<AuthSession>
881{
882public:
883 AC_REFUSE_LOGIN(std::shared_ptr<AuthSession> s)
885 {}
886 virtual ~AC_REFUSE_LOGIN() {}
887
888 void deliver(login_error_codes error_code, char* block_date, std::size_t bd_size);
890
891/* Structure */
892 uint8_t _error_code{ 0 };
893 char _block_date[20]{ 0 };
894};
895
896enum {
897#if CLIENT_TYPE == 'M' && \
898 PACKET_VERSION >= 20100615
899ID_AC_REFUSE_LOGIN2 = 0x083e
900#elif CLIENT_TYPE == 'R' && \
901 PACKET_VERSION >= 20100615
902ID_AC_REFUSE_LOGIN2 = 0x083e
903#elif CLIENT_TYPE == 'Z' && \
904 PACKET_VERSION >= 20170000
905ID_AC_REFUSE_LOGIN2 = 0x083e
906#else
907ID_AC_REFUSE_LOGIN2 = 0x0000 // Disabled
908#endif
914class AC_REFUSE_LOGIN2 : public Base::NetworkPacket<AuthSession>
915{
916public:
917 AC_REFUSE_LOGIN2(std::shared_ptr<AuthSession> s)
919 {}
920 virtual ~AC_REFUSE_LOGIN2() {}
921
922 void deliver();
924
925/* Structure */
926};
927
928enum {
929#if CLIENT_TYPE == 'M' && \
930 PACKET_VERSION >= 20130220
931ID_AC_REFUSE_LOGIN3 = 0x09a5
932#elif CLIENT_TYPE == 'R' && \
933 PACKET_VERSION >= 20130220
934ID_AC_REFUSE_LOGIN3 = 0x09a5
935#elif CLIENT_TYPE == 'Z' && \
936 PACKET_VERSION >= 20170000
937ID_AC_REFUSE_LOGIN3 = 0x09a5
938#else
939ID_AC_REFUSE_LOGIN3 = 0x0000 // Disabled
940#endif
946class AC_REFUSE_LOGIN3 : public Base::NetworkPacket<AuthSession>
947{
948public:
949 AC_REFUSE_LOGIN3(std::shared_ptr<AuthSession> s)
951 {}
952 virtual ~AC_REFUSE_LOGIN3() {}
953
954 void deliver();
956
957/* Structure */
958};
959
960enum {
961#if CLIENT_TYPE == 'M' && \
962 PACKET_VERSION >= 20180704
963ID_AC_REFUSE_LOGIN4 = 0x0b02
964#elif CLIENT_TYPE == 'R' && \
965 PACKET_VERSION >= 20180704
966ID_AC_REFUSE_LOGIN4 = 0x0b02
967#elif CLIENT_TYPE == 'Z' && \
968 PACKET_VERSION >= 20180627
969ID_AC_REFUSE_LOGIN4 = 0x0b02
970#else
971ID_AC_REFUSE_LOGIN4 = 0x0000 // Disabled
972#endif
978class AC_REFUSE_LOGIN4 : public Base::NetworkPacket<AuthSession>
979{
980public:
981 AC_REFUSE_LOGIN4(std::shared_ptr<AuthSession> s)
983 {}
984 virtual ~AC_REFUSE_LOGIN4() {}
985
986 void deliver();
988
989/* Structure */
990};
991
992enum {
993#if CLIENT_TYPE == 'A' && \
994 PACKET_VERSION >= 20070227
996#elif CLIENT_TYPE == 'M' && \
997 PACKET_VERSION >= 20070227
999#elif CLIENT_TYPE == 'R' && \
1000 PACKET_VERSION >= 20080000
1002#elif CLIENT_TYPE == 'S' && \
1003 PACKET_VERSION >= 20070227
1005#elif CLIENT_TYPE == 'Z' && \
1006 PACKET_VERSION >= 20170000
1008#else
1009ID_AC_REQUEST_SECOND_PASSWORD = 0x0000 // Disabled
1010#endif
1017{
1018public:
1019 AC_REQUEST_SECOND_PASSWORD(std::shared_ptr<AuthSession> s)
1021 {}
1023
1024 void deliver();
1026
1027/* Structure */
1028};
1029
1030enum {
1031#if CLIENT_TYPE == 'A' && \
1032 PACKET_VERSION >= 20060109
1034#elif CLIENT_TYPE == 'M' && \
1035 PACKET_VERSION >= 20060109
1037#elif CLIENT_TYPE == 'R' && \
1038 PACKET_VERSION >= 20080000
1040#elif CLIENT_TYPE == 'S' && \
1041 PACKET_VERSION >= 20060109
1043#elif CLIENT_TYPE == 'Z' && \
1044 PACKET_VERSION >= 20170000
1046#else
1047ID_AC_REQ_LOGIN_ACCOUNT_INFO = 0x0000 // Disabled
1048#endif
1055{
1056public:
1057 AC_REQ_LOGIN_ACCOUNT_INFO(std::shared_ptr<AuthSession> s)
1059 {}
1061
1062 void deliver();
1064
1065/* Structure */
1066};
1067
1068enum {
1069#if CLIENT_TYPE == 'A' && \
1070 PACKET_VERSION >= 20060109
1072#elif CLIENT_TYPE == 'M' && \
1073 PACKET_VERSION >= 20060109
1075#elif CLIENT_TYPE == 'R' && \
1076 PACKET_VERSION >= 20080000
1078#elif CLIENT_TYPE == 'S' && \
1079 PACKET_VERSION >= 20060109
1081#elif CLIENT_TYPE == 'Z' && \
1082 PACKET_VERSION >= 20170000
1084#else
1085ID_AC_REQ_LOGIN_CARDPASS = 0x0000 // Disabled
1086#endif
1093{
1094public:
1095 AC_REQ_LOGIN_CARDPASS(std::shared_ptr<AuthSession> s)
1097 {}
1099
1100 void deliver();
1102
1103/* Structure */
1104};
1105
1106enum {
1107#if CLIENT_TYPE == 'A' && \
1108 PACKET_VERSION >= 20060109
1110#elif CLIENT_TYPE == 'M' && \
1111 PACKET_VERSION >= 20060109
1113#elif CLIENT_TYPE == 'R' && \
1114 PACKET_VERSION >= 20080000
1116#elif CLIENT_TYPE == 'S' && \
1117 PACKET_VERSION >= 20060109
1119#elif CLIENT_TYPE == 'Z' && \
1120 PACKET_VERSION >= 20170000
1122#else
1123ID_AC_REQ_LOGIN_NEWEKEY = 0x0000 // Disabled
1124#endif
1131{
1132public:
1133 AC_REQ_LOGIN_NEWEKEY(std::shared_ptr<AuthSession> s)
1135 {}
1137
1138 void deliver();
1140
1141/* Structure */
1142};
1143
1144enum {
1145#if CLIENT_TYPE == 'A' && \
1146 PACKET_VERSION >= 20060109
1148#elif CLIENT_TYPE == 'M' && \
1149 PACKET_VERSION >= 20060109
1151#elif CLIENT_TYPE == 'R' && \
1152 PACKET_VERSION >= 20080000
1154#elif CLIENT_TYPE == 'S' && \
1155 PACKET_VERSION >= 20060109
1157#elif CLIENT_TYPE == 'Z' && \
1158 PACKET_VERSION >= 20170000
1160#else
1161ID_AC_REQ_LOGIN_OLDEKEY = 0x0000 // Disabled
1162#endif
1169{
1170public:
1171 AC_REQ_LOGIN_OLDEKEY(std::shared_ptr<AuthSession> s)
1173 {}
1175
1176 void deliver();
1178
1179/* Structure */
1180};
1181
1182enum {
1183#if CLIENT_TYPE == 'M' && \
1184 PACKET_VERSION >= 20130130
1185ID_AC_REQ_MOBILE_OTP = 0x09a2
1186#elif CLIENT_TYPE == 'R' && \
1187 PACKET_VERSION >= 20130130
1188ID_AC_REQ_MOBILE_OTP = 0x09a2
1189#elif CLIENT_TYPE == 'Z' && \
1190 PACKET_VERSION >= 20170000
1191ID_AC_REQ_MOBILE_OTP = 0x09a2
1192#else
1193ID_AC_REQ_MOBILE_OTP = 0x0000 // Disabled
1194#endif
1200class AC_REQ_MOBILE_OTP : public Base::NetworkPacket<AuthSession>
1201{
1202public:
1203 AC_REQ_MOBILE_OTP(std::shared_ptr<AuthSession> s)
1205 {}
1207
1208 void deliver();
1210
1211/* Structure */
1212};
1213
1214enum {
1215#if CLIENT_TYPE == 'M' && \
1216 PACKET_VERSION >= 20120716
1217ID_AC_REQ_NEW_USER = 0x098b
1218#elif CLIENT_TYPE == 'R' && \
1219 PACKET_VERSION >= 20120716
1220ID_AC_REQ_NEW_USER = 0x098b
1221#elif CLIENT_TYPE == 'Z' && \
1222 PACKET_VERSION >= 20170000
1223ID_AC_REQ_NEW_USER = 0x098b
1224#else
1225ID_AC_REQ_NEW_USER = 0x0000 // Disabled
1226#endif
1232class AC_REQ_NEW_USER : public Base::NetworkPacket<AuthSession>
1233{
1234public:
1235 AC_REQ_NEW_USER(std::shared_ptr<AuthSession> s)
1237 {}
1238 virtual ~AC_REQ_NEW_USER() {}
1239
1240 void deliver();
1242
1243/* Structure */
1244};
1245
1246enum {
1247#if CLIENT_TYPE == 'M' && \
1248 PACKET_VERSION >= 20111025
1249ID_AC_SHUTDOWN_INFO = 0x08e4
1250#elif CLIENT_TYPE == 'R' && \
1251 PACKET_VERSION >= 20111025
1252ID_AC_SHUTDOWN_INFO = 0x08e4
1253#elif CLIENT_TYPE == 'Z' && \
1254 PACKET_VERSION >= 20170000
1255ID_AC_SHUTDOWN_INFO = 0x08e4
1256#else
1257ID_AC_SHUTDOWN_INFO = 0x0000 // Disabled
1258#endif
1264class AC_SHUTDOWN_INFO : public Base::NetworkPacket<AuthSession>
1265{
1266public:
1267 AC_SHUTDOWN_INFO(std::shared_ptr<AuthSession> s)
1269 {}
1271
1272 void deliver();
1274
1275/* Structure */
1276};
1277
1278enum {
1279#if CLIENT_TYPE == 'M' && \
1280 PACKET_VERSION >= 20120626
1281ID_AC_SHUTDOWN_NOTIFY = 0x0986
1282#elif CLIENT_TYPE == 'R' && \
1283 PACKET_VERSION >= 20120626
1284ID_AC_SHUTDOWN_NOTIFY = 0x0986
1285#elif CLIENT_TYPE == 'Z' && \
1286 PACKET_VERSION >= 20170000
1287ID_AC_SHUTDOWN_NOTIFY = 0x0986
1288#else
1289ID_AC_SHUTDOWN_NOTIFY = 0x0000 // Disabled
1290#endif
1296class AC_SHUTDOWN_NOTIFY : public Base::NetworkPacket<AuthSession>
1297{
1298public:
1299 AC_SHUTDOWN_NOTIFY(std::shared_ptr<AuthSession> s)
1301 {}
1303
1304 void deliver();
1306
1307/* Structure */
1308};
1309
1310enum {
1311#if CLIENT_TYPE == 'M' && \
1312 PACKET_VERSION >= 20100601
1313ID_AC_SSO_LOGIN_ACK = 0x0826
1314#elif CLIENT_TYPE == 'R' && \
1315 PACKET_VERSION >= 20100601
1316ID_AC_SSO_LOGIN_ACK = 0x0826
1317#else
1318ID_AC_SSO_LOGIN_ACK = 0x0000 // Disabled
1319#endif
1325class AC_SSO_LOGIN_ACK : public Base::NetworkPacket<AuthSession>
1326{
1327public:
1328 AC_SSO_LOGIN_ACK(std::shared_ptr<AuthSession> s)
1330 {}
1332
1333 void deliver();
1335
1336/* Structure */
1337};
1338
1339} /* namespace Auth
1340 */} /* namespace Horizon */
1341#endif /* HORIZON_AUTH_TRANSMITTED_PACKETS_HPP */
Definition: ByteBuffer.hpp:78
Main object for the aegis packet: AC_ACCEPT_LOGIN2.
Definition: TransmittedPackets.hpp:138
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:275
void deliver()
AC_ACCEPT_LOGIN2.
Definition: TransmittedPackets.cpp:274
virtual ~AC_ACCEPT_LOGIN2()
Definition: TransmittedPackets.hpp:143
AC_ACCEPT_LOGIN2(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:140
Main object for the aegis packet: AC_ACCEPT_LOGIN.
Definition: TransmittedPackets.hpp:104
void deliver(int32_t auth_code, uint32_t aid, uint32_t user_level, uint8_t sex)
AC_ACCEPT_LOGIN.
Definition: TransmittedPackets.cpp:38
AC_ACCEPT_LOGIN(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:106
std::vector< s_ac_char_server_list > _c
Definition: TransmittedPackets.hpp:116
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:63
s_ac_accept_login _al
Definition: TransmittedPackets.hpp:115
virtual ~AC_ACCEPT_LOGIN()
Definition: TransmittedPackets.hpp:109
Main object for the aegis packet: AC_ACK_EKEY_FAIL_AUTHREFUSE.
Definition: TransmittedPackets.hpp:176
virtual ~AC_ACK_EKEY_FAIL_AUTHREFUSE()
Definition: TransmittedPackets.hpp:181
void deliver()
AC_ACK_EKEY_FAIL_AUTHREFUSE.
Definition: TransmittedPackets.cpp:162
AC_ACK_EKEY_FAIL_AUTHREFUSE(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:178
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:163
Main object for the aegis packet: AC_ACK_EKEY_FAIL_INPUTEKEY.
Definition: TransmittedPackets.hpp:214
virtual ~AC_ACK_EKEY_FAIL_INPUTEKEY()
Definition: TransmittedPackets.hpp:219
AC_ACK_EKEY_FAIL_INPUTEKEY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:216
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:171
void deliver()
AC_ACK_EKEY_FAIL_INPUTEKEY.
Definition: TransmittedPackets.cpp:170
Main object for the aegis packet: AC_ACK_EKEY_FAIL_NEEDCARDPASS.
Definition: TransmittedPackets.hpp:252
virtual ~AC_ACK_EKEY_FAIL_NEEDCARDPASS()
Definition: TransmittedPackets.hpp:257
void deliver()
AC_ACK_EKEY_FAIL_NEEDCARDPASS.
Definition: TransmittedPackets.cpp:178
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:179
AC_ACK_EKEY_FAIL_NEEDCARDPASS(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:254
Main object for the aegis packet: AC_ACK_EKEY_FAIL_NOTEXIST.
Definition: TransmittedPackets.hpp:290
void deliver()
AC_ACK_EKEY_FAIL_NOTEXIST.
Definition: TransmittedPackets.cpp:186
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:187
virtual ~AC_ACK_EKEY_FAIL_NOTEXIST()
Definition: TransmittedPackets.hpp:295
AC_ACK_EKEY_FAIL_NOTEXIST(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:292
Main object for the aegis packet: AC_ACK_EKEY_FAIL_NOTICE.
Definition: TransmittedPackets.hpp:328
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:195
AC_ACK_EKEY_FAIL_NOTICE(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:330
virtual ~AC_ACK_EKEY_FAIL_NOTICE()
Definition: TransmittedPackets.hpp:333
void deliver()
AC_ACK_EKEY_FAIL_NOTICE.
Definition: TransmittedPackets.cpp:194
Main object for the aegis packet: AC_ACK_EKEY_FAIL_NOTUSEDEKEY.
Definition: TransmittedPackets.hpp:366
void deliver()
AC_ACK_EKEY_FAIL_NOTUSEDEKEY.
Definition: TransmittedPackets.cpp:202
virtual ~AC_ACK_EKEY_FAIL_NOTUSEDEKEY()
Definition: TransmittedPackets.hpp:371
AC_ACK_EKEY_FAIL_NOTUSEDEKEY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:368
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:203
Main object for the aegis packet: AC_ACK_EKEY_FAIL_NOTUSESEKEY.
Definition: TransmittedPackets.hpp:404
virtual ~AC_ACK_EKEY_FAIL_NOTUSESEKEY()
Definition: TransmittedPackets.hpp:409
AC_ACK_EKEY_FAIL_NOTUSESEKEY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:406
void deliver()
AC_ACK_EKEY_FAIL_NOTUSESEKEY.
Definition: TransmittedPackets.cpp:210
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:211
Main object for the aegis packet: AC_ACK_FIRST_LOGIN.
Definition: TransmittedPackets.hpp:442
AC_ACK_FIRST_LOGIN(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:444
void deliver()
AC_ACK_FIRST_LOGIN.
Definition: TransmittedPackets.cpp:218
virtual ~AC_ACK_FIRST_LOGIN()
Definition: TransmittedPackets.hpp:447
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:219
Main object for the aegis packet: AC_ACK_GAME_GUARD.
Definition: TransmittedPackets.hpp:480
virtual ~AC_ACK_GAME_GUARD()
Definition: TransmittedPackets.hpp:485
AC_ACK_GAME_GUARD(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:482
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:155
void deliver()
AC_ACK_GAME_GUARD.
Definition: TransmittedPackets.cpp:154
Main object for the aegis packet: AC_ACK_HASH.
Definition: TransmittedPackets.hpp:518
void deliver()
AC_ACK_HASH.
Definition: TransmittedPackets.cpp:100
virtual ~AC_ACK_HASH()
Definition: TransmittedPackets.hpp:523
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:101
AC_ACK_HASH(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:520
Main object for the aegis packet: AC_ACK_PT_ID_INFO.
Definition: TransmittedPackets.hpp:556
void deliver()
AC_ACK_PT_ID_INFO.
Definition: TransmittedPackets.cpp:226
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:227
virtual ~AC_ACK_PT_ID_INFO()
Definition: TransmittedPackets.hpp:561
AC_ACK_PT_ID_INFO(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:558
Main object for the aegis packet: AC_ASK_PNGAMEROOM.
Definition: TransmittedPackets.hpp:594
virtual ~AC_ASK_PNGAMEROOM()
Definition: TransmittedPackets.hpp:599
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:109
AC_ASK_PNGAMEROOM(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:596
void deliver()
AC_ASK_PNGAMEROOM.
Definition: TransmittedPackets.cpp:108
Main object for the aegis packet: AC_EVENT_RESULT.
Definition: TransmittedPackets.hpp:632
void deliver()
AC_EVENT_RESULT.
Definition: TransmittedPackets.cpp:146
AC_EVENT_RESULT(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:634
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:147
virtual ~AC_EVENT_RESULT()
Definition: TransmittedPackets.hpp:637
Main object for the aegis packet: AC_LOGIN_OTP.
Definition: TransmittedPackets.hpp:673
int32_t _loginFlag
Definition: TransmittedPackets.hpp:685
AC_LOGIN_OTP(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:675
virtual ~AC_LOGIN_OTP()
Definition: TransmittedPackets.hpp:678
char _loginFlag2[20]
Definition: TransmittedPackets.hpp:688
void deliver()
AC_LOGIN_OTP.
Definition: TransmittedPackets.cpp:362
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:372
char _token[6]
Definition: TransmittedPackets.hpp:692
int16_t _packet_length
Definition: TransmittedPackets.hpp:684
Main object for the aegis packet: AC_NOTIFY_ERROR.
Definition: TransmittedPackets.hpp:720
void deliver()
AC_NOTIFY_ERROR.
Definition: TransmittedPackets.cpp:116
virtual ~AC_NOTIFY_ERROR()
Definition: TransmittedPackets.hpp:725
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:117
AC_NOTIFY_ERROR(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:722
Main object for the aegis packet: AC_OTP_AUTH_ACK.
Definition: TransmittedPackets.hpp:752
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:283
AC_OTP_AUTH_ACK(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:754
virtual ~AC_OTP_AUTH_ACK()
Definition: TransmittedPackets.hpp:757
void deliver()
AC_OTP_AUTH_ACK.
Definition: TransmittedPackets.cpp:282
Main object for the aegis packet: AC_OTP_USER.
Definition: TransmittedPackets.hpp:784
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:291
void deliver()
AC_OTP_USER.
Definition: TransmittedPackets.cpp:290
virtual ~AC_OTP_USER()
Definition: TransmittedPackets.hpp:789
AC_OTP_USER(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:786
Main object for the aegis packet: AC_REALNAME_AUTH.
Definition: TransmittedPackets.hpp:816
AC_REALNAME_AUTH(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:818
void deliver()
AC_REALNAME_AUTH.
Definition: TransmittedPackets.cpp:314
virtual ~AC_REALNAME_AUTH()
Definition: TransmittedPackets.hpp:821
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:315
Main object for the aegis packet: AC_REFUSE_LOGIN2.
Definition: TransmittedPackets.hpp:915
AC_REFUSE_LOGIN2(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:917
virtual ~AC_REFUSE_LOGIN2()
Definition: TransmittedPackets.hpp:920
void deliver()
AC_REFUSE_LOGIN2.
Definition: TransmittedPackets.cpp:306
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:307
Main object for the aegis packet: AC_REFUSE_LOGIN3.
Definition: TransmittedPackets.hpp:947
void deliver()
AC_REFUSE_LOGIN3.
Definition: TransmittedPackets.cpp:354
virtual ~AC_REFUSE_LOGIN3()
Definition: TransmittedPackets.hpp:952
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:355
AC_REFUSE_LOGIN3(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:949
Main object for the aegis packet: AC_REFUSE_LOGIN4.
Definition: TransmittedPackets.hpp:979
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:385
void deliver()
AC_REFUSE_LOGIN4.
Definition: TransmittedPackets.cpp:384
AC_REFUSE_LOGIN4(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:981
virtual ~AC_REFUSE_LOGIN4()
Definition: TransmittedPackets.hpp:984
Main object for the aegis packet: AC_REFUSE_LOGIN.
Definition: TransmittedPackets.hpp:881
void deliver(login_error_codes error_code, char *block_date, std::size_t bd_size)
AC_REFUSE_LOGIN.
Definition: TransmittedPackets.cpp:124
uint8_t _error_code
Error code.
Definition: TransmittedPackets.hpp:892
AC_REFUSE_LOGIN(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:883
char _block_date[20]
Ban expiration date.
Definition: TransmittedPackets.hpp:893
virtual ~AC_REFUSE_LOGIN()
Definition: TransmittedPackets.hpp:886
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:136
Main object for the aegis packet: AC_REQUEST_SECOND_PASSWORD.
Definition: TransmittedPackets.hpp:1017
virtual ~AC_REQUEST_SECOND_PASSWORD()
Definition: TransmittedPackets.hpp:1022
AC_REQUEST_SECOND_PASSWORD(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1019
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:267
void deliver()
AC_REQUEST_SECOND_PASSWORD.
Definition: TransmittedPackets.cpp:266
Main object for the aegis packet: AC_REQ_LOGIN_ACCOUNT_INFO.
Definition: TransmittedPackets.hpp:1055
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:235
virtual ~AC_REQ_LOGIN_ACCOUNT_INFO()
Definition: TransmittedPackets.hpp:1060
AC_REQ_LOGIN_ACCOUNT_INFO(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1057
void deliver()
AC_REQ_LOGIN_ACCOUNT_INFO.
Definition: TransmittedPackets.cpp:234
Main object for the aegis packet: AC_REQ_LOGIN_CARDPASS.
Definition: TransmittedPackets.hpp:1093
void deliver()
AC_REQ_LOGIN_CARDPASS.
Definition: TransmittedPackets.cpp:242
AC_REQ_LOGIN_CARDPASS(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1095
virtual ~AC_REQ_LOGIN_CARDPASS()
Definition: TransmittedPackets.hpp:1098
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:243
Main object for the aegis packet: AC_REQ_LOGIN_NEWEKEY.
Definition: TransmittedPackets.hpp:1131
AC_REQ_LOGIN_NEWEKEY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1133
void deliver()
AC_REQ_LOGIN_NEWEKEY.
Definition: TransmittedPackets.cpp:250
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:251
virtual ~AC_REQ_LOGIN_NEWEKEY()
Definition: TransmittedPackets.hpp:1136
Main object for the aegis packet: AC_REQ_LOGIN_OLDEKEY.
Definition: TransmittedPackets.hpp:1169
virtual ~AC_REQ_LOGIN_OLDEKEY()
Definition: TransmittedPackets.hpp:1174
void deliver()
AC_REQ_LOGIN_OLDEKEY.
Definition: TransmittedPackets.cpp:258
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:259
AC_REQ_LOGIN_OLDEKEY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1171
Main object for the aegis packet: AC_REQ_MOBILE_OTP.
Definition: TransmittedPackets.hpp:1201
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:347
virtual ~AC_REQ_MOBILE_OTP()
Definition: TransmittedPackets.hpp:1206
void deliver()
AC_REQ_MOBILE_OTP.
Definition: TransmittedPackets.cpp:346
AC_REQ_MOBILE_OTP(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1203
Main object for the aegis packet: AC_REQ_NEW_USER.
Definition: TransmittedPackets.hpp:1233
virtual ~AC_REQ_NEW_USER()
Definition: TransmittedPackets.hpp:1238
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:339
void deliver()
AC_REQ_NEW_USER.
Definition: TransmittedPackets.cpp:338
AC_REQ_NEW_USER(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1235
Main object for the aegis packet: AC_SHUTDOWN_INFO.
Definition: TransmittedPackets.hpp:1265
void deliver()
AC_SHUTDOWN_INFO.
Definition: TransmittedPackets.cpp:322
virtual ~AC_SHUTDOWN_INFO()
Definition: TransmittedPackets.hpp:1270
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:323
AC_SHUTDOWN_INFO(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1267
Main object for the aegis packet: AC_SHUTDOWN_NOTIFY.
Definition: TransmittedPackets.hpp:1297
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:331
void deliver()
AC_SHUTDOWN_NOTIFY.
Definition: TransmittedPackets.cpp:330
AC_SHUTDOWN_NOTIFY(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1299
virtual ~AC_SHUTDOWN_NOTIFY()
Definition: TransmittedPackets.hpp:1302
Main object for the aegis packet: AC_SSO_LOGIN_ACK.
Definition: TransmittedPackets.hpp:1326
AC_SSO_LOGIN_ACK(std::shared_ptr< AuthSession > s)
Definition: TransmittedPackets.hpp:1328
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:299
virtual ~AC_SSO_LOGIN_ACK()
Definition: TransmittedPackets.hpp:1331
void deliver()
AC_SSO_LOGIN_ACK.
Definition: TransmittedPackets.cpp:298
Definition: AuthSession.hpp:56
Definition: NetworkPacket.hpp:43
NetworkPacket(uint16_t packet_id, std::shared_ptr< AuthSession > s)
Definition: NetworkPacket.hpp:45
@ ID_AC_REFUSE_LOGIN3
Definition: TransmittedPackets.hpp:931
@ ID_AC_ACK_HASH
Definition: TransmittedPackets.hpp:499
@ ID_AC_SSO_LOGIN_ACK
Definition: TransmittedPackets.hpp:1313
@ ID_AC_ASK_PNGAMEROOM
Definition: TransmittedPackets.hpp:575
@ ID_AC_ACK_PT_ID_INFO
Definition: TransmittedPackets.hpp:537
@ ID_AC_EVENT_RESULT
Definition: TransmittedPackets.hpp:613
@ ID_AC_REQ_LOGIN_OLDEKEY
Definition: TransmittedPackets.hpp:1150
@ ID_AC_REQ_MOBILE_OTP
Definition: TransmittedPackets.hpp:1185
@ ID_AC_ACK_EKEY_FAIL_INPUTEKEY
Definition: TransmittedPackets.hpp:195
@ ID_AC_REQ_LOGIN_CARDPASS
Definition: TransmittedPackets.hpp:1074
@ ID_AC_SHUTDOWN_INFO
Definition: TransmittedPackets.hpp:1249
@ ID_AC_ACK_EKEY_FAIL_AUTHREFUSE
Definition: TransmittedPackets.hpp:157
@ ID_AC_REQ_NEW_USER
Definition: TransmittedPackets.hpp:1217
@ ID_AC_REQ_LOGIN_ACCOUNT_INFO
Definition: TransmittedPackets.hpp:1036
login_error_codes
Definition: TransmittedPackets.hpp:830
@ ID_AC_ACK_FIRST_LOGIN
Definition: TransmittedPackets.hpp:423
@ ID_AC_ACCEPT_LOGIN
Definition: TransmittedPackets.hpp:76
@ ID_AC_SHUTDOWN_NOTIFY
Definition: TransmittedPackets.hpp:1281
@ ID_AC_OTP_USER
Definition: TransmittedPackets.hpp:768
@ ID_AC_REFUSE_LOGIN4
Definition: TransmittedPackets.hpp:963
@ ID_AC_REQ_LOGIN_NEWEKEY
Definition: TransmittedPackets.hpp:1112
@ ID_AC_ACK_EKEY_FAIL_NOTEXIST
Definition: TransmittedPackets.hpp:271
@ ID_AC_ACK_EKEY_FAIL_NEEDCARDPASS
Definition: TransmittedPackets.hpp:233
@ ID_AC_ACK_GAME_GUARD
Definition: TransmittedPackets.hpp:461
@ ID_AC_REALNAME_AUTH
Definition: TransmittedPackets.hpp:800
@ ID_AC_LOGIN_OTP
Definition: TransmittedPackets.hpp:648
@ ID_AC_ACCEPT_LOGIN2
Definition: TransmittedPackets.hpp:122
@ ID_AC_OTP_AUTH_ACK
Definition: TransmittedPackets.hpp:736
@ ID_AC_REFUSE_LOGIN
Definition: TransmittedPackets.hpp:862
@ ID_AC_NOTIFY_ERROR
Definition: TransmittedPackets.hpp:701
@ ID_AC_ACK_EKEY_FAIL_NOTUSEDEKEY
Definition: TransmittedPackets.hpp:347
@ ID_AC_REFUSE_LOGIN2
Definition: TransmittedPackets.hpp:899
@ ID_AC_ACK_EKEY_FAIL_NOTICE
Definition: TransmittedPackets.hpp:309
@ ID_AC_ACK_EKEY_FAIL_NOTUSESEKEY
Definition: TransmittedPackets.hpp:385
@ ID_AC_REQUEST_SECOND_PASSWORD
Definition: TransmittedPackets.hpp:998
Definition: Element.hpp:7
Definition: TransmittedPackets.hpp:42
uint32_t last_login_ip
Last login IP.
Definition: TransmittedPackets.hpp:47
char last_login_time[26]
Last login timestamp.
Definition: TransmittedPackets.hpp:48
int16_t packet_len
Packet length (variable length)
Definition: TransmittedPackets.hpp:43
uint8_t twitter_flag
Definition: TransmittedPackets.hpp:52
uint32_t aid
Account ID.
Definition: TransmittedPackets.hpp:45
uint32_t user_level
User level.
Definition: TransmittedPackets.hpp:46
char twitter_auth_token[16]
Definition: TransmittedPackets.hpp:51
int32_t auth_code
Authentication code.
Definition: TransmittedPackets.hpp:44
uint8_t sex
Account sex.
Definition: TransmittedPackets.hpp:49
Definition: TransmittedPackets.hpp:57
uint16_t is_new
Server state.
Definition: TransmittedPackets.hpp:62
char name[20]
Server name.
Definition: TransmittedPackets.hpp:60
uint32_t ip
Server IP address.
Definition: TransmittedPackets.hpp:58
uint16_t type
Server type @ character_server_type.
Definition: TransmittedPackets.hpp:63
uint16_t usercount
Online users.
Definition: TransmittedPackets.hpp:61
char unknown2[128]
Definition: TransmittedPackets.hpp:65
int16_t port
Server port.
Definition: TransmittedPackets.hpp:59