Moin,
Ich stehe aktuell ehrlich gesagt etwas an, und erhoffe mir, dass mir hier jemand weiterhelfen kann welcher selbst mal vor so einen Problem stand...
Mir fehlt da leider die Erfahrung.
Ich habe aktuell eine Software, welche diverse Sachen für ein Browsergame automatisiert.
Im Moment kann der User die Software über eine GUI bedienen.
Der Gesamte Code liegt lokal am Client ( inkl. Datenbank ).
Da ich so eher schwer den Code vor einer Raubkopie, Veränderung oder auch schwer(er) Updates einspielen kann ergeben sich relativ viele Nachteile.
Der wohl größte Punkt ist, dass es nicht schwer ist die Software einfach zu klauen.
Ich habe mir nun diverse Optionen überlegt, welche die Nachteile theoretisch beseitigen sollte.
- API erstellen
Hätte den Vorteil, dass der User nur mehr eine GUI am client hat, welche via requests mit meinem Server kommuniziert welcher dann je nach Vorhaben alles an die gameserver weiterleitet.
Die Logik würde so für den Enduser nicht einsehbar sein.
Vorteil wäre ich hab die Kontrolle wer die Software benützt, kann Leute sperren, sehr leichte updates
- Alles am Server
User kann diverse Aktionen via ne webApp ändern.
Ich würde dann einfach cronjobs am Server laufen lassen.
Da hab ich folgende Fragen.
- Können 2 cronjobs gleichzeitig ausgeführt werden?
zB User 1 und User 2 bauen um exakt 21:00 Uhr Truppen.
( Ich denke mal ja ? )
- Was passiert wenn ein cronjob zB alle 5 Minuten ausgeführt wird, der User
aber angibt, dass er im Skript zwischen 2 Aktionen 6 Minuten warten will.
Fängt dann der 2te cronjob nach 5 Minuten an, und es laufen quasi 2 jobs
gleichzeitig für das selbe ?
- Wie behandelt ein Gameserver requests ?
Angeommen ich schicke einen request zum senden einer Farmliste.
Kann ich nun GLEICHZEITIG am gleichen Account zB einen request
schicken zum Gebäude bauen ?
Ist es dem Server egal ob es logisch ist welchen Request er bekommt,
und macht einfach das was er soll, oder wirft es Fehler bzw. werden
manche Sachen dann nicht richtig bearbeitet...
Theoretisch kann man ja im Browser auch nicht 2 Aktionen gleichzeitig
machen.
Gibt es hierzu eventuell eine Möglichkeit, dass man gewisse requests unterbricht, da HIGH Prior sachen zuerst ausgeführt werden ?
Danke fürs lesen und ich hoffe es tut sich wer an das alles durchzuackern :)
LG und schönen Abend
Ich stehe aktuell ehrlich gesagt etwas an, und erhoffe mir, dass mir hier jemand weiterhelfen kann welcher selbst mal vor so einen Problem stand...
Mir fehlt da leider die Erfahrung.
Ich habe aktuell eine Software, welche diverse Sachen für ein Browsergame automatisiert.
Im Moment kann der User die Software über eine GUI bedienen.
Der Gesamte Code liegt lokal am Client ( inkl. Datenbank ).
Da ich so eher schwer den Code vor einer Raubkopie, Veränderung oder auch schwer(er) Updates einspielen kann ergeben sich relativ viele Nachteile.
Der wohl größte Punkt ist, dass es nicht schwer ist die Software einfach zu klauen.
Ich habe mir nun diverse Optionen überlegt, welche die Nachteile theoretisch beseitigen sollte.
- API erstellen
Hätte den Vorteil, dass der User nur mehr eine GUI am client hat, welche via requests mit meinem Server kommuniziert welcher dann je nach Vorhaben alles an die gameserver weiterleitet.
Die Logik würde so für den Enduser nicht einsehbar sein.
Vorteil wäre ich hab die Kontrolle wer die Software benützt, kann Leute sperren, sehr leichte updates
- Alles am Server
User kann diverse Aktionen via ne webApp ändern.
Ich würde dann einfach cronjobs am Server laufen lassen.
Da hab ich folgende Fragen.
- Können 2 cronjobs gleichzeitig ausgeführt werden?
zB User 1 und User 2 bauen um exakt 21:00 Uhr Truppen.
( Ich denke mal ja ? )
- Was passiert wenn ein cronjob zB alle 5 Minuten ausgeführt wird, der User
aber angibt, dass er im Skript zwischen 2 Aktionen 6 Minuten warten will.
Fängt dann der 2te cronjob nach 5 Minuten an, und es laufen quasi 2 jobs
gleichzeitig für das selbe ?
- Wie behandelt ein Gameserver requests ?
Angeommen ich schicke einen request zum senden einer Farmliste.
Kann ich nun GLEICHZEITIG am gleichen Account zB einen request
schicken zum Gebäude bauen ?
Ist es dem Server egal ob es logisch ist welchen Request er bekommt,
und macht einfach das was er soll, oder wirft es Fehler bzw. werden
manche Sachen dann nicht richtig bearbeitet...
Theoretisch kann man ja im Browser auch nicht 2 Aktionen gleichzeitig
machen.
Gibt es hierzu eventuell eine Möglichkeit, dass man gewisse requests unterbricht, da HIGH Prior sachen zuerst ausgeführt werden ?
Danke fürs lesen und ich hoffe es tut sich wer an das alles durchzuackern :)
LG und schönen Abend