GameServer 1.2

No Comments »

Heute hat sich die neue Version von GameServer auf den Weg in den Windows Phone 7 – Marketplace gemacht. Neu hinzugekommen sind der Support für Battlefield 3 und Call of Duty – Modern Warfare 3.
Weiterhin wurde die Listendarstellung der Spieler in einigen Spielen überarbeitet.


RCON Support erweitert

No Comments »

Die Entwicklung von GameServer für Windows Phone 7 geht sehr gut voran. Für folgende Spiele habe ich mittlerweile den RCON-Support implementiert:

Alien Swarm
Counter-Strike
Counter-Strike Condition Zero
Counter-Strike: Source
Day of Defeat
Day of Defeat: Source
Half-Life
Half-Life 2
Left 4 Dead
Left 4 Dead 2
Dark Messiah of Might and Magic
Natural Selection
Team Fortress 2
Call of Duty
Call of Duty – United Offensive
Call of Duty 2
Call of Duty 4
Call of Duty 5: World at War
Quake 3: Arena
Urban Terror
Wolfenstein: Enemy Territory

Die Version befindet sich derzeit in der Testphase und wird in den nächsten Tagen als Update bereitstehen.


RCON Support für GameServer

No Comments »

Die ersten Gehversuche, um auch Rcon-Support für die Windows Phone 7 Version von GameServer zu realisieren, habe ich erfolgreich abgeschlossen. Meine aktuelle Entwicklungsversion unterstützt Counter Strike: Source, Day of Defeat Source, Halflife 2, Left 4 Dead 1 & 2 und Team Fortress 2. Hierbei die Funktionen um die aktuelle Karte zu wechseln, Spieler zu kicken und Spieler zu bannen. Das Ändern von Cvars steht nun auf der Tagesordnung und sollte innerhalb der nächsten Tage implementiert sein.

Weiterhin sind Counter Strike 1.6 und alle anderen Halflife 1-Spiele sowie die Call of Duty-Reihe in Vorbereitung.

Ihr findet die App im Marketplace unter folgender Adresse: GameServer for Windows Phone 7


GameServer für Windows Phone 7

No Comments »

Nachdem die Version 2.0 von GameServer für Joomla fast fertig gestellt ist, habe ich nun meine erste Windows Phone 7 App programmiert. Ziel der App ist es, Livedaten von GameServern auf dem Phone darzustellen.
Die App befindet sich derzeit im Zertifizierungsprozess bei Microsoft und sollte in den nächsten Tagen im Marketplace verfügbar sein.

Fürs Erste unterstützt die App folgende Spiele:

Alien Swarm
America’s Army
America’s Army 3
Armed Assault
Armed Assault 2
Battlefield 1942
Battlefield Vietnam
Battlefield 2
Battlefield 2142
Battlefield Bad Company 2
Brink
Call of Duty
Call of Duty – United Offensive
Call of Duty 2
Call of Duty 4
Call of Duty 5: World at War
Counter-Strike
Condition Zero
Counter-Strike: Source
Crysis
Crysis Wars
Crysis 2
Day of Defeat
Day of Defeat: Source
Doom 3
Enemy Territory: Quake Wars
F.E.A.R.
Frontline: Fuel of War
Ghost Recon: Advanced Warfighter
Ghost Recon: Advanced Warfighter 2
Half-Life
Half-Life 2
Homefront
Killing Floor
Left 4 Dead
Left 4 Dead 2
Natural Selection
Medal of Honor
Dark Messiah of Might and Magic
OpenTTD
Quake 3: Arena
Quake 4
Orchestra: Ostfront 41-45
Return to Castle Wolfenstein
San Andreas: Multiplayer
Soldier of Fortune 2: Double Helix
Team Fortress 2
Unreal Tournament
Unreal Tournament 2003
Unreal Tournament 2004
Unreal Tournament 3
Urban Terror
Wolfenstein: Enemy Territory


Erweiterung der DevExpress-Templates

No Comments »

CodeRush von DevExpress bietet durch seine Shortcuts die Möglichkeit die Schreibarbeit deutlich zu beschleunigen.

So gibt es zum Beispiel das Kürzel “as” zum Anlegen einer Auto-Property vom Typ String. Das sieht dann so aus:

und ergibt:

Das Ganze funktioniert analog mit “ab” für Booleans, “ai” für Integer usw…

