Beiträge von Tion

    @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 ;)

    Warum fragen mich das alle? xD Naja, mal sehen dass ich mich demnächst dran setze, nur bin ich dieses Wochenende mal wieder in England...

    Darf ich fragen, was daraus geworden ist ? :whistling:


    @Punchinelo: Versuch es erst mal selber, guck dir vll ein paar Tutorials an und schreibe selber Code - ich zumindest kann mir Sachen durch letzteres wesentlich leichter einprägen und Zusammenhänge verstehen + du kannst selber auch ein bischen rum experimentieren und vom ursprünglichen Abweichen :thumbup:

    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':

    Meiner Meinung siehts Optisch gut und benutzerfreundlich aus.
    Es ist halt ein Normales (U)CP.

    Mir ist es zu dunkel ( finde ich die Aufteilung gut gemacht ), stimme sonst zu.


    Bau kein Forum ein. Hatte ich bei einem alten Projekt im CP, Selfmade, intiutiv, zugeschnitten aufs CP. Es wurde gehasst und alle sagten, lieber WBB3 ;)


    Responsive ? ;)

    Wollte ich nur mal anmerken :D Nich das sein nächster Post ist das er sich ausgesperrt hat :D

    Mehehe :D


    Code
    iptables -A INPUT -p tcp -m limit --limit 2/s --limit-burst 50 -j ACCEPT

    Erlaubt 50 Zugriffe pro IP pro Sekunde. Der Traffic besteht zwar immer noch, aber die Leute kommen nicht mehr durch deine Wohnungstür. Je nachdem, wie Breit dein Flur ist, ist das natürlich nur effektiv, hilft aber, wenn deine Wohnung sowieso recht klein ist
    Edit: Nur TCP, kein UDP

    Nur mit PHP ist es nicht möglich. Für Streams gibt es mehrere Ansätze:


    - Du nimmst einen Player, der Streams unterstützt ( VLC ? ) und "schneidest" die Musik mit PHP ( ordentlich Arbeit )
    - Du schneidest die Musik in viele kleine Stücke, die du per Javascript abspielst ( der Stream ist dann aber Zeitverzögert UND es ist ordentlich Arbeit )
    - Du setzt dir auf einen vServer / ... einen Streamserver auf und bindest ein Flash-Object / Java-Applet in deiner Webseite ein ( wird mobil schlecht unterstützt )


    Denken musst du dabei immer an GEMA etc, die wollen auch was vom Kuchen abhaben.


    Webradios setzen online übrigens immer auf eine Mischung von 1&2, M2O hat zB einen Streamplayer, der so tut, als würde er eine Audiodatei über einen Webserver anbieten. Auf der Webseite liegt dann ein Flash-Applet, was die Datei abspielt während sie "heruntergeladen" wird, alternativ kann man das auch mit VLC machen ;)

    Sollte es theoretisch nicht, wobei ich bei Windows schon einiges gesehen habe :D


    Stop Code 116 sagt, dass WatchDogs einen „Bug“ in deinen Treibern gefunden hat und versucht, sie zu resetten. Das schlägt fehl und bevor die Treiber dir alles zerschießen gibt es einen BSOD.


    Wenn nicht, kannst mich einfach anzitieren ( Tion: - Doppelpunkt nicht vergessen ;) )

    Mach mal Start > „regedit“ > Rechtsklick > „Als Administrator“
    Dann links in folgenden Pfad:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Watchdog\Display\


    Rechtsklick > Neu > DWORD


    Name: BreakPointDelay
    Wert: 250


    Und dann mal testen, wenn nach etwa 30 Minuten SA:MP / ... nichts passiert ist, buggt WatchDogs bei dir nur ein bisschen rum und mit dem „Patch“ sollte sich das erledigt haben ;)

    FAQ:
    - An der Hardware gebaut ?
    - An der Software gebaut ?
    - Wie lange ?
    - Wie oft / Tag ?


    Häufige Probleme:
    - Treiberkonflikte
    - Hardwareinkompatiblität
    - Hardware kaputt


    Tipps, damit wir helfen können:
    - Irgendwo muss auf dem blauen Bildschirm eine Zeile mit nur großen Buchstaben stehen, oft etwas über der Mitte ( zb „DRIVER_NOT_LESS_OR_EQUAL“ ). Das brauchen wir.

    Das ist exakt das, was wir wollen.


    Nimm mal den Stock bitte so: stock Speichern(playerid){
    print("1");
    if(Spieler[playerid][eingeloggt] == 1)
    {
    print("2");
    new query[250];
    format(query,sizeof(query),"UPDATE accounts SET level='%i',admin='%i',pfandflaschen='%i',rucksack='%i' WHERE Username='%s'",GetPlayerScore(playerid),Spieler[playerid][admin],Spieler[playerid][pfandflaschen],Spieler[playerid][rucksack],Name(playerid));
    print("3");
    mysql_function_query(dbhandle,query,false,"","");
    print(query);
    } else print("Nicht eingeloggt");
    return 1;
    } Und guck dann mal, wie weit er kommt ;)


    Edit: @Andrzejxy': :love: