Accounts erstellen - Accounts.xml

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
  • Serverseitiges Tutorial


    Moinsen zusammen,


    in diesem Tutorial erkläre ich euch wie man in Multi Theft Auto mit der Accounts.xml zusammenarbeitet und wie eure
    Daten abgerufen werden können.


    Als allererstes möcht ich erwähnen das die Stylesheet Account Verwaltung derzeit keine besonders gute Weise ist, Accounts abzuspeichern
    da sich die Accounts beim Einfügen vom Strings auflösen kann aber nicht muss.


    Ein Stylesheet im Wurzelbaumformat sieht wie folgt aus...


    Code
    <accounts>
        <autologin>0</autologin>
        <account name="Console" password="" />
        <account name="Sucka" password="4237237948124289732dsawa121" />
    </accounts>


    Als allererstes folgt die Mta-Console und nun der erste angelegte Account der durch eine
    sha1 Verschlüsselung sicher vor Eingriffen dritter ist.


    Wie leg ich mir neue Accounts an ?


    Dafür gibt es gute Beispiele auf der Mta Wikipedia Seite hier ein passendes...



    Wer bisher keine Erfahrung mit Lua hat, kann sich auf der Deutschen Wikipedia Seite Informationen dazu holen.




    Wie frage ich die Daten ab ?


    Code
    local spielerdaten = {} -- Eine Tabelle anlegen
    spieleraccount = getPlayerAccount("Bob der Baumeister")
    spielerdaten [1] = getAccountData ( spieleraccount, "Geld")
    spielerdaten [2] = getAccountData ( spieleraccount, "Level")


    Am besten verwendet ihr einen Timer oder eines der zahlreichen Events (zb. OnClientRender) um die
    Daten regelmässig abzufragen ohne jedesmal die Funktion von neuen ausführen zu müssen.
    Ich würde euch dabei empfehlen eine Serverseitige Function zu bauen.
    Clientseitige Funktionen können von Spielern die sich auf dem Server befinden/befunden haben eingesehen werden,
    deshalb Achtung! Deshalb ist es ratsam diese Funktionen zu triggern und so wenig wie möglich Informationen zu hinterlassen


    Wie benutze ich diese Funktionen ?


    Eine Abfrage in einem Event sieht wie folgt aus...



    Hier wird beim Betretten und Verlassen des Servers jeweils einmal die Account Datei abgefragt nach dem derzeitigen Stand des Spielergeldes, während beim Verlassen
    das gesamte Geld erfasst wird und ich die Datei/Stylesheet eintragen wird.


    Weitere hilfreiche Account Funktionen...


    * addAccount
    * copyAccountData
    * getAccount
    * getAccountData
    * getAccountName
    * getAccounts
    * isGuestAccount
    * logIn
    * logOut
    * removeAccount
    * setAccountData
    * setAccountPassword
    * getAccountPlayer

    Link zum Mta-Wiki


    Die beste Art Accounts abzuspeichern ist es nicht, aber die konfortabelste, da Multi Theft Auto bereits viele vorgefertigte Funktionen mitliefert
    wie BanAccount usw. Wer einen großen Server aufbauen möchte der sollte auf MySQL umsteigen.
    Zusätzlich gibt es noch die Möglichkeit die Accounts in SQLLite Datenbanken zu sichern, die Datenbank liegt dann direkt im Resourcen Ordner, kann aber auf dem Root
    nicht geöffnet werden, da bedarf es einen Datenbank Explorer. Leider sind auch die Funktionen noch nicht ganz ausgereift, die Mta im übernächsten Update aber beheben sollte.
    Mta 1.0.5


    Acl.xml


    In diesem Stylesheet, der Access Control List, müsst ihr anschließend eure Account Funktionen bestätigen.
    Die Acl.xml dient zur sicheren Überwachung jedes Mta-Servers und limitiert den Zugriff auf den Server.
    Das ist natürlich nicht alles, weitaus beteunder sind die Funktionen des HTTP Panel/Interfaces, aber das ist ein anderes Thema.


    Code
    <right name="command.addaccount" access="false"/>


    Die access, zu deutsch Berechtigung auf den Command müsst ihr euch erteilen indem ihr sie auf true setzt.


    Wer statt einem /Register Befehl ein GUI Interface möchte, findet alles benötigte hierzu hier

    [align=center]
    Mta Script Editor - Work in Progress

    Einmal editiert, zuletzt von Jason_Gregory ()

  • kurz und simpel finde ich gut du solltest jedoch vllt als ergänzung sdazu schreiben wenn jemand einen eigenen GM machen will d.h. eine komplett neue resource erstellt muss er der resource erst mal die zugehörigen rechte in der ACL.xml geben ;)
    da er sonst funktionen wie getAccount, etc. NICHT ausführen darf/kann.
    mfg SenZe

  • jap also mir gab der Server gleich bescheid das es nicht erlaubt ist diese Funktionen zu nutzen aber das geht schnell zu machen ;)
    am besten die Resource unter die Admin Gruppe stecken schon kannste alle Funktionen nutzen.

  • [...]


    "" und nil sind doch das selbe o.o

    Nein, das stimmt nicht.
    Überprüfen kannst du das mit folgendem Codebeispiel:

    Code
    outputChatBox(tostring("" == nil))


    Ausserdem ist das Tutorial irrelevant, denn die accounts.xml existiert nicht mehr.

    Multi Theft Auto - San Andreas

  • getAccountData und .xml ist Unsicher.


    Zudem solltest du deine Passwörter verschlüsseln. SHA-256 hilft dir dabei weiter.


    Was man jetzt noch machen kann, ist das man das ganze System ins Objektorientierte weiterschreibt, und mit MySQL verbindet.

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • Zusätzlich zum SHA256-Hash sollte man das Passwort noch mit einem generierten Salt-Hash versehen.