Fiesta P Server Großes Problem

05/18/2013 13:51 Z3K0187#1
Habe nun ein problem... Der Fiesta Server ist nun seit einigen Wochen Public
wenn welche sich Einloggen und das Spiel dann starten dann kommen die in einem Fremden Account manchmal rein kann auch sein das die auf ein Staff account rein kommen O:
Kennt jemand eine Lösung?
05/18/2013 14:15 xKeRnx#2
Liegt an deiner Login.php/Token.php!
05/18/2013 16:47 dragonhunter09#3
stimmt, wenn diese durch zufall einen existierenden token erstellt dann kommt nix gutes bei raus. weiss ja nich welche login.php's /Token.php's im umlauf sind aber du solltest zumindest eine nutzen die vorher alle tokens in nen aray läd und dann nen randomtoken erstellt und diesen dann mit allen token's vergleicht und falls doppelt dieses verfahren solange wiederholt bis er einmalig ist.
05/18/2013 16:55 5anku#4
Das Problem ist auf die Registration zurück zu führen. Der besagte "Bug" entsteht wenn ein neuer Spieler sich anmeldet. Und zwar wird ein Random ID (emid) erstellt. Wird hier nicht übeprüft ob diese schon gibt, kann es passieren das sie zwei mal vergeben wird. Dann können sich neue Spieler in Accounts von anderen einloggen. Der Token hat damit nichts zu tun. Es wird ja die ID + Token überprüft.

Am einfachsten überprüfst du in deinem Script ob die Id schon besteht. Am Professionellsten ist es, wenn du die emid automatisch inkrementierst, geht über die MSSQL-Datenbank.
05/18/2013 20:55 Nooblike24#5
Wir benutzen folgende Login.php:
[Only registered and activated users can see links. Click Here To Register...] / Kennwort ohafx

Desweiteren werden bei uns immer neue EMID´s erstellt. Es gibt keine doppelt und das man in einen anderen Account reinkommt ist unabhängig vom beim Login verwendeten Account.

Grüße
05/18/2013 21:22 xLorx#6
Hast du bei OdinRestServerSettings.shn bei der spalte "OdinServer.TokenManager.EnforceExpireDate" False? wenn ja stell es auf True, Lösch alle Token eintrege aus der tTokens

ob das problem behoben wird kann ich dir nicht sagen, teste es mal^^
05/18/2013 22:57 Nooblike24#7
Natürlich ists nicht auf False. Dann wären die Tokens ja immer gültig o:
05/19/2013 08:56 cyberghost1992#8
Quote:
Originally Posted by dragonhunter09 View Post
du solltest zumindest eine nutzen die vorher alle tokens in nen aray läd
Wenn OS so verfahren wäre, hättest du 3 Tage im voraus mit dem Login-Prozess anfangen müssen um dann am dritten Tag spielen zu können, abhängig davon ob die Server 64GB RAM haben.

Euer Problem ist einfach, dass ihr PHP nutzt. PHP ist und bleibt eine Browser-Sprache, für alles andere absolut uneffizient, ungeeignet und zweckentfremdet. Wer kein Java/C#/C++ nutzt ist da leider selber schuld.

Quote:
Originally Posted by 5anku View Post
Und zwar wird ein Random ID (emid) erstellt.
JS. Anderer Satz, selbe Hirnbrei-Logik: Das Einwohnermeldeamt erstellt für zukünftig zu erstellende Personalausweise Random-Namen.
Ganz im Ernst: Verräts du mir bitte den Sinn dahinter, falls dieser dort mitgewirkt hat?

Quote:
Originally Posted by 5anku View Post
Dann können sich neue Spieler in Accounts von anderen einloggen. Der Token hat damit nichts zu tun. Es wird ja die ID + Token überprüft.
Widersprichst dich in 2 Sätzen selber. Und auch hier fehlt der Sinn. Wenn eure "Launcher" auch nur ansatzweise funktionieren wie das Modell es vorsieht, dann würde dieser (zusammen mit einem ebenfalls gut programmierten Serverdienst) schon beim Abfragen des Usernamens+Passwort merken, dass die ID doppelt vorhanden ist bzw. die ID bereits einen Token zugewiesen bekommen hat.
05/19/2013 10:44 Fehlgeschlagen#9
@cyberghost1992;

