Möglichkeit nur über den Patcher zu starten?

05/05/2017 11:38 Jietzo#1
Ich suche eine Möglichkeit, das die Nutzer den Metin Client nur noch über den Patcher/Launcher starten können. Und nicht mehr direkt über die metin exe.
Gibt es da was?

Außerdem brauche ich eine Verschlüsselung für den Client.
Weiß jemand ob es irgendwo den gesamten Client code gibt? Also open source?
Dann könnte man sich das ja selbst zusammen basteln..

Danke
05/05/2017 18:49 Samael#2
Zum ersten: Ja gibt es. Du kannst das über verschiedene wege regeln. Du kannst in den Source eine versionsabfrage einbinden die du über den Server oder über den Webspace steuerst die dann einen z.B zum patchen zwingt, du kannst aber auch dir einen eigenen Patcher schreiben und den dann einfach in den Clientsource einbinden. Ist alles möglich solange du den Source hast. Du musst aber das nötige Know-How haben. Das geht nicht mal eben so in 5 minuten. Das kann mehrere Stunden dauern.

Zum zweiten: Fliege Files "Reworked" haben glaub ich open source. Downloadlink kann ich dir nicht zukommen lassen aufgrund der doppelmoralischen Regeln von Epvp. Musst du wohl google nutzen, solltest du aber schnell finden.
05/06/2017 12:11 </nQQpls>#3
Source - UserInterface.cpp:

Such nach:
Code:
bQuit = false
Darüber fügst Du folgendes ein:
Code:
bool bPatcher = false;
In der nachfolgenden for-Loop fügst Du folgenden Code ein:
Code:
if ((strcmp(szArgv[i], "--deingeheimerparameter") == 0))
	bPatcher = true;
Nun suchst Du nach:
Code:
if(bQuit) goto Clean;
Und fügst darüber folgendes ein:
Code:
if (!bPatcher) 
{
	MessageBox(NULL, ApplicationStringTable_GetStringz(IDS_ERR_MUST_LAUNCH_FROM_PATCHER, "ERR_MUST_LAUNCH_FROM_PATCHER"), ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
	goto Clean;
}
Und schon bekommt der Nutzer eine Nachricht, dass er den Client über den Patcher starten muss - In diesen fügst Du natürlich ein, dass er den Client mit Deinem eigenen Parameter startet. Fertig.

Es gibt natürlich sicherere Methoden, aber diese reicht für gewöhnlich.