Leider gibt es von Haus aus keine Shortcuts für virtuelle Auto-Properties, die für NHibernate benötigt werden.

CodeRush bietet hierfür eine Möglichkeit eigene Shortcuts hinzuzufügen:

Dieser Shortcut  ermöglicht die Schreibweise “avs” für

Auch dieser Shortcut unterstützt automatisch die von CodeRush gebotenen Kürzel für die verschiedenen Datentypen (avb, avi…).


NuPack – Package Management für .net und Visual Studio 2010

No Comments »

Seit gestern beschäftige ich mich mit einem neuen AddOn für Visual Studio. Ein AddIn, das die Chance hat, eines der wichtigsten der nächsten Zeit zu werden. Die Rede ist von NuPack. NuPack ist Paket-Manager, der es ermöglicht auf natürliche Art und Weise benötigte externe Assemblies in ein Visual Studio-Projekt aufzunehmen. Kein Erzeugen eines Lib-Ordners mehr. Kein SVN-Copy oder ähnliches, um die Assemblies in den Lib-Ordner zu kopieren…

Doch wie funktioniert das Ganze mit NuPack? Eigentlich ganz einfach. Als erstes brauchen wir mal das AddIn. Dieses kann zum einen von http://nupack.codeplex.com geladen oder über den Extension Manager hinzugefügt werden.

Nach erfolgreicher Installation der Erweiterung erhält man einen neuen Menüpunkt im Solution Explorer, der es einem erlaubt ein Package dem Projekt hinzuzufügen.

Im folgenden Dialog, der dem des Extension Managers nachempfunden wurde, findet man die bereitgestellten Assemblies bzw. Funktionalitäten.

Mit einem Klick auf den entsprechenden Install-Button wird das Package geladen. Automatisch wird die geladene Assembly neben der Solution in einen Package-Ordner abgelegt und die Referenz auf die Assembly dem Projekt hinzugefügt wird.

Weiterhin besteht die Möglichkeit Config-Einträge automatisch in die entsprechende Config einzutragen. Ein Beispiel hierfür ist Elmah.

Zusätzlich zu dem Dialog gestützten Installieren, gibt es noch den Weg über die Package Manager Console, die mit PowerShell-Befehlen die Funktionen des Dialogs abdeckt und darüber hinaus noch einige zusätzliche Funktionen bietet.

Ein weiterer spannender Aspekt der Erweiterung ist die generelle Funktionsweise. Die Liste der zur Verfügung stehenden Assemblies wird über einen Feed bereitgestellt, der in den Settings von Visual Studio eingestellt bzw. angepasst werden kann. Über diesen Weg und die Tatsache, dass ebenfalls ein Tool zur Erstellung der Packages auf der Code-Plex-Seite bereitgestellt wurde, lassen sich auch im Firmenumfeld deutlich einfachere Szenarien für die Bereitstellung einheitlicher und kompatibler Erweiterungen darstellen. Man braucht ja nur einen eigenen Feed mit den geprüften und erlaubten Assemblies bereitstellen und schon können diese von den Kollegen genutzt werden.


Erste Eindrücke von der TechEd 2009 in Berlin

No Comments »

Joomla GameServer-Komponente

9 Comments »

Ich bin seit einigen Tagen dabei, den Umzug unserer Online-Gaming-Clan-Site www.kiez-clan.de vorzubereiten. Zur Zeit läuft die Seite auf Joomla 1.0.x und soll nach dem Umzug in der aktuellen Joomla 1.5.x in neuem Glanz erscheinen. Da sich aber zwischen den Version so ziemlich alles geändert hat und ich auch ungern die Unterstützung für “Alt-Komponenten” aktivieren möchte, suche ich nun für die verwendeten Komponenten Ersatz.

Eine dieser Komponenten ist die Game-Server-Anzeige-Komponente “com_serverstat”. Die Komponente kann für eine Hand voll Servertypen Daten über das aktuelle Spielgeschehen (Spieler, Karte…) darstellen. Leider wird die Komponente schon seit längerem nicht weiterentwickelt. Auch sonst habe ich keinen passenden Ersatz gefunden, was mich auf die Idee gebracht hat, diese Lücke selbst zu schließen.

com_gameserver_serverdetails

