Ankündigung

Einklappen
Keine Ankündigung bisher.

webrcon Control Panel f. Gameserver (Freizeitprojekt)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • webrcon Control Panel f. Gameserver (Freizeitprojekt)

    Einen wunderschonen an alle,

    Vor einigen Wochen fing ich an, mir ein neues Hobby im Internet zu suchen, um die wenige Zeit die ich Zuhause verbringe etwas entspannter zu gestalten. Ich fand ein Onlinespiel Namens "Counter-Strike" was ich in früheren Jahren schon mal gespielt hatte. Nun fand ich immer mehr gefallen daran und mietete mir einen Gameserver. Eine Website und einen Clan lies sich schnell finden. Viele Freunde und Bekannte aus meiner Umgebung fanden ebenfalls gefallen daran.

    Nun spielen wir jeden Montag, Dienstag und Sonntag abend "Counter-Strike". Aber nicht nur spielen ist die Devise, sondern auch den Gameserver mit viel Kompetenz zu steuern. Mit meinen relativ normalen Programmierkenntnissen in PHP und Co fand ich schnell die passende Lösung. Ich fand heraus, das "Counter-Strike v. Valve" sowie einige andere Spiele ein Serverprotokoll mit Möglichkeit diese über PHP zu steuern. Soweit so gut. Mein erster Gedanke belief sich darauf, anderen Zugang zum Server zu geben, ohne das diese das Serverpasswort (RCon Passwort) wissen sollten.


    Dies brachte mich dann dazu, ein entsprechendes Gameserver Control Panel anhand des RCon Protokoll zu programmieren. Die Teammitglieder haben also die Möglichkeit den Gameserver über das Webinterface in Echtzeit zu steuern ohne das Geheime Serverpasswort (RCon Passwort) des Serveradministrators zu kennen bzw. zu besitzen. Aufgrund dieser Grundlage, fing ich an das Control Panel zu programmieren. Mit Erfolg. Nun habe ich ein Control Panel für Gameserver erschaffen, worüber es nun möglich ist, den Gameserver zu steuern. Es gibt sicherlich viele andere ähnliche Scripte in PHP.

    Diese unterscheiden sich aber daran, das diese Scripte veraltete Klassen benutzen, die das ES2 Protokoll benutzen und diese meist keine Benutzerverwaltung haben, die den Zugang ohne RCon Passwort ermöglichen. web#RCon Gameserver Control Panel Mein Control Panel wird genau das machen. Es wird Benutzern (Subbenutzer) ermöglichen ohne RCon Passwort den Gameserver zu steuern. Als Serveradministrator des Gameservers steht bei der ersten Anmeldung mit dem RCon Passwort die Optionen zur Verwaltung von Subbenutzern zur Verfügung. Dies erleichert den Missbrauch in vielen Clans und Teammitgliedern. Zudem steht ein Sicherheitssystem, das stätig die Aktivitäten überwacht.

    Funktionen im groben Überblick:
    + Anzeige der derzeit verbunden Spieler auf dem Gameserver (Anzeige von: Ping, Spielerident, IP-Adresse/Port, SteamID, Frags (Erfolge), und Spielzeit)
    + Detailierte Statistiken mit Dynamischer Grafik
    + Kicken (mit oder ohne Grund (Kick-Reason)
    + Bannen (auf Zeit oder permanent) inkl. Bannliste
    + Serverkarte (Map) wechseln, Verwalten
    + Serverkonfiguration in Echtzeit übernehmen (ohne Serverneustart)
    + Konfigurationscenter mit ESL und War Config Generator mit über 1800 Serverbefehlen/Einstellungen (cvar cfg)
    + Konfiguration einlesen aus Textdatei (zb. server.cfg, cssdm.cfg usw.)
    + Chatsystem mit dem Spieler zwischen Gameserver und Web Control Panel (inkl. Protokoll)
    + Benutzerverwaltung im Control Panel inkl Subbenutzer (anhand einer eindeutigen Serverident, kein RCon Passwort nötig)
    + Server neustarten und stoppen
    + Runde, Karte neu einlesen/laden und neustarten
    + senden von RCon Komandos
    + ändern des Gameserver "Hostname" (Servername) in Echtzeit
    + setzen von Serverpasswörtern und switching zwischen Clan- und Publicserver
    + eingene Konfiguration hochladen/bearbeiten und löschen
    + unterstütze Spiele: Half-Life 2 Source Engine (Counter-Strike Source, Day of Defeat Source, Half-Life 2 Deathmatch, Team Fortress 2)

    + und viele weitere Funktionen


    Vorschau/Demo:
    Demo Screenshot 01: http://web4f.de/Demo::Screen::00
    Demo Screenshot 02: http://web4f.de/Demo::Screen::01
    Demo Screenshot 03: http://web4f.de/Demo::Screen::02
    Demo Screenshot 04: http://web4f.de/Demo::Screen::03
    Demo Screenshot 05: http://web4f.de/Demo::Screen::04
    Demo Screenshot 06: http://web4f.de/Demo::Screen::05
    Demo Screenshot 07: http://web4f.de/Demo::Screen::06
    Demo Screenshot 08: http://web4f.de/Demo::Screen::07
    Demo Screenshot 09: http://web4f.de/Demo::Screen::08
    Demo Screenshot 10: http://web4f.de/Demo::Screen::09
    Demo Screenshot 11: http://web4f.de/Demo::Screen::10
    Demo Screenshot 12: http://web4f.de/Demo::Screen::11
    Demo Screenshot 13: http://web4f.de/Demo::Screen::12
    Demo Screenshot 14: http://web4f.de/Demo::Screen::13
    Demo Screenshot 15: http://web4f.de/Demo::Screen::14
    Demo Screenshot 16: http://web4f.de/Demo::Screen::15
    Demo Screenshot 17: http://web4f.de/Demo::Screen::16
    Demo Screenshot 18: http://web4f.de/Demo::Screen::17
    Demo Screenshot 19: http://web4f.de/Demo::Screen::18
    Demo Screenshot 20: http://web4f.de/Demo::Screen::19
    Demo Screenshot 21: http://web4f.de/Demo::Screen::20
    Demo Screenshot 22: http://web4f.de/Demo::Screen::21
    Demo Screenshot 23: http://web4f.de/Demo::Screen::22
    Demo Screenshot 24: http://web4f.de/Demo::Screen::23
    Demo Screenshot 25: http://web4f.de/Demo::Screen::24
    Demo Screenshot 26: http://web4f.de/Demo::Screen::25
    Demo Screenshot 27: http://web4f.de/Demo::Screen::26
    Demo Screenshot 28: http://web4f.de/Demo::Screen::27
    Demo Screenshot 29: http://web4f.de/Demo::Screen::28
    Demo Screenshot 30: http://web4f.de/Demo::Screen::29
    Demo Screenshot 31: http://web4f.de/Demo::Screen::30

    Demolink: http://web4f.de/


    Das ganze Projekt wird demnächst in die Finale Runde online gehen. Wenn es soweit ist, wird dies hier im Thread veröffentlicht. Gerne suche ich zur Unterstützung für Erweiterung, Designs und Tipps engagierte User. Vorschläge und Diskussionen sind hier gerne erwünscht.

  • #2
    Funktioniert das nur für CS1.6? Dachte das stirbt so langsam aus ...

    Kommentar


    • #3
      Also was Valve, die Community und Source RCON angeht würde ich ganz unten anfangen und die RCON-API-Klassen für PHP neu schreiben, die sind fern ab vom Schlag ( PHP 4.x/5.0 ) und unhandlich.. Das dann gesondert als Projekt ins Netz werfen und verbessern / erweitern lassen; ist das durch darauf ein gutes, gut durchdachtes und erweiterbares Panel aufbauen..

      Optisch sind die Screens - Naja - Nicht meine Vorstellung von schön, aber das ist bekanntlich Geschmackssache. Ich würde da sicher eine Solide Bootstrap-UI nutzen oder - da das Ding ja vornehmst von Administrations-DAUs und Gamern verwendet werden soll - ein entsprechendes Gaming-Design bspw. nach Valve Steam Optik verpassen..
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #4
        Zitat von Flor1an Beitrag anzeigen
        Funktioniert das nur für CS1.6? Dachte das stirbt so langsam aus ...
        Zitat von web4fde Beitrag anzeigen
        unterstütze Spiele: Half-Life 2 Source Engine (Counter-Strike Source, Day of Defeat Source, Half-Life 2 Deathmatch, Team Fortress 2)
        ACHTUNG!!! SIGNATUR!!!
        PHP-Code:
        var_dump($gehirn); exit; 
        0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

        Kommentar


        • #5
          Zitat von tr0y Beitrag anzeigen
          Optisch sind die Screens - Naja - Nicht meine Vorstellung von schön, aber das ist bekanntlich Geschmackssache. Ich würde da sicher eine Solide Bootstrap-UI nutzen oder - da das Ding ja vornehmst von Administrations-DAUs und Gamern verwendet werden soll - ein entsprechendes Gaming-Design bspw. nach Valve Steam Optik verpassen..

          Na sicher, kommt noch alles. ich habe ein Templatesystem das man wie bei anderen Blogs/Foren auch die Templates selber anpassen/ersetzen kann.
          Zu den Klassen für das Rcon Protokoll: Es sind zum größtenteils selber geschriebende Klassen und viele Erweiterung anderer Klassen die durchaus nur auf Richtung PHP 5 gehen.

          Das Gesamte Panel wurde in PHP 5 geschrieben. Ich bin zwar nicht fortgeschrittener PHP'ler, aber ich kann durchaus 70% der Sprache. Mein enzigtes Hinderniss ist RegEx und Co.

          Kommentar


          • #6
            Die Bilder gehen nicht mehr :/

            Kommentar


            • #7
              Zitat von Evolutio Beitrag anzeigen
              Die Bilder gehen nicht mehr :/
              Geht wieder. Bilder können jetzt wieder betrachtet werden.

              Kommentar


              • #8
                Update: Hier eine Demo dazu: https://www.web4f.de/index::login:emo

                Kommentar


                • #9
                  - Unterstrichener Text suggeriert Links. Es ist verwirrend dann drüberzufahren und zu merken, dass es nichts zu klicken gibt. Mach Überschriften lieber Fett und in anderer Farbe, aber nicht unterstrichen (gleiches gilt für den footer, viele formulare und eigentlich die gesamte Oberfläche)
                  - Was sollen die Doppel-Doppelpunkte in der URL? Benutz slashes und bleib REST-konform, sieht einfach dämlich aus so

                  Ansonsten sehr solide. Sieht gut aus.
                  [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                  Kommentar


                  • #10
                    Also der W3C-Validator sagt mir alles andere als das, ApoY2k.

                    @TE: Gewöhn dir besser HTML5 an. Trenn das JS aus dem HTML ( jQuery ). Und halte dich an den Standard wenn du schon einen DOCTYPE definierst. Ich empfehle außerdem auf RESTful zu setzen. Derweil du nicht-reguläre Seperatoren für die URL nutzt (, die deine URL untypisch / befremdend wirken lässt.
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar

                    Lädt...
                    X