summaryrefslogtreecommitdiff
path: root/src/elogin/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/elogin/parse.c')
-rw-r--r--src/elogin/parse.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/elogin/parse.c b/src/elogin/parse.c
index d9e644e..78b59c2 100644
--- a/src/elogin/parse.c
+++ b/src/elogin/parse.c
@@ -214,3 +214,20 @@ void elogin_parse_change_paassword(int fd)
}
send_char_password_change_ack(fd, accountId, status);
}
+
+void elogin_parse_serverexit(int fd)
+{
+ const int code = RFIFOW(fd, 2);
+ switch (code)
+ {
+ case 100: // all exit
+ case 101: // all restart
+ core->shutdown_callback();
+ break;
+ case 102: // restart char and map server
+ case 103: // restart map server
+ break;
+ default:
+ ShowWarning("Unknown termination code: %d\n", code);
+ }
+}