my-webi.de Gameserver Hosting-Panel

  • my-webi.de Server-ControlPanel


    Hey alle zusammen,


    wir möchten euch heute etwas zeigen, an dem wir schon etwas länger arbeiten, und von dem wir denken, dass es in den nächsten Tagen einsatzbereit ist.


    History
    Wer mich schon etwas länger kennt, weiß, dass ich mich schon an viele Projekte gewagt habe - als Beispiel mal das GF-UCP mit DarthXela, ein verdammt kompliziertes und hässliches Server-Controlpanel ( das ist nicht alles, ich will den Text nur nicht strecken - mehr in meinem Profil ;) ).
    Das Problem der meisten Projekte war, dass es entweder für Laien recht kompliziert war, diese einzurichten, oder, dass ich es nicht verkaufen wollte. Guckt man sich in der Szene der Webinterfaces für SA:MP um, gibt es auch entweder nur halbe, schlampige oder überteuerte Panels
    Da ich sowieso in Skype von mehreren Personen vollgelabert werde, sie möchten eines der Panel unbedingt kaufen, habe ich beschlossen, dass ich mich an eines setze, dass den Fokus primär auf die Bedinbarkeit des Benutzers setzt, trotzdem aber nicht auf die Features eines teuren Controlpanels verzichten muss.
    Damit der Entwicklungsprozess etwas flüssiger läuft, haben ich ein paar kompetente Freunde ins Boot gezogen, die mir bei der Entwicklung helfen und evtl später mit Kundensupport bieten.


    Konzept
    Geplant ist, dass wir das CP für jedermann billig (kostenlos?) zugänglich auf unserem Server hosten. Sollte zB ein Sponsoring das Controlpanel selber hosten wollen, können sie gegen eine "Entwicklungshilfegebühr" eine kodierte Version ( IonCube ) bekommen, gegen eine etwas höhere "Dekodiergebühr" auch den Source - das Prinzip musste leider so gewählt werden, eine andere Art der Vorbeugung der Piraterie ohne drastische Erhöhung des Preises fanden wir leider nicht.


    Features
    Da das Controlpanel erst in Entwicklung ist, ist diese Liste noch nicht vollständig. Grau gefärbte Einträge sind noch nicht vollständig fertig

    • Root-Server administration
      • Hinzufügen von Servern
      • 1-Click-Installer ( das WebI installiert alle benötigten Packete selber und richtet sie ein )
      • Anderen Benutzern Zugriff auf eigene Server vergeben
      • 1 Benutzer darf mehrere Server haben
      • 1 Server darf mehrere Benutzer haben


    • SA:MP-Server
      • 1-Click-Installation auf allen Servern, auf die man Zugriff hat
      • Start / Stop / Restart direkt im Webinterface
      • Einstellen der kompletten server.cfg ( außer Port )
      • Online Filemanager, Upload und Download
      • Erstellen von FTP-Benutzern
      • Ansehen der server-logs, Fehlerquellen direkt im CP ermitteln
      • Version-Switch - ist der Server offline, kann die Version des Servers geändert werden
      • Anderen Benutzern den Zugriff auf den Server erlauben
      • 1 Benutzer darf mehrere SA:MP-Server haben
      • 1 SA:MP-Server darf mehrere Benutzer haben


    • Support-System
      • Support-Tickets m. Email-Benachrichtigung
      • Dynamisches FAQ-System


    Die Liste wird sich im Laufe des Laufes verlängern


    Screenshots 1
    Eine kurze Pause, in der man Screenshots begutachten kann [tabmenu]


    [tab='Root-Server']
    [subtab='Hinzufügen eines Root-Servers']

    [subtab='Installieren und Einrichten benötigter Pakete']

    [subtab='Statistiken zu einem Server']

    [/tabmenu]

    Ab jetzt kommt technischer Kram, wer sich das nicht antun möchte, kann also zu Screenshots 2 scrollen



    Technik
    Das Controlpanel ist komplett responsive, jede Seite passt sich also der aktuellen Bildschirmauflösung an. Ich kann es optimal auf dem Smartphone, dem Tablet oder dem Computer / Laptop betrachten, die Webseite zoomt mit und die Elemente schieben sich passend hin ( Bootstrap ).
    Rechen- und zeitintensive Aufgaben, wie etwa das Installieren von Gameservern, wird per AJAX ( jQuery ) realisiert - der Browser sendet also im Hintergrund eine Anfrage an den Server und wartet auf eine Antwort, ohne, dass der Benutzer unter Ladezeiten der kompletten Webseite leiden muss.
    Der Code ist größtenteils OOP gehalten und arbeitet mit Controllern, bei denen Seiten und Querys angefragt werden. Ein Hooken einiger Sachen ist ebenfalls möglich, dazu gleich mehr.
    Aktuell findet eine Umrüstung von statischem Text zu Language Vars statt. PDO statt mysql oder mysqli.
    Verbunden wird mit SSH2, die einzelnden Server sind voneinander isoliert.


    Hooking
    Als Abnehmer einer eigenen Kopie sollte es möglich sein, sich das Controlpanel etwas weiter an die eigenen Wünsche anzupassen. Das ist es auch, denn sowohl CSS- als auch Javascript-Dateien sind unverschlüsselt und es gibt auch die Möglichkeit, sich in den Code zu klinken. In den Code zu klinken ? :huh:
    Es wird ein selbstentworfenes Pluginsystem genutzt, bei dem man eigene Klassen in einen Ordner schiebt. Das Controlpanel liest diesen Ordner aus und ruft in diesen Klassen statische Methoden auf, wenn das entsprechende Event passiert ist.
    Aktuell wird das ganze noch etwas ausgebaut, damit es auch möglich ist, Sachen von den Plugins wieder auszulesen, doch das hat erst mal niedrigere Priorität.
    Folgende Hooks sind geplant:

    • Logins ( erfolgreich / fehlerhaft )
    • Erstellen von Benutzern
    • Hinzufügen von Root-Servern
    • Rechtevergabe für Root-Server
    • Installieren von SA:MP-Servern
    • Start / Stop / Restart von SA:MP-Servern
    • Einstellen von SA:MP-Servern
    • Upload- oder Download von Dateien von SA:MP-Servern
    • Erstellen von FTP-Benutzern
    • Ändern der Version
    • Parsen einer AJAX-Anfrage
    • Parsen einer Seitenanfrage
    • Interner Fehler
    • Abfrage von Sprachvariablen

    Auch wieder nur einer Liste und es müssen nicht alle Features gehookt werden, fehlen welche, ist das unserem PluginLoader auch egal.


    Sprachvariablen
    Eine der zeitaufwendigsten Sachen, an der wir gerade arbeiten, sind die Sprachvariablen - nicht etwa, weil es so kompliziert ist, sondern, weil es lange dauert, die kompletten "Templates" selber zu durchforsten und alle Variablen zu kopieren.
    Danach wird das ControlPanel mehrere Sprachen sprechen können - Deutsch, Englisch, Russisch (?), Spanisch (?) und Französisch (?).
    Gibt es Interesse an einer anderen Sprache, werden wir nach einem Dolmetscher bezahlen, der sich entweder mit einem Copyright-Eintrag oder einer geldlichen Vergütung überreden lässt :whistling:


    Screenshots 2
    Zum Ende dann die letzten Screenshots: [tabmenu]


    [tab='SA:MP Setup']
    [subtab='Formular zum Erstellen eines SAMP-Servers']

    [subtab='Auszug aus dem Server-Setup']

    [subtab='Vorversion des Filemanagers']

    [subtab='Versionswechsel']

    [/tabmenu]

    Mehr werden natürlich mit weiteren Versionen folgen :whistling:


    Projektstart
    Wann das Projekt starten wird, wissen wir noch nicht, vermuten aber in den nächsten Tagen, hängt stark davon ab, wie ihr auf uns reagiert und wie schnell wir wieder Koffein bekommen, um es zu Code zu verarbeiten :D


    Schlusswort
    Da das Controlpanel für euch Gedacht ist, wäre es schön, wenn ihr auch darauf reagiert. Wir freuen uns dabei sowohl über Lob als auch über (gerechtfertigte) Kritik.
    Toll würden wir es finden, wenn ihr auch noch begründet, damit wir wissen, was genau ihr gut/schlecht findet und das Prinzip beibehalten/verwerfen können.
    Sagt, was ihr denkt, fragt, was ihr wissen wollt, es gibt keine dummen Fragen, nur dumme Antworten - und letzteres nicht von mir ;)


    PS: Ein Post sagt mehr als 1.000 Likes, gilt auch für @Andrzejxy':

    Webdesign (bevorzugt backend) • Android-Development • node.js • Pawn • Linux
    Reverse Engineering • Social Engineering • Cryptoanalyse • PGP-Key
    Referenzen[color=#696969]Mein Facebook-Acc

    Einmal editiert, zuletzt von Tion () aus folgendem Grund: Tabmenü statt Expander, zweiteres scheint zu buggen -_-

  • Also mich macht die Vorstellung zu richtig horny. :D
    Klasse. ;)
    Aber wie beavis fragen ließ würde ich auch gern wissen, ob man das ganze mit Teamspeak erweitern könnte. :3

  • @Shain: / Beavis: Teamspeak 3 - ich kann mich darin einarbeiten, das Framework scheint ja OpenSource zu sein, würde dann aber erst mal eine NPL beantragen, damit ich überhaubt mehrere Server nutzen kann :D
    Ja, mache ich :D


    Edit, nein, nicht nur für SA:MP, später auch andere Dedicated Gameserver, für Vorschläge sind wir offen ;)

    • Offizieller Beitrag

    wir möchten euch heute etwas zeigen, an dem wir schon etwas länger arbeiten, und von dem wir denken, dass es in den nächsten Tagen einsatzbereit ist.

    Erst komplett lesen :)


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Schöne Vorstellung freue mich schon es zu testen :)
    Viel Erfolg noch

    Dankeschön für das Feedback :)


    Download ? :D

    Wird eine Mischung aus kostenloser Service und kaufen :D


    Erst komplett lesen :)

    Ich hätte auch keine Lust, alles zu lesen, aber ich weiß ja, was drinne steht :D

  • Schaut echt super aus! Das Design ist schön gestaltet und wirkt übersichtlich.
    Mein Vorschlag für GameServer Verwaltung wären noch folgende Games: Counter-Strike Source, Counter Strike GO etc diese gängigen Ego-Shooter oder z.B. Minecraft.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Schaut echt super aus! Das Design ist schön gestaltet und wirkt übersichtlich.

    Dankeschön :D


    Mein Vorschlag für GameServer Verwaltung wären noch folgende Games: Counter-Strike Source, Counter Strike GO etc diese gängigen Ego-Shooter oder z.B. Minecraft.

    Ich werde mich da mal erkundigen, zufälligerweise kenne ich da jemanden, der sich zumindest mit CSS auskennt.
    Und Bukkit kenne ich selber noch aus alten Zeiten - ist das noch aktuell oder gibt es da schon wieder etwas "besseres" ? :D


    Vlt Auch noch Cubeworld, MTA

    Cubeworld besitze ich selber nicht, da ziehen wir mir dann auch jemanden ran.
    MTA wird dann auch mit gemacht :)


    Mache es doch Kostenlos :3

    Problem ist, dass wir durch das Hosting und die TLD Unkosten haben. So ein vServer ist nicht gerade billig, primär wird das Geld natürlich dann genutzt werden, um alles zu bezahlen.
    Übrigens machen und haben eigentlich alle ( außer mir -_- ) ihren Führerschein, bei mir harkt es bei der Finanzierung, weshalb mein Stück vom Kuchen da rein fließt - also auch ein guter Zweck, mehr oder weniger :love:

  • Wenn du willst kann ich dir bei Steamservern (also csgo, css, hl2,tm2) helfen. :)
    Habe selber ein kleinen CSGO Server ist bisschen kompliziert aber egal^^

    Mir reicht die Information, ob sie ohne Steam Konsole laufen :D
    Würde sie dann, ähnlich wie die SAMP-Server, einfach packen und hosten ;)


    Bukkit, ich finde das hMod / Canarymod besser ist, aber naja.

    hMod existiert noch ? ^^
    Ach, damn it, ich lasse noch mal darin einarbeiten - es gehen in meinem System ja auch mehrere Server für ein Typ Gameserver, man könnte also beides als „Minecraft“ anbieten.


    Übrigens hat das CP unkompressioniert gerade die 100 Mbit überschritten - das enthält Serverfiles, CS-Sheets, Javascript, Grafiken und PHP/HTML-Code. Falls es wenn interessiert ^^
    Mit Kompression sind es dann vielleicht 60 / 70, wenn ich wirklich alles verkleinere ;)


    Edit: Update


    Wir planen gerade die Benutzergruppen und haben uns auf ein Konzept geeinigt, für das wir kurz Feedback haben wollen.


    Der Zugriff auf SA:MP-Server sollte in 4 "Schritten" geschehen:


    Start & Stop für Supporter / ..., falls der Server abschmiert können sie ihn wieder starten
    Subuser für Moderatoren, die den Server mit Ausnahme von den Zugriffsberechtigungen den Server wie ein zahlender Kunde verwalten können
    Client für zahlende Kunden, die ( bis auf maxplayer, maxnpc und port ) Vollzugriff auf den Server haben
    Admin für Administratoren, die alles bis auf den Port verwalten können


    Dadurch haben wir die 3 "typischen" Szenarien abgedeckt:

    • Ein Clan mit verschiedenen Stufen
    • Sponsoring, bei dem man den Benutzer die Anzahl der Benutzer wählen lassen darf ( man gibt dem Benutzer einfach fulladmin )
    • Sponsoring / Hosting mit fester Anzahl an Ports ( man gibt dem Benutzer "Client", wenn er anderen Zugriff erlauben darf, oder "Subuser", wenn er anderen keinen Zugriff erlaben darf"

    Natürlich habe ich noch einen Screenshot ;)


    Hinweis: Mein Testbenutzer hatte nur "Client"-Berechtigung, kann also keine neuen Benutzer mit "Admin"-Berechtigung erstellen. Logisch, sonst könnte man das ja bypassen :D

    Eine "echte Funktion" wird noch eingetragen, aktuell ist es nur das Layout und Anzeige der Daten, noch kein Eintragen :thumbup:

  • Gefällt mir,
    Bootstrap finde ich sowieso geil und die Idee ist super obwohl schon einige solcher Projekte existieren jedoch sind die Meisten einfach falsch vermarktet.
    Hoffe ihr/du machst das richtig ;)


    Wenn ihr/du noch einen im Team braucht währe ich gerne dabei.


    Sonst Toy Toy Toy ;)

    mfg
    Ali ;)

  • Gefällt mir,
    Bootstrap finde ich sowieso geil und die Idee ist super obwohl schon einige solcher Projekte existieren jedoch sind die Meisten einfach falsch vermarktet.
    Hoffe ihr/du machst das richtig

    Hoffen wir auch, wir versuchen dabei, möglichst überall möglichst perfekt zu sein. Besonderer Wert wird auf „Bedienbarkeit“ ( möglichst einfach, trotzdem elegant ), „Funktion“ ( möglichst viel möglichst übersichtlich und trotzdem nicht überladen ) und „Performance“ ( Seitenaufbau unter 0.5s, außer per AJAX nachgeladene Teile ) gesetzt.
    Sicherheit & Support muss ich nicht sagen, dass ist selbstverständlich ^^


    Wenn ihr/du noch einen im Team braucht währe ich gerne dabei.

    Glaube wir sind jetzt schon zu viele, aber danke, sollten wir mehr Leute brauchen, weiß ich Bescheid ;)



    Echt nice, Aber download oder so gibt es noch nicht oder? Würde es echt gerne mal testen.


    Wird bald ein öffentlicher Test gestartet, keine Sorge.
    Ob ich es in der Testphase zum Download anbiete... glaube nicht, aber mal sehen :)

  • Mir reicht die Information, ob sie ohne Steam Konsole laufen
    Würde sie dann, ähnlich wie die SAMP-Server, einfach packen und hosten


    Der Steamclient muss mitgeliefert werden. Wegen Bibliotheken und Updates. Man muss sich aber nicht einloggen wenn man kein Updaten machen will ;)
    Die Updates würde ich den User selbst machen lassen über SSH, denn dafür brauch man ein Steamlogin


    Bedanke dich bitte, wenn du den Beitrag als hilfreich empfandest!



  • Sobald ihr die Dateien (egal zu welchem Preis) zur Verfügung stellt, wird sich das System nach kurzer Zeit als "Cracked" auf entsprechenden Plattformen wiederfinden...
    Dabei ist es auch egal, ob ihr die Dateien mit IonCube verschlüsselt oder nicht, da mit IonCube verschlüsselte Dateien auch wieder entschlüsselt werden können.
    - Mir wurde vor geraumer Zeit ein "Cracked"-TekBase "angeboten" , das ebenfalls mit IonCube verschlüsselt ist.


    Mein Tipp an euch:
    Behaltet die Dateien brav bei euch, sonst handelt ihr euch damit nur Ärger ein.