Seit ich die Siedler 3-Community mit betreue habe ich auch Kontakt mit der dort seit jeher eingesetzten Forensoftware namens CBACK. Diese wird von Chris aus dem Saarland seit ca. 2006 entwickelt und kostenpflichtig zur Nutzung angeboten. Die Preise sind für das was man bekommt hervorragend.

Doch was kriegt man?

Zunächst mal eine Forensoftware die sich wirklich auf das essentielle für Foren konzentriert. Eine Datenbank mit Foren-, Themen- und Beitrags-Tabellen, eine Nutzertabelle inkl. einfacher Berechtigungsstruktur. Kein Schnickschnack den man erst explizit deaktivieren muss, weil man ihn für den eigenen Anwendungsfall gar nicht benötigt. Durch diesen Minimalismus ist das Forum auf jedem Webspace extrem schnell in der Auslieferung von Seiten an die Besucher.

Für das Frontend wird ein Style bei der Installation bereits mitgeliefert, weitere stehen zum Download zur Verfügung. Das Backend (ACP genannt) ist aufgeräumt und gut sortiert. Sofort nach Installation kann man loslegen und sein Forum mit Themenbereichen füllen sowie weitere Berechtigungsgruppen für Nutzer anlegen.

Als Forenbetreiber muss man zur Nutzung des CBACK Forums kein Programmierer sein. Man kommt, wenn man Anpassungen nicht selbst vornehmen möchte, mit HTML, CSS, JavaScript oder PHP auch gar nicht in Kontakt. Und wenn man doch mal Unterstützung benötigt kann man sich an die Community oder den Support wenden.

Die Erweiterbarkeit

Das System ist durch Plugins extrem erweiterbar. CBACK selbst wie auch die Community stellen eine Vielzahl an Plugins zur Verfügung. Diese sind über das ACP per Upload einfach zu installieren. Anschließend stellen die meisten Plugins auch Konfigurationsmöglichkeiten zur Verfügung.

Meine eigenen CBACK-Plugins

Ich habe bereits vor Jahren damit begonnen das Forum durch community-spezifische Plugins zu erweitern – Plugins die nur von der Siedler 3 Community benötigt werden. Hauptsächlich beschäftigte ich mich in meiner Freizeit damit um mich weiterzubilden, neue Dinge zu lernen und vorhandenes Wissen anzuwenden und zu vertiefen.

Mit der Zeit wuchs aber mein Wunsch das was ich mache auch anderen Nutzern als unserer Community zur Verfügung zu stellen. Ich hatte Ideen für Dinge die unserer Community ohnehin niemand nutzt – und manche werden auch gar nicht wahrgenommen. Daher begann ich einzelne Plugins allgemeiner zu gestalten – z.B. ein Portal-Plugin, welches als Einstiegspunkt in das Forum dient. Oder ein Plugin zur Optimierung des von Smarty generierten Quellcodes. Eine Übersicht zu diesen Plugins findet ihr hier.

Kritik zum CBACK Forum

Durch meine intensive Arbeit an dem Forum haben sich bei mir kleinere Kritikpunkte aus Entwicklersicht gebildet die ich hier gerne dennoch erwähnen möchte:

  • Objektorientierter Ansatz nicht zu Ende gedacht
    Die von der Forensoftware genutzten Klassen stellen Daten größtenteils nicht als Objekte zur Verfügung sondern stellen selbst die Funktionalität inkl. Quellcode-Ausgabe zur Verfügung. Dadurch ist es etwas schwierig manche Bestandteile des Forums zu beeinflussen.
  • Verwendung von UNIX-Zeitstempeln
    Leider wird an allen Stellen im Forum mit UNIX-Zeitstempeln hantiert – und auch gerechnet. Ich versuche darauf schon seit langem zu verzichten zumal PHP mit DateTime() auch ein passendes Objekt zur Berechnung und Ausgebe bereitstellt – selbst in MySQL ist es locker machbar.
  • bereitgestellte Styles nicht flexibel genug
    Möchte ein Anwender z.B. eine Ausgabe im Frontend weg haben, muss er das Template per Hand anpassen. Es gibt leider an nur wenigen Stellen die Möglichkeit z.B. per Häkchen in den Einstellungen etwas ein- oder auszublenden.
  • Es ist nicht möglich PHP-Dateien des Forums per Cronjob aufzurufen. Das wird leider durch eine rein auf Web-Zugriff ausgerichtete Sicherheitsfunktion unterbunden.
  • UIKit in Version 2 als UI-Framework ist manchmal etwas schwierig in der Handhabung. Man verteilt wild viele Klassen an ein Element um dann doch nur einen kleinen Abstand erreichen zu wollen. Individuelle Sachen sind damit manchmal nur schwer umsetzbar.

Nach 2017 habe ich erneut meine private Webseite umgezogen. Diesmal bin ich jedoch von HostEurope weg zu ip-projects.de.

Was mich zu dieser Entscheidung führte? Hauptsächlich die Lust mal etwas Neues auszuprobieren, aber auch die Möglichkeit bei ip-projects einen NVMe-Server zu für mich günstigen Konditionen zu verwenden. Auch wenn ich privat natürlich keine so hohe Performance benötige, die NVMe ermöglicht, sehe ich das Hosting hier als Testballon für die Server der von mir mit betreuten Siedler 3-Community. Die Entscheidung dazu hängt jedoch dann nicht nur von mir ab.

Mein neuer Server ist ein Debian 10, wie immer mit ispconfig zur Verwaltung, und zusätzlich als Monitoring-System Zabbix. Damit überwache ich nun meinen eigenen Server sowie einen der Siedler 3-Community. In den ersten Tagen gab es da bereits erstaunliche Werte die ich ohne Zabbix nie gesehen hätte. Mehr dazu vlt. später.

Als Administrator stößt man immer wieder in Logfiles wie auch in Telefonaten auf Menschen, die ihre eigene E-Mail-Adresse nicht kennen oder nicht schreiben können. Einige Klassiker (natürlich anonymisiert):

  • irgendwas@gmail.de
  • irgendwer@googlemai.com
  • jemand@tonline.de
  • einr@freenet.de
  • mich@gibt.es.nicht

Was ist daran nun falsch fragen sich vermutlich manche?

Beispiel 1: Google Mail ist immer unter gmail.com oder googlemail.com erreichbar, aber nie unter gmail.de. Das ist fast schon der häufigste Fehler aller Google Mail Nutzer.

Beispiel 2: Da fehlt ein „L“ in dem Domainnamen. Ähnliche Schreibfehler machen manche sogar bei ihren eigenen Domains, die ihnen offenbar zu schwierig sind.

Beispiel 3: Hier fehlt ein „-“ im Domainnamen. Genau wie Beispiel 2 eine Form der Ungenauigkeit.

Beispiel 4: Um in meinen Beispielen in der Reihenfolge zu bleiben hätte hier „einer“ vor dem @ stehen müssen. Ein Klassiker. Dieser Fehler ist vor allem dann amüsant, wenn man seinen Vor- und Nachnamen dort stehen hat und diesen falsch schreibt.

Beispiel 5: Die Verwendung von nicht existierenden Domains. So etwas kann man auch als Spam ansehen.

Warum schreibe ich das eigentlich?

Jede falsch eingetragene E-Mail-Adresse in einem Formular in einer Webseite führt dazu

  • dass derjenige vermutlich gar nicht über seine angegebenen Kontaktdaten angeschrieben werden kann.
  • dass derjenige eine Online-Anmeldung gar nicht erfolgreich durchführen kann.
  • dass jede E-Mail, die das System an diese falsch geschriebene E-Mail-Adresse schickt in der E-Mail-Warteschlange des Servers landet. Das wiederum führt zu einer fehlenden Übersichtlichkeit in der Administration des Systems.

Natürlich sind vor allem die ersten beiden Punkte für diejenigen, die ihre E-Mail-Adresse offenbar nicht richtig schreiben können besonders ärgerlich. Ich sehe es aber auch aus Sicht eines Administrators, solche Angaben halten meine Arbeit auf, erschweren die Analyse von echten Problemen an Servers.

Fazit: bitte bitte schreibt eure E-Mail-Adressen richtig!

Hab mir mal den Spaß gemacht und einen großen Teil der Tipps von

https://www.keycdn.com/blog/google-pagespeed-insights-wordpress/

angeschaut und umgesetzt. Ausgangspunkt bei diesem WordPress hier waren 54 von 100 Punkten. Schon die Bearbeitung der ersten 2 Punkte der Liste (Bildoptimierung und Autoptimize) brachten es auf 90 von 100 Punkten.

Die weiteren Tipps (Google Analytics lokal ablegen etc.) habe ich weggelassen, da sie vor allem im produktiven Umfeld eher nachteilig sind. Nur um 100 Punkte bei PageSpeed zu bekommen muss man nicht essentielle Marketinginstrumente aushebeln ..

Eigentlich ziemlich simpel – man muss im Vhost des Apaches nur folgenden Code hinterlegen:

Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" env=HTTPS

Siehe: https://www.heinlein-support.de/blog/security/hsts-header-strict-transport-security-fuer-webserver-einrichten/

Herausforderung bei mir war nur, dass ich meinen Server mit ispconfig steuere. Dort muss man diese Eintragung in den Apache-Direktiven vornehmen. Und gleichzeitig auch dafür sorgen, dass die Webseite nur per SSL erreichbar ist.

Der Check hier bringt nun ein A+ 🙂

Hab mir mal die Zeit genommen und meinen alten Server gegen einen neuen ausgetauscht. Dabei habe ich auch gleich mal meine private Webseite – wie man sieht – auf einen ansehnlichen Stand gebracht 🙂

Beim Aufsetzen neuer Server verwende ich inzwischen gerne die Tutorials von howtoforge. Man muss nur die Kommandos kopieren, an einigen Stellen etwas anpassen – und fertig ist der Server. Ich brauchte z.B. auf Basis dieses Tutorials nicht mal 30 Minuten bis alles lief.

Der größte Aufwand ist dann die Projekteinrichtung darauf. Aber das ist ein anderes Thema 🙂

Seit einigen Jahren beteilige ich mich privat an der Weiterentwicklung der Siedler 3 Community. Dieses beinahe 20 Jahre alte Spiel wird immernoch von hunderten Spielern fast täglich gespielt – und die meisten spielen online gegeneinander. Die Community braucht dafür einen stabilen Server und einige Dienste, die das Spiel vereinfachen. In den letzten Jahren habe ich daher u.a. folgende Funktionen ergänzt:

  • eine neue MapBase für die Karten, die man spielen kann
  • Kommunikation der aLobby mit dem Server u.a. um Siedler 3 Maps automatisch runterladen zu lassen und Screenshots der Statistiken hochzuladen
  • neues Design für das Forum und die aLobby selber

Schaut doch mal vorbei 🙂 https://www.siedler3.net