ScriptEngine - the first real construction kit

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey Leute,


    Nach monaterlanger Entwicklung gibt es (mal wieder) einen Einblick in die hintersten Ecken der tionsys.de - Entwicklungsecke.
    Ich präsentiere euch hier den ersten deutschen Baukasten für Scripte der vorgestellt wurde :)


    Berechtigungen
    Das gesammte Script basiert auf Berechtigungen, die den Usern zugeteilt werden. Hat ein Benutzer eine Berechtigung, kann er weitere Sachen anstellen.
    Das beste daran ist, die Namen der Berechigungen sind frei wählbar - bedeutet, ihr gebt dem Benutzer zum Beispiel eine Berechtigung "tionsys.car.use", und dann darf er alle Autos fahren, die die Berechtigung "tionsys.car.use" benötigen.


    Autosystem
    Autos können selbstverständlich Ingame erstellt und bearbeitet werden. Durch Berechtigungen ist es möglich, ein Auto einen Benutzer, einer Gruppe oder der gesamten Welt zugänglich zu machen.


    TriggerZonen & Eventbereiche
    Es handelt sich hierbei eigentlich um das gleiche, jedoch habe ich mal die deutsche Übersetzung dahinter geschrieben, damit man sich mehr vorstellen kann :thumbup:
    Auf der Karte kann man TriggerZonen erstellen, die beliebig groß sein können. Nach der Erstellung kann man noch angeben, was beim Betreten passieren soll und fertig isses.
    Mit diesen Zonen kann man eine Karte erstellen, in der man bei verschiedenen Orten Gesundheit bekommt, beim Betreten von Orten getötet wird oder die Waffen weggenommen werden, man Waffen bekommt, die Gesundheit auf 50% gesetzt wird, ...


    Controller
    Nachdem ich an einen externen Controller saß, der nichts mit diesem Projekt zu tun hat, kam ich auf die Idee, hier auch einen zu integrieren.
    Mit dem Controller könnt ihr auch von außerhalb Befehle verarbeiten, den Server steuern, Benutzeraccounts bearbeiten und Nachrichten versenden - ihr müsst nicht Ingame sein.
    Die Controller-Accounts werden in einer seperaten Datei gespeichert und können mit jedem TCP-fähigen Clienten betreten werden.


    Gang- & Gruppensysteme
    Seit der Version 0.1.0 Alpha können Gruppen erstellt werden, die Gangs & Mafien ersetzen sollen.
    Diesen Gruppen können dann eigene Berechtigungen zugewiesen werden, die jedes Mitglied hat - damit könnte man realisieren, dass nur die Mitglieder einer Gruppe bestimmte Autos fahren können oder TriggerZonen-Events auslösen können.


    SCRP-Script
    Wer früher ein anderes Script hatte, kann dank SCRP-Script schneller auf dieses umsteigen - SCRP-Script ist darauf ausgelegt, eine schnelle und kompakte Import-Sprache zu sein.


    Admin-Controlpanel
    Befehle gehören der Vergangenheit an - alle Aktionen werden jetzt durch ein zentrales Admin-Controlpanel gesteuert, dass per "Leertaste + Z" ( alternativ: /acp ) erreicht werden kann.
    Hier können Ingame und ohne Verzögerung Gruppen erstellt, bearbeitet und gelöscht werden - die Zuweisung von Berechtigungen erfolgt während der Laufzeit.
    Auch können hier die TriggerZonen erstellt & bearbeitet werden, Autos gespawnt + zerstört werden.


    Unter der Haube
    Das Script speichert dynamische Inhalte per SQLite3, statische per Datei.
    Der Controller ist ein TCP-Server, der auf einem bestimmten Port lauscht und die Logins entgegen nimmt.
    Große Mengen an Informationen werden in Thread gespeichert/geladen, gleiches gilt für SCRP-Scripte.


    Info
    Neuer Thread da neuer Name + stark verändert - ich glaube, den Namen von Threads kann man nicht ändern, oder ? :)
    Keine Veröffentlichung, ich möchte Feedback + Wünsche :)


    Swyped in ~ 3 minutes 30 seconds - mit dem Handy, also können Fehler finde sein ;)

  • @BlackAce: Da die Datenbank aus einer Datei besteht, kann man die mal eben löschen um das Script neu aufzusetzen - dann bleiben statische Sachen, wie Controller-Logins trotzdem erhalten.
    Desweiteren können Controller-Logins ( aus Sicherheitsgründen ) nicht IG verwaltet werden - also muss man die ja auch extern öffnen können - was mit Dateien am besten geht :)
    Zu guter letzt wird ein Hash-Key benötigt, der Passwort-Diebstahl nahezu unmöglich macht und es somit ermöglicht, auch die Datenbank extern (bsp Dropbox) zu sichern, ohne Angst um den Klau von Logins zu haben - da währe es blöd, den Key mit in die Datenbank zu schreiben :D


    Hat jemand noch Vorschläge... ?

  • Das hört sich alles schonmal richtig gut an, bitte verkauf es nicht :S

  • 1. Noch mehr 1337 Systeme.
    2. Weil sonst ejder 08/15 Server sowas hat.

  • Ist das bei Bukkit nicht so, dass man nur "bestimmte Befehle" erlauben kann ? :D
    Also Spieler 1 darf /bla und /bli, Spieler 2 nur /blu, ... ? :D


    Danke für das Feedback :thumbup:


    e: In welcher Preisklasse schätzt ihr das Script ein ? :whistling: