summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/charserverhandler.cpp6
-rw-r--r--src/net/eathena/charserverhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index 79a316420..533f8f633 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -707,4 +707,10 @@ void CharServerHandler::processCharCharacters(Net::MessageIn &msg)
client->setState(STATE_CHAR_SELECT);
}
+void CharServerHandler::ping() const
+{
+ createOutPacket(CMSG_CHAR_PING);
+ outMsg.writeInt32(0, "unused");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index 6d0cb48a9..2fd4d55f7 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -89,6 +89,8 @@ class CharServerHandler final : public MessageHandler,
Net::Character *const character,
const bool) const override final;
+ void ping() const override final;
+
protected:
static void processPincodeStatus(Net::MessageIn &msg);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index a8317c988..7ec70ff83 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -480,6 +480,7 @@
#define CMSG_MAP_SERVER_CONNECT 0x089c
#define CMSG_MAP_PING 0x035f /**< Send to server with tick */
#define CMSG_LOGIN_PING 0x0200
+#define CMSG_CHAR_PING 0x0187
#define CMSG_MAP_LOADED 0x007d
#define CMSG_CLIENT_QUIT 0x018A