Sie sind nicht angemeldet.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

1

Sonntag, 10. Juli 2011, 14:57

Rollbackscript für Gameserver > Updates

Da sich ja doch schon einige Leute bei dem letzten Update aufgeregt hatten weil Valve die vphysics.so verschrottet hat,
hat DeadEye angefangen ein Script zu schreiben, welches Rollbacks der Server anlegt falls es Updates gab.

Bisher hat er es nicht rausgerückt, und ich dachte mir ich schreibe mir was eigenes.
Das ganze ist nicht ganz fertig, und der Code ist dementsprechend "bäh".
Dazu also bitte keine Kommentare.

Im Prinzip definiere ich alle zu sichernden Dateien in Arrays, (Kann man natürlich erweitern.) und habe dann 2 Funktionen.
Einmal der initialize, der Schaut ob alle Ordner Und Files im Archiv sind, und 1 mal der Check der Prüft ob sich die md5sums von den originalen unterscheiden.
Falls sie das tun, wird die Datei in einem Seperaten Ordner gebackuppt und neu initialisiert.
Das ganze natürlich so geschrieben dass die Datein nicht "überinitialisiert" werden.

Das ganze legt man sich dann bei einem Seiner Gameserver an und schiebt es einfach in den Cron :)
Ich hätte dazu gerne Kritik und Verbesserungsvorschläge

Das ganze kann man sich auf Pastebin anschauen, da es dort ein Syntaxhighlighting gibt.

MfG
Impact

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

2

Sonntag, 10. Juli 2011, 20:29

ein ganz simpler weg wäre es die masterserverfiles in einem repository server zu "spiegeln". mercurial und git sind super (ich selbst arbeite mit mercurial). via checkout lassen sich dann ganz schnell auch mehrere hardwareserver downgraden ohne umständlich dateien in FTP hin und her zu schieben oder komplette server vor einem update einem backup zu unterziehen. auch hat man dann direkt eine schnelle übersicht welche dateien geändert wurden.

wenn man von valve nicht gezwungen wäre die TOS zu akzeptieren hätte ich schon längst ein repo auf bitbucket oder github eröffnet :/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MadMakz« (10. Juli 2011, 20:36)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

3

Sonntag, 10. Juli 2011, 21:02

Das wäre natürlich auch Cool.
Ich arbeite momentan noch mit Subversion, doch Git wird für mich immer interessanter.
Ich werde das Script wie es aussieht nicht nur für die Gameserver verwenden, sondern auch in abgeänderter Form für wichtige Configs.
Sehr praktisch das ganze, ich muss somit nur noch mein Rollback Verzeichnis Backuppen :)

MfG
Impact

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Impact« (10. Juli 2011, 21:07)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

4

Montag, 11. Juli 2011, 14:18

Ich habe hier mal ein Archiv bereitgestellt.
Der Masterserver davon wird jeden Tag um 6 Geupdated, das Check und Mirrorscript laufen jede Stunde 1 mal.
Wenn sich eine Datei geändert hat wird sie in ihrem Ordner als Tar.gz Archiv mit Datum erscheinen.

Apropo: Ich mache es nun mit einer Dateiliste, und habe noch eine add Funktion zugefuegt.

MfG
Impact

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Impact« (14. Juli 2011, 06:33)


DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

5

Dienstag, 12. Juli 2011, 21:02

Ich habs mit rsnapshot gemacht. Aber mit mercurial macht es auch Sinn. Ich werd mein Script auch mal zur Verfügung stellen, nachdem ich es einmal getestet habe.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

6

Mittwoch, 13. Juli 2011, 04:59

Als ich mich wie schon gesagt näher mit Git beschäftigt habe, stolperte ich über dieses Projekt.
Ich fand das mit den Md5summen (Das Script nutzt sha1) ganz interessant, und habe es deswegen ohne ein Extratool gemacht.
Den Rest kann man sich ja denken :)

PS: Du nutzt Mercurial?

MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

7

Mittwoch, 13. Juli 2011, 08:01

Ich habe nun mal ein Git Repository dafür angelegt, und mal sehen wie ich dazu komme da weiter dran zu arbeiten.
Git Repo

MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

8

Samstag, 16. Juli 2011, 07:03


wenn man von valve nicht gezwungen wäre die TOS zu akzeptieren hätte ich schon längst ein repo auf bitbucket oder github eröffnet :/

Ich hab die EULA zwar nur überflogen, aber da stand nur was von gewerblichem Zeugs.
Und es bieten ja einige solche Files an :)

MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

9

Mittwoch, 20. Juli 2011, 20:13

Mh also das Rollback funktioniert, es wurde einige Dateien verändert.
Nur gab es keine Meldung seitens Valve dass was geändert wurde.

bei folgenden Dateien haben die Md5Summen nicht mehr gestimmt.

Quellcode

1
2
3
4
orangebox/bin/dedicated.so
orangebox/bin/replay.so
orangebox/bin/engine.so
orangebox/bin/libtier0.so


War am 19.07-11 zwischen 0 und 7 Uhr.

MfG
Impact