• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

Frage über DS

DeletedUser

Gast
Ich hab vor auch ein online game zu proggen und hab mal eine allgemeine Frage (evtl. fehl am Platz). Wie der einzelne seine Rohstoffe und so verwaltet ist mir schon klar. Nur wie funktioniert das system, dass jede paar Minuten die Rohstoffe entsprechend added oder Angriffe macht. Was ist das? Is das ein eigenständiges Programm oder is das auch php? Wenn ja, wie kann ich es erreichen das ein php-script immer ausgeführt wird?
 

DeletedUser

Gast
Die zähler sind ganz klar Java-Script. Je nach Computer können die daher meistens auch etwas vor oder nach gehen.
Mal so als Tip: Wer Quellcode lesen kann ist klar im Vorteil! :) Wenn du das noch nicht so kannst würd ich mich noch nicht gleich an so ein Spiel wagen. Da gehört wirklich etwas mehr dazu...
 

DeletedUser13271

Gast
neben dem JS, werden deine Rohstoffe bei jedem Seitenaufruf upgedated. Das ist auch der Fall wenn dich jemand angreift, um zu plündern.

Andere Browsergames benutzen Ticks, da wird z.B. mit Hilfe von CronJobs alle 15min alles upgedated.

wenn dich das Thema interessiert, schau mal bei http://forum.onlinegame-agency.de/ vorbei. Als Spieleentwickler kannst du dich für den "Geschlossener Entwickler Bereich" freischalten lassen. Da gibts eine menge wertvolle Tipps, kann ich nur empfehlen :)
 

DeletedUser

Gast
1a KEEN!
thumbsup.gif
Das nenn ich mal "Info"
 

DeletedUser

Gast
Es gibt 2 Möglichkeiten: Am besten machst du das über nen Cronjob. Der nachteil ist, das du zu bestimmten Zeiten recht hohe Rechenanforderungen hast, aber insgesammt ist das System doch schneller als die letzten Rohstoff Werte zu speichern und daraus die aktuellen Rohstoff Werte zu errechnen.
 

DeletedUser

Gast
iuiz schrieb:
Es gibt 2 Möglichkeiten: Am besten machst du das über nen Cronjob. Der nachteil ist, das du zu bestimmten Zeiten recht hohe Rechenanforderungen hast, aber insgesammt ist das System doch schneller als die letzten Rohstoff Werte zu speichern und daraus die aktuellen Rohstoff Werte zu errechnen.

mhh, eigentlich reicht es doch einmal einen festen stand zu
speichern und dann nur noch den aktuellen wert aufgrund
der verstrichenen serverzeit zu berechnen. nur wenn sich
die ressis/h rate ändert, wird der neue feste stand gespeichert.
wenn ich am anfang 100 holz habe und 2 wochen lang 12/h
produziere habe ich nach 2 wochen eben 100+336x12.
 

DeletedUser

Gast
ich würde mir ja einen eigenen server in java bauen und den dann alle logik ausführen lassen. so als application server
 

DeletedUser

Gast
@luvo: igentlich meinte ich das mit
als die letzten Rohstoff Werte zu speichern und daraus die aktuellen Rohstoff Werte zu errechnen.

Aber ich hab mich glaube ich nicht so gut ausgedrückt. Ich bin auch nebenbei am proggen eines mmogs und hab aml ein paar Admins von anderen Spielen gefragt und die meisten haben mir für die Rohstoffe Cronjobs empfohlen.

Beim Kampfsystem soll man jedoch lieber auf Crons verzichten.
 

DeletedUser

Gast
iuiz schrieb:
@luvo: igentlich meinte ich das mit
als die letzten Rohstoff Werte zu speichern und daraus die aktuellen Rohstoff Werte zu errechnen.

Aber ich hab mich glaube ich nicht so gut ausgedrückt. Ich bin auch nebenbei am proggen eines mmogs und hab aml ein paar Admins von anderen Spielen gefragt und die meisten haben mir für die Rohstoffe Cronjobs empfohlen.

Beim Kampfsystem soll man jedoch lieber auf Crons verzichten.

mhh, ok. ich verstehe aber nicht wo man für das berechnen der ressis produktion einen cronjob einsetzen würde. wenn ich den aktuellen wert
_berechnen_ kann, warum muß ich ihn dann regelmässig
aktualisieren? aber ich steck da auch nicht so drin,
wird schon was dran sein.
 

