Code Monkey home page Code Monkey logo

developer's Introduction

Easy-WI.com Links

What is Easy-WI?

First of all Easy-Wi is a Web-interface that allows you to manage server daemons like gameservers. In addition it provides you with a CMS which includes a fully automated game- and voiceserver lending service. The development goal is always to automate as far as possible. The daily work which requires an administrator should be reduced to a minimum.

Requirements

  • Web installation requires PHP 7.4 or later where the extensions openssl, json, hash, ftp, SimpleXML, curl, gd, PDO, pdo_mysql and fopen are installed
  • The gameserver module requires sudo, cron, proftpd and the bash shell at the game root
  • The Voicemodule works best with a linux based TS3 server

Who is the target group for Easy-WI?

No matter if you are a commercial entity that is providing hosting solutions, are sponsoring (game)server daemons, organize a LAN party, need to manage clan server, or are a private individual, Easy-WI is meant for everybody.

Which functions and modules are available?

What drives the development is the goal to automate all processes. Listing all available functions would result in an exploding thread. So here is the summary with the main features:

  • Mobile ready. The default template has been made with Twitter Bootstrap and is responsive. That way Easy-WI becomes a Web App which can be easily used with a mobile or tablet.
  • Multilingual. Currently supported are English, Danish, Italian, and German. The text is maintained with XML files.
  • We have a strict separation between PHP modules and HTML views. In case a view is missing in your custom templates the default will be used as fall-back.
  • Gameserver management is nearly fully automated. All you need to do is updating add-ons at your central image server from time to time. After that the deployment to the individual servers is automated.
  • The same applies to TS3 voiceserver.
  • In addition to a TS3 server you can manage TSDNS either as standalone, or together with the TS3 master.
  • Game- as well as voiceserver can be monitored. Server offline? To many slots? Password is missing at a private server? Branding removed from the server`s name? Easy-WI will correct that for you.
  • Already existing game- and voice servers can be imported across platforms into an existing server in Easy-Wi.
  • Reseller Accounts can be setup.
  • All modules can be used with a REST API as well. That way you can include Easy-WI in already existing processes given with a shop like WHMCS or Magento.

Programmer and Supporter wanted

We are looking for volunteer/free programmers who enjoy supporting us.

What we offer:

  • a super helpful community
  • a nice team
  • Fun at work and that without an appointment print

developer's People

Contributors

abeck-rub avatar aeon-jan avatar alix1383 avatar ayushrakesh avatar bara20 avatar dathosting avatar deepnorth avatar fv-chris avatar globefreak avatar grillguth avatar jumpmanjunior avatar justman100 avatar lacrimosa99 avatar larsrusteberg avatar mrc4tt avatar naoestu avatar nexus633 avatar p4sca1 avatar pandry avatar patricknasci avatar pitbullol avatar pr0mises avatar prajjwalyd avatar ragnos avatar snake4life avatar thaddelice avatar triopsi avatar twiddern avatar ulrichblock avatar xmgamingmaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

developer's Issues

Update BUG

Wenn ich von Version 3.70 auf 4.00 updaten will kommt nur diese ausgabe : Array

Addressat für Mails im SMTP Modus vertauscht.

Mitgeteilt von Nutzer:
Ich habe SMTP in dem Email Einstellungen gewählt, das geht auch alles soweit, nur das die Emails von dem Kunden an die Email im Interface geschickt wird die man bei SMTP angeben hat. Wenn ich bei verschiedenen Kunden Passwort vergessen mache, wird die Email über den SMTP Server von der Kundenemail an die eine im Interface geschickt also:

[email protected] -> support
[email protected] -> support

TS3 Reseller

Mich würde es erfreuen wenn die Möglichkeit gebe TS3 Server als Reseller an zu bieten. Unzwar das ich einen TS3 Master Server mit beschränkter Slots Zahl anbieten kann, der Reseller selber die Slots auf den Servern verteilen kann.

  • Master muss Reseller zugewiesen werden.
  • Dieser Darf ihn nur nutzen, aber nicht bearbeiten können.

Infobubble SteamApi Keys

Wir haben für die Werte Workshop Collection und Steam Webapi Authkey noch 2 Infobubbles eingefügt. in denen auf die Valve Wiki Seiten mitgelinkt wird, da viele Kunden immer wieder Nachfragen dazu hatten. Das hat die Nachfragen deutlich reduziert. Die Texte dafür schicken wir dir im Anhang mit - wäre unserer Meinung nach eine kleine, aber nette Verbesserung.

Tabellen aus dem Config Edit entfernen

Im Configs Menü am besten auch die Tabelle für Einfach und Full entfernen und nur die Buttons im gleichen Stil wie in der GS Übersicht anzeigen für den Modus, der verfügbar ist.

New Theme based on Bootstrap3

We should not rely on long term support of twitter bootstrap 2.3.2. v3 is mobile first while 2.3.2 has added mobile support as optional feature.

  • As a first step create a new optional theme bootstrap3
  • ensure all forms are aligned. All should have the same with in total and their input forms as well.

Importer/Sync für andere Systeme

um cURL im READ erweitern und fsockopen nur als Fallback

  • ? Gruppen (muss um externalID erweitert werden) ?
  • User inklusive MD5 übernehmen
  • Typ User übernehmen (admin/user)
  • gibt es eine modified time? gibt es eine PW modified time? Logs?
  • Vertreter/Subuser inklusive MD5 übernehmen
  • gibt es eine modified time? gibt es eine PW modified time? Logs?
  • selbe Tabelle, oder, wie bei easy-wi?
  • ? Wenn Perm Group im anderen System auch EW, ansonsten default ?
  • dedicated importieren (externalID fehlend?) (Unterscheided Teklab zwischen Userserver bzw. Adminserver?)
  • Job Einträge
  • Gameserver als stopped importieren
  • Job Einträge, die migrieren
  • Voice Master importieren
  • Checken ob für userroot, oder globale
  • Voiceserver als running importieren
  • Job Einträge, die migrieren und TSDNS ggf. ergänzen.

Bug im FastDL Modul

Wollt euch bescheid geben, dass das FastDL Modul nicht mehr funktioniert.

WI Version: 4.00

Der Webserver sendet keinen Befehl an denn Root, um denn FastDL abgleich zu starten.

MfG

Refactor

  • $ui an Stelle von verbliebenen $_POST, $_GET, $_SERVER
  • $querystring rauswerfen
  • verbliebene Vars zu $querystring suchen und durch ui ersetzen
  • in der settings.php definierte vars wie $start entfernen und in Dateien durch $ui-> Aufrufe ersetzen
  • whitespaces beim Zusammensetzen von Strings, if Cases, Arrays und definieren von Variablen
  • CRUD Template mit verbesserten Error Reporting an den User und besserem DRY (do not repeat), wie bei #61 umgesetzt

GNU GPL v3

Kommentar in jede Datei schreiben mit Verweis auf Urheber und GNU GPL v3

Bearbeiten von TS3 Servern im Usermodul erweitern

<virtualserver_antiflood_points_needed_command_block>Anti-Flood: Punkte um Befehle zu blockieren</virtualserver_antiflood_points_needed_command_block>
<virtualserver_antiflood_points_needed_ip_block>Anti-Flood: Punkte um IP zu sperren</virtualserver_antiflood_points_needed_ip_block>
<virtualserver_antiflood_points_tick_reduce>Anti-Flood: Reduzierte Punkte pro Tick</virtualserver_antiflood_points_tick_reduce>
<virtualserver_hostbanner_gfx_interval>GFX Interval</virtualserver_hostbanner_gfx_interval>
<virtualserver_hostmessage_mode>Hostnachricht Modus</virtualserver_hostmessage_mode>
<virtualserver_hostmessage_mode_0>Keine Nachricht</virtualserver_hostmessage_mode_0>
<virtualserver_hostmessage_mode_1>Nachrichten im Log zeigen</virtualserver_hostmessage_mode_1>
<virtualserver_hostmessage_mode_2>Nachricht als Fenster zeigen</virtualserver_hostmessage_mode_2>
<virtualserver_hostmessage_mode_3>Nachricht als Fenster zeigen und Verbindung trennen</virtualserver_hostmessage_mode_3>
<virtualserver_needed_identity_security_level>Benötigte Sicherheitsstufe</virtualserver_needed_identity_security_level>
<virtualserver_reserved_slots>Reservierte Slots</virtualserver_reserved_slots>

Changelog regarding Userdata

Table with (changedate, uid, json). JSON will contain old values in case a User/Admin/Reseller changes his settings.

Prevents discussions in case a user removes his address in order to hide his identity after registration.

Add colored status highlighting

Add colored highlighting at admin panel:

  • Gameserver
  • Voiceserver

Status indicators:

  • red = crashed/offline
  • yellow = inactive/stopped
  • green all OK

Game- and addonsettings importer/exporter

Button that creates an XML file with the settings stored in DB. Placed at the overview. Each item gets its own button.

While adding a new game or adding there should be a button and a file upload input field.
If the upload contains valid xml file fill out add form.

replace old shell functions

shell_server
ssh2exec
exec_server

need to be refactored with ssh2_execute

New function is much more effective in case of multiple commands and "execute as" situations

Password Hashes mit PHP 5.5 hash API

Einbauen

  • Fallback für ältere PHP Versionen includen
  • Stellen mit Hash generieren suchen und ersetzen:
  • Eigene Einstellungen
  • API
  • Admin
  • Passwort Reset
  • Login

Password Migration erforderlich, damit Passwörter aus Systemen mit unsicheren Hashes importiert und der Hash beim ersten Login des Users bei Easy-WI durch eine sichere Variante ersetzt wird

  • md5, sha1 unsalted
  • alte ew
  • derzeitige ew
  • PHP 5.5 hash api. Fallback für ältere Systeme includen

Password Migration

Password Migration erforderlich, damit Passwörter aus Systemen mit unsicheren Hashes importiert und der Hash beim ersten Login des Users bei Easy-WI durch eine sichere Variante ersetzt wird

  • md5, sha1 unsalted
  • alte ew
  • derzeitige ew
  • PHP 5.5 hash api. Fallback für ältere Systeme includen

CS:S Gameserver Leihmodul

Hallo,

folgendes Problem besteht mit einem CSS Verleihserver:

Er Startet mit den Vorgegebenen Slots, alles wunderbar, aber nimmt nicht das vom WEBI generierte Rcon und Serverpasswort an.

Configlist and protected mode

In case the server is in protected mode, configs are displayed which belong to addons which are not allowed in protected mode.

Display needs to be removed.

Replace Quakestat

Quakestat is old and does not support newer games like minecraft.
Also it is Linux only.

A class is needed with methods to call and check gameservers.

reboot.php

Dauerhafte fehleranzeige des Cronjob: reboot.php. der cronjob wird richtig ausgeführt zeigt aber trotzdem den fehler.

MySQL Modul - Datenbank

Bitte noch ein Beschreinungsfeld für die MySQL Datenbanken hinzufügen.

So ist es dann ersichtlich, welche Datenbank für was zuständig ist.

Dieses Beschreibungsfeld sollte der User auch ändern können =)

MfG

Lizenzabfragen Entfernen

Lizenzabfragen und verbundene Abfragen entfernen bzw. abändern.

  • Versionsabfrage beim Login muss bleiben
  • Reseller müssen einschränkbar bleiben

Download Modul für Pageteil

  • Counter (optional im Frontend)
  • An/Aus
  • Admin/User/Alle

Abfrage nach Nginx etc. X-Sendfile, und Fallback nach readfile in chunks mit flush und resume

Datei Templates für Gameserver

Datei Templates im Userbereich (CFG und CO)

  • Admin im Template je Spiel sagen, welche Dateien gehen
  • global für den User und Spieltyp.
  • anlegen, anwenden und löschen
  • Beim Anlegen Read auf den Server (fopen)

CREATE TABLE
userID
servertype
name
content
resellerID

TS3 Slot Edit

Es wäre es gut wenn die Teamspeak3 rechte einschränkbar wären sprich erst gar keine slotmanipulation stattfinden kann

GS restart Planer Bug + status anzeige im Master User

WI Version: 4.00

Hi,

hab noch ein paar fehler zu melden^^

Im Restart Planer werden Gameserver (re/ge)startet, die normal offline bleiben sollen.

Desweiteren werden im Masteruser offline Server als "grün" (online) angezeigt obwohl sie nicht laufen.

Wäre schön wenn sie dort auch "gelb" angezeigt werden um zu sehen welche offline sind.

Was noch super wäre, wenn abgestürzte Server "rot" angezeigt werden, um schneller denn betreffenden Server zu finden in der Übersicht.

Das macht sich gut bei vielen Servern im Masteruser.

Eigene Module verwaltbar

  • Controler immer 4 Stellen
  • Beschreibung in translations Table
  • Auswahl, ob Controler für Admin/User/Page
  • Definieren, ob in einem bestehenden Menü, oder alleinstehend
  • Default unter "Eigene Module" Einsortieren

Userpanel: Gameserverübersicht

Alle Buttons Blau (Hintergrund) mit weißem Text, Ausnahme ist der grüne Restart Button und der rote Stop Button - ggf. den Reinstall Button noch in Orange beibehalten.

Sortierung: (Re)start Stop Configs Addons Restart-Planer Backup Screenlog Einstellungen Reinstall

Der Protection Modus sollte für die Spiele, bei denen er aktiv ist, am besten ganz vorne (vor Restart und Stop) oder besser hinter Stop eingefügt werden (je nachdem was einfacher ist). Der Protection Modus sollte sich zudem farblich von Start/Stop auch irgendwie unterscheiden. Aktuell fehlt auch eine eindeutige Meldung ob der Protection Modus an oder aus ist (ja die Farbe zeigt das, das ist aber nicht 100% eindeutig wenn sich ein Kunde unsicher ist dabei). Bei uns mussten wir nach einiger Zeit einsehen: Man muss immer vom dümmstmöglichen Kunden ausgehen. Daher wäre unser Vorschlag, es beispielsweise so zu schreiben: "Protected Modus: aus" bzw. "Protected Modus: an". Dann erkennt jeder sofort, was Sache ist.

Mögliche wäre hier auch die Meldung wenn man den Protected Modus an oder ausschalten möchte anzupassen, so dass hier immer kommt, ob man den aktivieren oder deaktivieren möchte.
-> Javascript onsubmit();

Anstatt minimaler und maximaler RAM sollte dem Kunden nur der maximale RAM angezeigt werden (das ist ja im Regelfall der Wert, den der Kunde bestellt hat), da es den Kunden gar nicht interessieren sollte, was die genauen Startparameter sind, sondern das nur angezeigt werden sollte, damit der Kunde weiß, wie viel eingestellt ist (also nur RAM nennen und nur den Max Wert anzeigen). Spart auch wieder Platz.

Userpanel FTP Passwörter

Die Variablen für FTP-Passwort in der GS Übersicht und den GS Einstellungen sind anders und sollten auf die gleiche gesetzte werden (im Template am besten, FTP-Passwort ist richtig)

-> Template Issue

Logs in der Useroverview überarbeiten

Bei den Feldern haben wir lange über die Anordnung nachgedacht/diskutiert. Diese Sortierung halten wir für am besten:
Datum Benutzer Aktion

Erklärung: Timestamp immer vorne, danach der Benutzername, da das Feld so immer relativ gleich groß bleibt, dahinter die Aktion hier sind die Aktionen immer unterschiedlich Lang (Text) wodurch mittendrin oder vorne sonst "Unruhe" rein kommt. Zudem kann überall das "Benutzer" (BenutzerIP, BenutzerAktion, BenutzerAccount) vorne entfernt werden, da es an den Stellen unnötig ist.

Das große + was an die Aufklappfunktion erinnert, sollte verkleinert werden (so dass die Textspalte nicht vergrößert wird) oder am besten ganz raus genommen werden. Wenn man mehr Infos will, klicken viele sowieso automatisch darauf. Zudem ist die IP für unsere Kunden meist weniger Interessant. Wenn doch, wäre es super, wenn du "IP" noch groß schreiben könntest - wie oben geschrieben, Kleinigkeiten, aber EasyWi wirkt einfach besser, wenn alles perfekt ist.

Zusatzoption 'Move' bei App- und Voiceservern

  • bei Gameservern den Mover benutzen und diesen und diesen um einen einen Return an das WI erweitern.
  • Bei Voiceservern die backups nutzen. Snapshot ist nicht! ID gebunden. Backup könnte per scp gesendet werden (geht eof bei pw eingaben?)?
  • Extra Column in der DB moving

Userpanel: restartplaner

Im Restartplaner dann auch den dünneren, einheitlichen "Speichern" Button verwenden sowie zudem die Spaltenbreiten und Höhen daran anpassen. Abstände überprüfen.

Vertreter fertig stellen

-Bei Login in Session ein Array mit substituteAccess = array(gs=>array(),...)

  • Bei Aufruf der Models dann ein $queryIN=($substituteAccess[gs] and count($substituteAccess[gs])>0) ? "id IN ('".implode("','",$substituteAccess[gs])."')" : '';
  • Bei Modulen, wie meine Settings einen check gegen substitute und dann redirect auf userpanel.php

Installation of gameserver/voiceserver at userpanel

  • gameroot and voicemaster entry needs to be created on first use.
  • referenced in tables and not shown at the adminpart
  • in case of old lagacy code at admin, create class which will be used in both parts or alter the admin file to be a global one that is capable of using user and admin templates

Expected funktions:

  • User can install masterserver
  • User can configure TS3 licence (NPO)
  • User can add/modify/remove game- and voiceserver

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.