Nach einigen Abenden habe ich heute nun die erste Version mit der viel versprechenden Versionsnummer 0.1 auf meiner Joomla-Seite joomla.larshildebrandt.de veröffentlicht. Die Komponente zeigt neben einigen Parametern, wie Servername, IP-Adresse, Anzahl von Spielern und aktuelle Karte auch die derzeit auf dem Server befindlichen Spieler an. Bei den beiden Voice-Servern Teamspeak 2 und Ventrilo werden weiterhin auch die Channels dargestellt.

Für die Karten-Bilder konnte ich www.allstats.de gewinnen. Eine Beispiel-Installation gibt es unter folgender Adresse: joomla.larshildebrandt.de/gameserver.html. Derzeit werden folgende Servertypen unterstützt:

Battlefield 1942
Battlefield Vietnam
Battlefield 2
Battlefield 2142
Call of Duty
Call of Duty – United Offensive
Call of Duty 2
Call of Duty 4
Call of Duty 5: World at War
Counter-Strike
Counter-Strike: Source
Crysis Wars
Dark Messiah of Might and Magic
Day of Defeat
Day of Defeat: Source
Half-Life
Half-Life 2
Left 4 Dead
Natural Selection
Quake 3: Arena
Quake 4
Return to Castle Wolfenstein
Team Fortress 2
Unreal Tournament
Unreal Tournament 2004
Unreal Tournament 3
Wolfenstein: Enemy Territory

Teamspeak 2
Ventrilo


Elmah – Error Logging Modules and Handlers for ASP.NET

No Comments »

Ich arbeite zur Zeit an einem kleinen ASP.net Projekt. Für das globale Exception-Logging bin ich dank meines Kollegen Tobi über Elmah gestolpert. Über Elmah besteht die Möglichkeit sämtliche unbehandelten Exceptions zu speichern. Unterstützt werden derzeit folgende Weg:

- Microsoft SQL Server
- Oracle
- SQLite
- Microsoft Access
- VistaDB
- XML-Dateien
- im Speicher

    Weiterhin besteht die Möglichkeit sich Emails schicken zu lassen. Elmah bringt gleich eine webbasierte Übersicht mit, so dass man sich sehr einfach einen Überblick über aufgetretene Exceptions machen kann.

    Um Elmah einem Projekt hinzuzufügen, muss kein Sourcecode neu kompliliert werden. Es müssen nur ein paar Anpassungen an der Webconfig vorgenommen werden.

    Hier eine ganz einfach Webconfig ohne Mailversandt:

     
    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <sectionGroup name="elmah">
          <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
          <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
        </sectionGroup>
      </configSections>
      <elmah>
        <errorLog type="Elmah.SQLiteErrorLog, Elmah" connectionStringName="ELMAH.SQLite" />
      </elmah>
      <connectionStrings>
        <add name="ELMAH.SQLite" connectionString="Data Source=|DataDirectory|errors.s3db"/>
      </connectionStrings>
      <system.web>
        <compilation debug="true" defaultLanguage="C#" />
        <httpModules>
          <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
          <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
        </httpModules>
        <httpHandlers>
          <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
        </httpHandlers>
        <trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US"/>
        <trust level="Full"/>
      </system.web>
    </configuration>

    Über den Aufruf von “elmah.axd” erhält man die Webseite mit allen gespeicherten Exceptions.

    Wer also ein kleines, leichtes Framework fürs Exceptionhandling sucht, dem sei Elmah empfohlen.


    Windows 7 RC und meine TrueCrypt Partition :(

    13 Comments »

    Nachdem ja gestern Windows 7 RC zum öffentlichen Download bereitgestellt wurde, konnte ich natürlich nicht wiederstehen und habe mir gleich die 64 Bit Version auf meinem Rechner zu Hause installiert.

    Leider musste ich nach der Installation feststellen, dass TrueCrypt meine 2. Platte nicht mehr lesen wollte. Windows 7 hat die verschlüsselte Platte bei der Installation als “leer” interpretiert und sie schon mal für mich ahnungslosen Benutzer initialisiert und die für Windows nötigen Files drauf geschrieben.

    Zum Glück hatte ich einen recht guten Sicherungsstand, so dass ich nur relativ wenig Daten (darunter ein paar Konzertfotos und auch etwas Source-Code) verloren habe.

    Auf diesem Wege also Danke Microsoft… endlich wieder ein gutes Feature :(