Das Problem liegt an den configs der Cores. Da steht irgendwo client_version oder ähnlich. Wo der Wert in der configs.cpp überschrieben wird.
Beiträge von Mytik
-
-
5 min warten ist also was tun xD wenn du min dss höher setzt je dichter an 60 desto höher die Chance 60 dss zu bekommen
-
Du hast oben das include vergessen.
-
Wenn es eh nur 5 min dauern soll stell doch einfach immer 60 dss ein verstehe dein Problem nicht
-
min dss auf 59 max dass auf 60 dss stellen? xD
-
Hält zumindest 80% der noobs ab
Die Frage ist nur was man sonst nehmen könnte ? Mac usw. Ist noch einfacher zu ändern.
Festplattenseriennummer ?
-
Hallo,
dass ist mein erstes Release, ich wäre froh wenn sich Leute die sich besser auskennen, Verbesserungsvorschläge geben
Den ich weiß, dass es nicht das gelbe vom Ei ist.
ServerPart:
service.h
tables.h
unter
folgendes einfügen
input_auth.cpp
unter
folgendes einfügen
Code- #ifdef ENABLE_PROCID_BAN
- std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET ProcID = '%s' WHERE login = '%s'", pinfo->ProcID, login));
- std::auto_ptr<SQLMsg> msg2(DBManager::instance().DirectQuery("SELECT null from account.procidbann where procid = '%s'", pinfo->ProcID));
- if (msg2->Get()->uiAffectedRows > 0)
- {
- TPacketGCLoginFailure failurePacket;
- failurePacket.header = HEADER_GC_LOGIN_FAILURE;
- strlcpy(failurePacket.szStatus, "PROCIDB", sizeof(failurePacket.szStatus));
- d->Packet(&failurePacket, sizeof(failurePacket));
- return;
- }
- #endif
packet.h
unter
folgendes einfügen
ClientPart:
PythonApplicationModule:
einfügen
packet.h
unter
folgendes einfügen
AccountConnector.cpp
unter
folgendes einfügen
folgende Funktion in AccountConnector.h und über bool CAccountConnector::__AuthState_RecvPhase() definieren:
Code- #ifdef ENABLE_PROCID_BAN
- char * CAccountConnector::GetProcessorSeialNumber()
- {
- DWORD dwStandard = 0;
- DWORD dwFeature = 0;
- _asm {
- mov eax, 1
- cpuid
- mov dwStandard, eax
- mov dwFeature, edx
- }
- char buff[30];
- // copy to buffer
- sprintf(buff, "%" PRIu64, (((UINT64)(dwFeature) << 32) | ((UINT64)(dwStandard))));
- return buff;
- }
- #endif
Noch folgendes include in der .cpp ergänzen:
Python Part
intrologin.py
unter
folgendes einfügen
locale_game.py
Querys
Ich hoffe ich habe nichts vergessen.
Danke an Sanii hab mich bei dir inspieren lassen vom Code (Version Check)
LG
Getestet? Saniis hatte zubeginn nicht funktioniert da es nicht getestet wurde
Jap ist getestet.
-
Hallo,
dass ist mein erstes Release, ich wäre froh wenn sich Leute die sich besser auskennen, Verbesserungsvorschläge geben
Den ich weiß, dass es nicht das gelbe vom Ei ist.
ServerPart:
service.h
tables.h
unter
folgendes einfügen
input_auth.cpp
unter
folgendes einfügen
Code- #ifdef ENABLE_PROCID_BAN
- std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET ProcID = '%s' WHERE login = '%s'", pinfo->ProcID, login));
- std::auto_ptr<SQLMsg> msg2(DBManager::instance().DirectQuery("SELECT null from account.procidbann where procid = '%s'", pinfo->ProcID));
- if (msg2->Get()->uiAffectedRows > 0)
- {
- TPacketGCLoginFailure failurePacket;
- failurePacket.header = HEADER_GC_LOGIN_FAILURE;
- strlcpy(failurePacket.szStatus, "PROCIDB", sizeof(failurePacket.szStatus));
- d->Packet(&failurePacket, sizeof(failurePacket));
- return;
- }
- #endif
packet.h
unter
folgendes einfügen
ClientPart:
PythonApplicationModule:
einfügen
packet.h
unter
folgendes einfügen
AccountConnector.cpp
unter
folgendes einfügen
folgende Funktion in AccountConnector.h und über bool CAccountConnector::__AuthState_RecvPhase() definieren:
Code- #ifdef ENABLE_PROCID_BAN
- char * CAccountConnector::GetProcessorSeialNumber()
- {
- DWORD dwStandard = 0;
- DWORD dwFeature = 0;
- _asm {
- mov eax, 1
- cpuid
- mov dwStandard, eax
- mov dwFeature, edx
- }
- char buff[30];
- // copy to buffer
- sprintf(buff, "%" PRIu64, (((UINT64)(dwFeature) << 32) | ((UINT64)(dwStandard))));
- return buff;
- }
- #endif
Noch folgendes include in der .cpp ergänzen:
Python Part
intrologin.py
unter
folgendes einfügen
locale_game.py
Querys
Ich hoffe ich habe nichts vergessen.
Danke an Sanii hab mich bei dir inspieren lassen vom Code (Version Check)
LG
-
-
Ich möchte ja genau diese Structur in meinen files einbauen ^^. Sodass ich immer die aktuellen de_protos nutzen kann
-
Es würde auch reichen wenn der de Client komplett entpackt ist . Mit item_proto und mob_proto in .txt. falls man nicht weitersagen will wie es funktioniert
-
Hallo zusammen,
Hoffe ich bin hier richtig.
Ich würde gerne den DE clienten insoweit entschlüsseln, dass ich die Modelle nutzen kann. Desweiteren Frage ich mich ob jmd schon die itemproto/ mobproto entschlüsselt hat sodass ich die aktuelle de protos benutzen kann.(um zusehen welche neuen Types/subtypes es gibt usw.)
LG
Mystik
-
Kannst natürlich Clientside verschlüsseln und auf dem Server wieder entschlüsseln.
Welche Daten willste den verschleiern bzw. Verschlüsseln?
-
Ist eig. Egal wie du es machst neues oder vorhandenes. Wenn du aber bereits ein Vorhandenes abänderst kannste leichter nachvollziehen wo was wie geladen wird.
So mach ich's immer.
Und nur wenn man ein neues Paket macht macht es nicht schwerer die Daten abzugreifen. Zumal man die Daten ja selbst eingibt
Oder verstehe ich was falsch?
-