Guten Tag liebe Community,
Ihr kennt das doch bestimmt auch! Ihr findet einen fremden Sponsor und dieser sagt zu euch, dass ihr eure Script-Daten auf den Root laden könnt. Und ihr bekommt ein mulmiges Gefühl, nach dem Motto "vielleicht ein Script Dieb?"
Für Skripter eine nützliche Funktion um sich abzusichern vor Skriptdieben
So könnt ihr euch schützen!
Zuerst ist dieser Beitrag für euch interessant: Die .amx-Datei - Kann mein Script geklaut werden?
Dieser Beitrag von Julian besagt, dass auf eure .amx-Daten nicht zugegriffen werden kann, also niemals die uncompilte .pwn-Datei auf den Rootserver laden. - Alles klar, dass wissen die meißten.
Was aber, wenn der gute Möchtegern-Hoster alle Daten auf seinen Rechner zieht und die dann verwendet. Das ist zwar recht unwarscheinlich, weil er nur die Hälfte der Technik kontrollieren kann, zum Beispiel in den Scriptfiles, wie die Accountdaten aufgebaut sind und allgemein alle Gespeicherten Sachen in einer .ini- oder .txt.-Datei.
Jedoch könnte er den Server samt Daten einrichten und ihn trotzdem über seinen Server laufen lassen und somit mit euerm Script (was genials und einzigartig sein kann) hier als den Seinen ausgeben und das will doch niemand, vor allem GF-Skripts sind davon betroffen da sich die meißten Nutzer sehr gut mit deisem Gamemode auskennen!
So wird 100%-tige Sicherheit garantiert:
Ihr richtet als erstes in euerm Skript eine Variable ein.
new ServerAktiv;
Diese Variable darf aber nicht gespeichert werden, sonst nützt das nichts.
Reset der Variable
Weiter im Text: Bei "public OnGameModeInit" wird eure Variable auf null gesetzt.
ServerAktiv = 0;
Abfragen ob Server aktiviert ist
Wenn nun ein Spieler auf euerm Server joint, und der Server nicht aktiviert ist, bleibt der Spieler auf dem Startbildschirm. Er kann keinen /Login-Befehl nutzen bzw. der Dialog zum Passwort eingeben / Registrieren erscheint nicht.
Das funktioniert mithilfe vom Abfragen:
if(ServerAktiv == 0)
{
GameTextForPlayer(playerid,"~w~Server ~r~deaktiviert~n~~w~Bitte warten!",5000,4);
//hier der Code, die Maßnahme, dass das der Login/Register auch nicht funktioniert (wichtig!)!
}
Als letztes noch der Befehl zum aktivieren
Dies ist eine Art Passwort, welches nur ihr wisst.
if(!strcmp(cmd,"/pwaktiv1382",true))
{
ServerAktiv = 1;
return 1;
}
So und mit dieser kleinen 5-Minuten-Arbeit könnt ihr das Skript für den Betrüger unbrauchbar machen und könnt euch zu 100% sicher sein, dass euer Skript auch euer Skript bleibt.
Ich hoffe ich konnte einigen Nutzern helfen.
Weitere Fragen beantworte ich gerne hier im Thread.
Gruß - Lincoln