DeletedUser

Gast
da sind bestimmt auch ein paar der grössten fehlerquellen versteckt...
 

DeletedUser12871

Gast
Bei DS werden Cron-Jobs lediglich für Verwaltungsaufgaben in der Nacht gesetzt. Rohstoffproduktion oder Angriffe laufen lediglich über PHP ab. Gründe:

- Wie luvo schon gesagt hat, lassen sich die aktuellen Rohstoffe relativ leicht ausrechnen
- Bei Cron-Jobs werden mehr Schreibzugriffe erfolgen, da die Rohstoffe jedes Spielers z.B. alle 15 Minuten neu berechnet und geschrieben werden müssen
- Von Februar bis ca. Mai haben wir das Spiel im kleinen Kreis getestet. Ein dedizierter Server wäre für den Spaß zu teuer gewesen. Shared-Hosting Anbieter mit Cron-Jobs sind eher selten. Davon wollte ich mich nicht abhängig machen.
- Eine gleichverteilte Serverlast ist besser als zwischenzeitige Serverüberlastungen
- Es ist einfach schöner, wenn die Rohstoffe kontinuierlich steigen
- Die Einrichtung der Cron-Jobs wäre eine zusätzliche Fehlerquelle gewesen. Da ich auf einem Windows-Rechner entwickle und teste, hätte ich etwas CronJob-vergleichbares für Windows finden müssen.
 

DeletedUser

Gast
exception schrieb:
- Die Einrichtung der Cron-Jobs wäre eine zusätzliche Fehlerquelle gewesen. Da ich auf einem Windows-Rechner entwickle und teste, hätte ich etwas CronJob-vergleichbares für Windows finden müssen.
da hätte ich helfen könne :) zum einen gibt es den taskplaner, der genauso funktioniert wie cronjobs, zum anderen gibt es das Programm WinCron. Sehr hilfreich ist auch, wenn man dann mit WSH und nicht einfachen Batch dateien arbeitet...
 

DeletedUser

Gast
ich nutze auch den taskplaner. Der ist eigentlich ideal für sowas. Direkt die php.exe und dann den script aufrufen. Und so hich ist die Serverlast durch einen Cronjob auch nicht. MAXIMAL 10 Sekunden bei 5k Usern. Eher 6 Sekunden. Wenn man das dann noch ein wenig verteilt. Auch sinkt der Trafic dadurch. Weil wenn man 2 Millionen mal eine Überprüfung stattfinden lässt, wie der alte Wert ist, statt einmal alle 15 Minuten 5k (pro Tag gerade mal 480.000 Querrys) spart man doch ein wenig.


Aber das mit den Steigenden Rohstoffen hat auch seinen Vorteil. Dadurch drücken bestimmmt nicht so viele User alle 5 Minuten auf f5, weil sie sehen wollen, was sie an Ressis haben.
 

DeletedUser

Gast
iuiz schrieb:
ich nutze auch den taskplaner. Der ist eigentlich ideal für sowas. Direkt die php.exe und dann den script aufrufen. Und so hich ist die Serverlast durch einen Cronjob auch nicht. MAXIMAL 10 Sekunden bei 5k Usern. Eher 6 Sekunden. Wenn man das dann noch ein wenig verteilt. Auch sinkt der Trafic dadurch. Weil wenn man 2 Millionen mal eine Überprüfung stattfinden lässt, wie der alte Wert ist, statt einmal alle 15 Minuten 5k (pro Tag gerade mal 480.000 Querrys) spart man doch ein wenig.


Aber das mit den Steigenden Rohstoffen hat auch seinen Vorteil. Dadurch drücken bestimmmt nicht so viele User alle 5 Minuten auf f5, weil sie sehen wollen, was sie an Ressis haben.

das geschrei möchte ich sehen wenn hier nur alle 15 minuten die
ressis aktualisiert würden. :)

ich glaube die cronjob frage stellt sich einfach nicht, da DS
nicht tick-basiert ist. bei tick-basierten spielen machen cronjobs
sicher sinn.
 

DeletedUser

Gast
Wäre bestimmt mal lustig die ressis für ne stunde einzufrieren ;) Ich tippe auf 4 Threads in algemein und doppelt so viele in Bugs.
 
Oben