- Now, when the login-char connection is cut, the char-server won't set everyone offline on reconnect, instead it will send the list of online accounts to the login server.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7563 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
544adf40b5
commit
b643528e50
@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/07/07
|
2006/07/07
|
||||||
|
* Now, when the login-char connection is cut, the char-server won't set
|
||||||
|
everyone offline on reconnect, instead it will send the list of online
|
||||||
|
accounts to the login server. [Skotlex]
|
||||||
* Modified the error on the char-sql server to set chars online when it
|
* Modified the error on the char-sql server to set chars online when it
|
||||||
receives a save packet from a character tagged as offline (until it can be
|
receives a save packet from a character tagged as offline (until it can be
|
||||||
figured out why this is happening) [Skotlex]
|
figured out why this is happening) [Skotlex]
|
||||||
|
@ -1826,6 +1826,8 @@ static int char_delete(struct mmo_charstatus *cs) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int send_accounts_tologin(int tid, unsigned int tick, int id, int data);
|
||||||
|
|
||||||
int parse_tologin(int fd) {
|
int parse_tologin(int fd) {
|
||||||
int i;
|
int i;
|
||||||
struct char_session_data *sd;
|
struct char_session_data *sd;
|
||||||
@ -1862,8 +1864,15 @@ int parse_tologin(int fd) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
} else {
|
} else {
|
||||||
ShowStatus("Connected to login-server (connection #%d).\n", fd);
|
ShowStatus("Connected to login-server (connection #%d).\n", fd);
|
||||||
if (kick_on_disconnect)
|
// Don't set them offline as there's no packet to tell the map server
|
||||||
set_all_offline();
|
// to kick everyone out. Also, a disconnection from the login server is
|
||||||
|
// NOT something serious to the data integrity as a char-map disconnect
|
||||||
|
// is. [Skotlex]
|
||||||
|
// if (kick_on_disconnect)
|
||||||
|
// set_all_offline();
|
||||||
|
// However, on reconnect, DO send our connected accounts to login.
|
||||||
|
send_accounts_tologin(-1, gettick(), 0, 0);
|
||||||
|
|
||||||
// if no map-server already connected, display a message...
|
// if no map-server already connected, display a message...
|
||||||
for(i = 0; i < MAX_MAP_SERVERS; i++)
|
for(i = 0; i < MAX_MAP_SERVERS; i++)
|
||||||
if (server_fd[i] >= 0 && server[i].map[0]) // if map-server online and at least 1 map
|
if (server_fd[i] >= 0 && server[i].map[0]) // if map-server online and at least 1 map
|
||||||
|
@ -1771,6 +1771,8 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int send_accounts_tologin(int tid, unsigned int tick, int id, int data);
|
||||||
|
|
||||||
int parse_tologin(int fd) {
|
int parse_tologin(int fd) {
|
||||||
int i;
|
int i;
|
||||||
struct char_session_data *sd;
|
struct char_session_data *sd;
|
||||||
@ -1810,8 +1812,15 @@ int parse_tologin(int fd) {
|
|||||||
//exit(1); //fixed for server shutdown.
|
//exit(1); //fixed for server shutdown.
|
||||||
}else {
|
}else {
|
||||||
ShowStatus("Connected to login-server (connection #%d).\n", fd);
|
ShowStatus("Connected to login-server (connection #%d).\n", fd);
|
||||||
if (kick_on_disconnect)
|
// Don't set them offline as there's no packet to tell the map server
|
||||||
set_all_offline();
|
// to kick everyone out. Also, a disconnection from the login server is
|
||||||
|
// NOT something serious to the data integrity as a char-map disconnect
|
||||||
|
// is. [Skotlex]
|
||||||
|
// if (kick_on_disconnect)
|
||||||
|
// set_all_offline();
|
||||||
|
// However, on reconnect, DO send our connected accounts to login.
|
||||||
|
send_accounts_tologin(-1, gettick(), 0, 0);
|
||||||
|
|
||||||
// if no map-server already connected, display a message...
|
// if no map-server already connected, display a message...
|
||||||
for(i = 0; i < MAX_MAP_SERVERS; i++)
|
for(i = 0; i < MAX_MAP_SERVERS; i++)
|
||||||
if (server_fd[i] > 0 && server[i].map[0]) // if map-server online and at least 1 map
|
if (server_fd[i] > 0 && server[i].map[0]) // if map-server online and at least 1 map
|
||||||
|
Loading…
x
Reference in New Issue
Block a user