summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-05-19 22:16:48 +0300
committerAndrei Karas <akaras@inbox.ru>2017-06-03 19:11:56 +0300
commitdd4b5f82e863de43a94c0ad023d4887f3308fede (patch)
treea72677b1d54d54bbb36db8881de8bd22b85da0c0
parent3b8e620ecfc25f6c7e7c00178db60a1657fd0d6b (diff)
downloadhercules-dd4b5f82e863de43a94c0ad023d4887f3308fede.tar.gz
hercules-dd4b5f82e863de43a94c0ad023d4887f3308fede.tar.bz2
hercules-dd4b5f82e863de43a94c0ad023d4887f3308fede.tar.xz
hercules-dd4b5f82e863de43a94c0ad023d4887f3308fede.zip
Add packet 0x0ac4 for 2017-03-15+ based on 3CeAM commit:
commit 70e0efb7035707542a091c8f2edb533f89b2552f Author: rytech16 <rytech16@cad27aaa-dce3-4a30-a00a-e4fd67c11881> Date: Tue Apr 18 21:42:40 2017 +0000 =General *Added temporarly support for the 2017-03-29dRagexeRE -This is for experimental testing and will not stay in the future. *Added support for the AC_ACCEPT_LOGIN4 packet. -March 2017 and newer clients require this since they no longer -support the legacy AC_ACCEPT_LOGIN packet. git-svn-id: svn://svn.code.sf.net/p/v1-3ceam/code/trunk@816 cad27aaa-dce3-4a30-a00a-e4fd67c11881
-rw-r--r--src/login/lclif.c4
-rw-r--r--src/login/lclif.p.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/login/lclif.c b/src/login/lclif.c
index 3ed257e85..f32538610 100644
--- a/src/login/lclif.c
+++ b/src/login/lclif.c
@@ -262,7 +262,11 @@ bool lclif_send_server_list(struct login_session_data *sd)
WFIFOHEAD(sd->fd, length);
packet = WP2PTR(sd->fd);
+#if PACKETVER < 20170315
packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN;
+#else
+ packet->packet_id = PACKET_ID_AC_ACCEPT_LOGIN2;
+#endif
packet->packet_len = length;
packet->auth_code = sd->login_id1;
packet->aid = sd->account_id;
diff --git a/src/login/lclif.p.h b/src/login/lclif.p.h
index ae9d1bc14..d28f1c587 100644
--- a/src/login/lclif.p.h
+++ b/src/login/lclif.p.h
@@ -56,7 +56,9 @@ enum login_packet_id {
//PACKET_ID_CA_SSO_LOGIN_REQa = 0x825a, /* unused */
// AC (Login to Client)
+
PACKET_ID_AC_ACCEPT_LOGIN = 0x0069,
+ PACKET_ID_AC_ACCEPT_LOGIN2 = 0x0ac4,
PACKET_ID_AC_REFUSE_LOGIN = 0x006a,
PACKET_ID_SC_NOTIFY_BAN = 0x0081,
PACKET_ID_AC_ACK_HASH = 0x01dc,
@@ -256,6 +258,9 @@ struct packet_AC_ACCEPT_LOGIN {
uint32 last_login_ip; ///< Last login IP
char last_login_time[26]; ///< Last login timestamp
uint8 sex; ///< Account sex
+#if PACKETVER >= 20170315
+ char unknown1[17];
+#endif
struct {
uint32 ip; ///< Server IP address
int16 port; ///< Server port
@@ -263,6 +268,9 @@ struct packet_AC_ACCEPT_LOGIN {
uint16 usercount; ///< Online users
uint16 state; ///< Server state
uint16 property; ///< Server property
+#if PACKETVER >= 20170315
+ char unknown2[128];
+#endif
} server_list[]; ///< List of charservers
} __attribute__((packed));