Mit ‘Another Spacegame’ getaggte Artikel

Another Spacegame ist zurück

Dienstag, 14. September 2010

Nach langer Periode der Abstinenz (den Logs nach ist das Programm schon vor drei Monaten ausgefallen), habe ich mich mal wieder um das Spiel Another Spacegame gekümmert.

Der Grund des Ausfalls war ein Schutzmechanismus. Als irgendwer den ersten Kollektor gebaut hat und dieser angegriffen worden ist, hat der FBK gemerkt, dass das Kampfsystem überhaupt keinen Kollektor kennt und eine Ausnahme geworfen. Das Spiel hat sich daraufhin abgeschaltet.

Diese Gelegenheit habe ich gepackt, Tschacka, um mehrere Dinge zu implementieren:

  1. Beim Starten des FBK wird der Administrator informiert wenn unschöne Konfigurationen bzgl. der Einheiten aufgetreten ist.
  2. Der Administrator erhält eine Mail wenn der FBK wegen einer Ausnahme abschmiert.
  3. Der FBK wurde auf .Net 4 portiert.

Das Ergebnis:

image

Schöner, schneller, besser?!

Zumindest konnten die alten serialisierten Daten eingelesen werden und es war kein Neustart der Welt nötig.

Das Jungfrauenspiel (das im Übrigen schon seit 4 Monaten ohne Aufsicht läuft) wird im Laufe der Renovierungsmaßnahmen ebenfalls auf .Net 4 gehoben.

Hierbei wird auch das Feature implementiert, das das JFS pausieren lässt, wenn ein Spieler eine gewisse Zahl von Punkten erreicht hat.

Kompilieren, Verpacken und Hochladen

Montag, 29. März 2010

Mit Hilfe folgenden PowerShell-Skriptes kann ich nun den FBK kompilieren, verpacken und auf den Webspace hochladen. Leider gibt es in PowerShell keine funktionierende ZIP-Klasse, so dass ich hier auf 7-Zip zurückgreife:

msbuild FBK.sln /property:Configuration=Release

Remove-Item Deliverable -Force -Recurse
New-Item -type directory -f Deliverable

Copy-Item -Recurse FBK/src/bin/Release/ Deliverable/

& ‘C:/Program Files/7-Zip/7z.exe’ a Deliverable/Release.zip ./Deliverable/Release/

Write-Host "Benutzername: " -NoNewline
$user = Read-Host
Write-Host "Kennwort: " -NoNewline
$password = Read-Host
$currentDirectory = (Get-Item .).ToString()
$File = "$currentDirectory/Deliverable/Release.zip"
$ftp = "ftp://depon.net/htdocs/www.depon.net/downloads/fbk.zip"
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$password)

$uri = New-Object System.Uri($ftp)
"Uploading $File…"
$webclient.UploadFile($uri, $File)

Das Skript besteht im Prinzip aus vier Teilen:

  1. Mit Hilfe von msbuild wird die VisualStudio-Solution als Release kompiliert.
  2. Danach finden ein paar Umkopieraktionen statt
  3. Über das Kommandozeilen-Interface von 7-Zip wird das Release-Verzeichnis gezippt. Im späteren Schritt werde ich vermutlich auf die Ionic-Zip-Library zurückgreifen.
  4. Nach Abfrage der Kenndaten wird mit Hilfe der WebClient-Klasse das Zip auf den FTP-Webserver hochgeladen. Hier ist es auch schade, dass es kein PowerShell-Skript für den FTP-Upload gibt.

Mit einem Server-‘Gegenskript’ werde ich in Zukunft eine bestehende FBK-Instanz beenden, das ZIP-Archiv herunterladen, entpacken, an die richtige Stelle legen und das Spiel starten. Damit lassen sich die Deployment-Zeiten auf ein minimales Reduzieren.

image

FBK nun OpenSource unter AGPL-Lizenz über BitBucket

Montag, 22. Februar 2010

Die Quellen des Spieles Another Spacegame sind nun freigegeben worden.

Dabei wurden die ‘Troups’ in ‘Troops’ umbenannt, sämtliche Namensräume wurden neugeordnet, unnötig geteilte Assemblies wieder zusammengeführt und das Ganze auch unter BitBucket veröffentlicht. All dies hat den Nachteil, dass die alten Spielstände nicht mehr ladbar sind.

Der komplette Sourcecode ist unter http://bitbucket.org/mbrenn/another-spacegame-public/ verfügbar. Es nutzt Subrepositories, die erst ab der HG-Version 1.3 oder größer genutzt werden.

Um den Quellcode kompilieren zu können, ist die Installation der MSBuild Community Tasks erforderlich.

Bei installiertem HG kann der komplette Quellcode folgendermaßen heruntergeladen werden:

hg clone https://mbrenn@bitbucket.org/mbrenn/another-spacegame-public/

Nach einigen Minuten ist der komplette Quellcode heruntergeladen:

destination directory: another-spacegame-public
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 5 changes to 5 files
updating to branch default
pulling subrepo src\FBK
requesting all changes
adding changesets
adding manifests
adding file changes
added 163 changesets with 716 changes to 414 files
pulling subrepo src\BurnSystems.Parser
requesting all changes
adding changesets
adding manifests
adding file changes
added 39 changesets with 114 changes to 43 files
pulling subrepo src\BurnSystems.FBK
requesting all changes
adding changesets
adding manifests
adding file changes
added 1618 changesets with 11866 changes to 5571 files
pulling subrepo src\BurnSystems
requesting all changes
adding changesets
adding manifests
adding file changes
added 132 changesets with 441 changes to 155 files
pulling subrepo src\BurnSystems.BlockStorage
requesting all changes
adding changesets
adding manifests
adding file changes
added 22 changesets with 53 changes to 28 files
pulling subrepo src\BurnSystems.BGE.Fighting
requesting all changes
adding changesets
adding manifests
adding file changes
added 22 changesets with 96 changes to 51 files
5 files updated, 0 files merged, 0 files removed, 0 files unresolved

Das Kompilat ist auch direkt unter http://depon.net/downloads/anotherspacegame.zip verfügbar.