You are not logged in.

Dear visitor, welcome to sourceserver.info. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

1

Sunday, July 10th 2011, 2:57pm

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

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

2

Sunday, July 10th 2011, 8:29pm

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 :/

This post has been edited 1 times, last edit by "MadMakz" (Jul 10th 2011, 8:36pm)


Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

3

Sunday, July 10th 2011, 9:02pm

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

This post has been edited 2 times, last edit by "Impact" (Jul 10th 2011, 9:07pm)


Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

4

Monday, July 11th 2011, 2:18pm

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

This post has been edited 3 times, last edit by "Impact" (Jul 14th 2011, 6:33am)


DeaD_EyE

Administrator

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

5

Tuesday, July 12th 2011, 9:02pm

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" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

6

Wednesday, July 13th 2011, 4:59am

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" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

7

Wednesday, July 13th 2011, 8:01am

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" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

8

Saturday, July 16th 2011, 7:03am


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" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

9

Wednesday, July 20th 2011, 8:13pm

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.

Source code

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