reject char create when world locked
This commit is contained in:
parent
1ec930639f
commit
a775e90eb3
@ -321,17 +321,23 @@ bool LoginServer::Process() {
|
|||||||
int8 resp = 0;
|
int8 resp = 0;
|
||||||
int32 acct_id = 0;
|
int32 acct_id = 0;
|
||||||
int32 char_id = 0;
|
int32 char_id = 0;
|
||||||
|
// have to load packet to clear the buffer
|
||||||
if(packet && packet->LoadPacketData(pack->pBuffer+sizeof(int16),pack->size - sizeof(int16), version <= 561 ? false : true)){
|
if(packet && packet->LoadPacketData(pack->pBuffer+sizeof(int16),pack->size - sizeof(int16), version <= 561 ? false : true)){
|
||||||
EQ2_16BitString name = packet->getType_EQ2_16BitString_ByName("name");
|
if(net.world_locked) {
|
||||||
resp = database.CheckNameFilter(name.data.c_str());
|
resp = NOSERVERSAVAIL_REPLY; // no new characters when locked
|
||||||
acct_id = packet->getType_int32_ByName("account_id");
|
}
|
||||||
LogWrite(WORLD__DEBUG, 0, "World", "Response: %i", (int)resp);
|
else {
|
||||||
|
EQ2_16BitString name = packet->getType_EQ2_16BitString_ByName("name");
|
||||||
sint16 lowestStatus = database.GetLowestCharacterAdminStatus(acct_id);
|
resp = database.CheckNameFilter(name.data.c_str());
|
||||||
if(lowestStatus == -2)
|
acct_id = packet->getType_int32_ByName("account_id");
|
||||||
resp = UNKNOWNERROR_REPLY2;
|
LogWrite(WORLD__DEBUG, 0, "World", "Response: %i", (int)resp);
|
||||||
else if(resp == CREATESUCCESS_REPLY)
|
|
||||||
char_id = database.SaveCharacter(packet, acct_id);
|
sint16 lowestStatus = database.GetLowestCharacterAdminStatus(acct_id);
|
||||||
|
if(lowestStatus == -2)
|
||||||
|
resp = UNKNOWNERROR_REPLY2;
|
||||||
|
else if(resp == CREATESUCCESS_REPLY)
|
||||||
|
char_id = database.SaveCharacter(packet, acct_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
LogWrite(WORLD__ERROR, 0, "World", "Invalid creation request!");
|
LogWrite(WORLD__ERROR, 0, "World", "Invalid creation request!");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user