Mach sie nicht nieder... Sockets für Client und Server sind wirklich heavy...
Ich hab selbe meine zeit gebraucht bis ich verstanden habe wie es
funktioniert. Ich hab lange zeit nicht durchgeblickt, weil einfach
nen Socket erstellen und denken das wars hatt sich getäuscht..

was ist mit:
  • Handling Disconnection
  • Receive Buffer
  • Multiple Connection (Async)
  • Speak with Database
???

Das ist für die noobs auf Epvp leider ein bisschen zu schwer.. das schafft keiner
der ein bisschen C# / VB kann.. nein... da muss man mehr am kasten haben.
05/19/2013 11:25 Nooblike24#10
Leute es ist toll das ihr euch hierbei so auskennt aber uns ist damit immer noch nicht geholfen :D
05/19/2013 11:42 5anku#11
Quote:
Originally Posted by Fehlgeschlagen View Post
@cyberghost1992;
was ist mit:

Handling Disconnection
Receive Buffer
Multiple Connection (Async)
Speak with Database
Handling Disconnection - Zeitlicher Timeout, schon bekommt man mit wenn jemand nicht mehr online ist.
Receive Buffer - 1024 byte haben bisher immer gereicht.
Multiple Connection - Gibt genug Tuts für das, einfach einen Socket mit listener, kommt eine Verbindung rein handelt man sie asynchron ab, damit der listener nicht blockiert wird
Speak with Database - Stichwort Linq

Quote:
Originally Posted by cyberghost1992 View Post
JS. Anderer Satz, selbe Hirnbrei-Logik: Das Einwohnermeldeamt erstellt für zukünftig zu erstellende Personalausweise Random-Namen.
Ganz im Ernst: Verräts du mir bitte den Sinn dahinter, falls dieser dort mitgewirkt hat?
Meine Aussage war auf das Script bezogen das man runterladen kann, und in meinen Augen Schrott ist. Und, ja, da wurde tatsächlich die emid Random erstellt. Ohne das Überprüft wurde ob sie schon besteht.
Wie gesagt wenn mans richtig machen will, setzt man die emid auf auto ink, und man muss sich nicht mehr drum kümmern ob alles sauber ist.


Back to Topic, adde mich Skype. Habe am späten Nachmittag Zeit, dann können wir ja mal drauf sehen wenn du möchtest.
05/19/2013 11:56 Fehlgeschlagen#12
Quote:
Originally Posted by 5anku View Post
Handling Disconnection - Zeitlicher Timeout, schon bekommt man mit wenn jemand nicht mehr online ist.
Receive Buffer - 1024 byte haben bisher immer gereicht.
Multiple Connection - Gibt genug Tuts für das, einfach einen Socket mit listener, kommt eine Verbindung rein handelt man sie asynchron ab, damit der listener nicht blockiert wird
Speak with Database - Stichwort Linq

Das musst du mir nicht sagen... ich kenn mich mit dem zeug schon aus..
aber warum einen static buffer ?

mach den buffer dynamic und setze eine maximale größe
sonst hast du whitspace im buffer... (Wenns so gemeint war igno es)

Prob mit EMID -> Database -> tAccounts ->
Code:
[nEMID] [int] IDENTITY(1,1) NOT NULL
ist ja extrem schwer
05/08/2014 14:54 Teufel11#13
Hallo Elitepvpers, ich hab ein Problem mit mein Server

Keine ahnung ob das hier her passt aber ich hoffe mir wird trotzdem geholfen..

Also mein Problem liegt am Login wenn ich mich einloggen möchte kommt ne Fehler-Meldung das heißt in etwa "Die Verbindung mit dem Remoteserver kann nicht hergestellt werden."

Skype Addy: philipp1149

Ich bitte um Hilfe

Ich danke im vorraus :)
05/08/2014 19:24 Flainity#14
Xampp Dienste nicht gestartet bzw. die IP ist im Patcher/Login falsch eingetragen (odr evtl.der falsche Port wenn du nen anderen als 80 nutzt).