Updated comments for LogServer

This commit is contained in:
dannuic 2026-04-13 15:47:13 -05:00
parent 517d9419a7
commit 8dd24f4a70
2 changed files with 169 additions and 181 deletions

View File

@ -856,82 +856,70 @@ namespace TOB
SETUP_VAR_ENCODE(LogServer_Struct); SETUP_VAR_ENCODE(LogServer_Struct);
ALLOC_LEN_ENCODE(1932); ALLOC_LEN_ENCODE(1932);
//pvp // pvp
if (emu->enable_pvp) { if (emu->enable_pvp) {
*(char*)&__packet->pBuffer[0x04] = 1; *(char*)&__packet->pBuffer[0x04] = 1;
} }
if (emu->enable_FV) { if (emu->enable_FV) {
//FV sets these both to 1 *(char*)&__packet->pBuffer[0x08] = 1; // RP server
//one appears to enable the no drop flag the other just marks the server as special? *(char*)&__packet->pBuffer[0x0a] = 1; // free loot server
*(char*)&__packet->pBuffer[0x08] = 1;
*(char*)&__packet->pBuffer[0x0a] = 1;
} }
//This has something to do with heirloom and prestige items but im not sure what it does // this lets you transfer no drop items in the shared bank
//Seems to sit at 0
*(char*)&__packet->pBuffer[0x75d] = 0; *(char*)&__packet->pBuffer[0x75d] = 0;
//not sure what this does, something to do with server select // disable tutorial at character create/select
*(char*)&__packet->pBuffer[0x09] = 0; *(char*)&__packet->pBuffer[0x09] = 0;
//this appears to have some effect on the tradeskill system; disabling made by tags perhaps? // this is the auto-identify flag
*(char*)&__packet->pBuffer[0x0b] = 0; *(char*)&__packet->pBuffer[0x0b] = 0;
//not sure, setting it to the value ive seen // not actually used in the client, has to do with name gen
*(char*)&__packet->pBuffer[0x0c] = 1; *(char*)&__packet->pBuffer[0x0c] = 1;
//Something to do with languages // unknown languages are gibberish
*(char*)&__packet->pBuffer[0x0d] = 1; *(char*)&__packet->pBuffer[0x0d] = 1;
//These seem to affect if server has betabuff enabled // is_dev_server flags
*(char*)&__packet->pBuffer[0x600] = 0; *(char*)&__packet->pBuffer[0x600] = 0; // is beta server
*(char*)&__packet->pBuffer[0x601] = 0; *(char*)&__packet->pBuffer[0x601] = 0; // override allow beta buff (for any server)
//This is set on test so it's probably indicating this is a test server *(char*)&__packet->pBuffer[0x602] = 0; // is test server (name reservations are unavailable)
*(char*)&__packet->pBuffer[0x602] = 0; *(char*)&__packet->pBuffer[0x603] = 0; // unused in the client
//not sure, but it's grouped with the beta and test stuff
*(char*)&__packet->pBuffer[0x603] = 0;
//world short name //world short name
strncpy((char*)&__packet->pBuffer[0x15], emu->worldshortname, 32); strncpy((char*)&__packet->pBuffer[0x15], emu->worldshortname, 32);
//not sure, affects some player calculation but didn't care to look more // static base HP/MP regen
*(char*)&__packet->pBuffer[0x5ec] = 0; *(char*)&__packet->pBuffer[0x5ec] = 0;
//Looks right // use mail system
if (emu->enablemail) { if (emu->enablemail) {
*(char*)&__packet->pBuffer[0x5f5] = 1; *(char*)&__packet->pBuffer[0x5f5] = 1;
} }
//Looks right // use voice macros
if (emu->enablevoicemacros) { if (emu->enablevoicemacros) {
*(char*)&__packet->pBuffer[0x5f4] = 1; *(char*)&__packet->pBuffer[0x5f4] = 1;
} }
//Not sure, sending what we've seen // Disable character select buttons except create character
*(char*)&__packet->pBuffer[0x5f6] = 0; *(char*)&__packet->pBuffer[0x5f6] = 0;
//Not sure sending what we've seen // enable tutorial at character create/select
*(char*)&__packet->pBuffer[0x5f8] = 1; *(char*)&__packet->pBuffer[0x5f8] = 1;
//Not sure sending what we've seen // client defaults, unused
*(int32_t*)&__packet->pBuffer[0x63c] = -1; *(int32_t*)&__packet->pBuffer[0x63c] = -1;
//Test sets this to 1, everyone else seems to set it to 0
*(int32_t*)&__packet->pBuffer[0x640] = 0; *(int32_t*)&__packet->pBuffer[0x640] = 0;
//Disassembly puts it next to code dealing with commands, ive not seen anyone send anything but 0
*(char*)&__packet->pBuffer[0x745] = 0; *(char*)&__packet->pBuffer[0x745] = 0;
//Something about item restrictions, seems to always be set to 1
*(char*)&__packet->pBuffer[0x750] = 1; *(char*)&__packet->pBuffer[0x750] = 1;
//This and 0x724 are often multiplied together in guild favor calcs, live and test send 1.0f // these are always multiplied together in guild favor calcs for display, live and test send 1.0f
*(float*)&__packet->pBuffer[0x760] = 1.0f; *(float*)&__packet->pBuffer[0x760] = 1.0f;
*(float*)&__packet->pBuffer[0x764] = 1.0f; *(float*)&__packet->pBuffer[0x764] = 1.0f;
//This and 0x72c are often multiplied together in non-guild favor calcs, live and test send 1.0f // these are always multiplied together in non-guild favor calcs for display, live and test send 1.0f
*(float*)&__packet->pBuffer[0x768] = 1.0f; *(float*)&__packet->pBuffer[0x768] = 1.0f;
*(float*)&__packet->pBuffer[0x76c] = 1.0f; *(float*)&__packet->pBuffer[0x76c] = 1.0f;

View File

@ -342,7 +342,7 @@ Below is a status list for the 450 opcodes we currently use on the server for th
| `OP_LoginUnknown2` | 🔴 Not-Set | | | | `OP_LoginUnknown2` | 🔴 Not-Set | | |
| `OP_Logout` | 🟡 Unverified | | | | `OP_Logout` | 🟡 Unverified | | |
| `OP_LogoutReply` | 🔴 Not-Set | | | | `OP_LogoutReply` | 🔴 Not-Set | | |
| `OP_LogServer` | 🟡 Unverified | Set via disassembly, lots of unknowns still | | | `OP_LogServer` | 🟢 Verified | Mostly unused values | |
| `OP_LootComplete` | 🟡 Unverified | | | | `OP_LootComplete` | 🟡 Unverified | | |
| `OP_LootItem` | 🟡 Unverified | | | | `OP_LootItem` | 🟡 Unverified | | |
| `OP_LootRequest` | 🟡 Unverified | | | | `OP_LootRequest` | 🟡 Unverified | | |