Beiträge von Nyuchen

    Ich hab zwar nichts mehr mit SAMP zu tun, dennoch ein Tipp an die Entwickler eures Launchers.
    Avast besitzt ein Web Reputationsystem was prüft ob ihr DLL oder EXE Files von einer Vertrauenswürdigen Zieladresse ladet oder nicht.


    Folgende Sachen sind laut Avast entscheidend.


    DomainRep is a new feature of Avast, so let me explain a bit. It blocks EXE files downloads if these conditions are *all* met:
    1. The file is not prevalent enough, ie. not enough Avast users launched the file yet,
    2. The domain is not prevalent enough, ie. not enough Avast users downloaded (any) EXE files from the domain yet,
    3. The file is not signed or Avast does not trust the signature.

    Auf deutsch:
    Exe Datein von eurer Webseite herunterladen funktioniert nur wenn nicht alle 3 Umstände eintreffen.
    1. Wenn nicht genug Avast User diese Datei jemals ausgeführt haben. (Was schwer wird da sich bei Updates die Datei verändert, außer bei Code Signierung)
    2. Die Domain ist nicht bekannt genug und nicht genug Avast User haben schon irgendwelche EXE Datein von dort gezogen.
    3. Diese Datei enthält keine Signatur oder Avast vertraut dieser Datei nicht (Code Signaturen kosten aber Geld)



    Daher empfehle ich den direkten Download zu umgehen und Updates oder Zusatzdateien als ZIP-Archiv herunterzuladen und zu entpacken.
    Diese Methode klappt wunderbar ohne das Avast faxen macht.


    Viel Erfolg weiterhin mit dem Projekt.

    Ich denke kein Scripter würde sein Script nur 5 Minuten rein stellen und dann wieder löschen. Scheinbar gibts da ein Streitfall und jemand (möglicherweise nicht der Ersteller) hat es auf Grund niederträchtigen Absichten veröffentlicht.


    Auch wenn ich durch die Veröffentlichung ein leichtes grinsen im Gesicht bekam, ist es eine Respektssache es einfach nicht weiter zu verwenden. Wenn sich die Projektleitung selbst meldet, wird es wohl gegen den Willen der Leitung veröffentlicht worden sein.


    Dass die "Besitzer" es selbst off nehmen können halte ich für unwahrscheinlich, da sie darüber die Kontrolle verlieren sofern dies unter der Hand weg geht oder auf fremden Seiten gehostet wird.


    Mein Rat an dich ist: Nimm lieber ein Script was von den offiziellen Erstellern veröffentlicht worden ist. Damit solltest du dir Zeit und Nerven sparen, da viele solche Server gerne flamen,zerstören und anderweitig ins schlechte Licht rücken. :)

    Also mir macht der Server viel Spaß und kann bis jetzt folgendes Feedback wiedergeben:


    Anfänglicher Eindruck:
    Es gibt kein Startbonus (Nur ein erspielbaren durch das gesamte Tutorial - 7500 Dollar) und merkte direkt dass sich jeder von Anfang an hochspielen musste.
    Allein das ist etwas, was diesen Server von Anfang an sympatisch machte. (Anti-Mainstream <3)


    Am Anfang meiner Reise war ich vom schön gestalteten Bahnhof sehr überrascht. Es fuhr direkt ein Zug ein und ich fühlte mich direkt in meiner Rolle (Story) die mir vom Server gegeben wurde.
    Das Mapping hat die Ingame-Story so sehr abgerundet und vereinfacht dass man sich prima auf die Missionstexte konzentrieren konnte und alles übersichtlich und sogar zu Fuß fand.
    Ok ich muss sagen dass ein Neulingsfahrrad nicht schlecht gewesen wäre, doch man kommt schon im Tutorial sehr schnell zur Möglichkeit ein richtiges Auto zu fahren.
    Ich lernte direkt ein Paar Spieler kennen die mich mitnahmen. Viel zu erklären gab es nicht mehr da der Server gut und selbsterklärend gescriptet ist.
    Ich machte meine ersten Lieferanten Runden und merkte wie das Jobsystem, Finanzsystem und das gesamte Mapping im Einklang waren und man einfach erfreut war.


    Zum Mapping:
    Beim Mapping wurde sauber gearbeitet und ich muss sagen dass mir sehr gefällt, dass viele Gebäude direkt begehbar sind.
    Die Natur wurde durch viele Planken und Bäume eingeschränkt aber auch verschönert, somit haben lange Fahrtwege jetzt einen Reiz und Sinn bekommen.
    Ich finde man hätte bei einigen Gebäude eine etwas dunklere Textur nehmen können (Beispiel: Bank) aber sonst im großen und ganzen klasse gemacht. :)
    Natürliche Wege die man sonst normal fuhr bekommen auf einmal ein Reiz der auf vielen Servern sonst nie gegeben ist.


    Das Finanzsystem:
    Inflation? Diesmal nicht. Ich muss sagen ich war positiv überrascht dass durch dieses "/zahltag <id>" das AFK-Schnorren gestoppt wird und jeder nur bekommt
    was er auch "verdient". Nebenkosten und gering angepasste Löhne sind genau das richtige für ein Server.
    Ich hab in einer Stunde 4424 Dollar Brutto verdient und eine ungefähre Auszahlung 3527 Dollar Netto bekommen. (Der Verdient verändert sich aber je nach Tätigkeit)
    Für Leute die schnelles Geld wollen vielleicht nicht ganz praktisch, doch ich finde jetzt bekommen hohe Zahlen auch mal ein Wert. :)
    Im Groben und ganzen hat mir das Verdienen spaß gemacht weil ich weiß dass es auch was Wert ist. Keiner wirft einem was hinterher weil jeder drauf angewiesen ist.
    Die Mietfahrzeuge mit einem Preis von 1 bis 2 Dollar pro Minute haben mir auch gefallen. Man zahlt nun kein teurer Preis mehr wobei man es nur 3 Minuten brauchte.


    Die Berufe:
    Abwechslung im Beruf ist gegeben. Man kann beim Lieferanten Kisten nehmen, in den Kofferraum einpacken und irgendwann los fahren.
    Man steigt in der Karriere und arbeitet sich später zu größeren Mengen auf. Mir persönlich hat diese Art von Beruf spaß gemacht weil dieses öde "W" gedrückt halten keinen reiz bietet.
    Ich spiele nicht um Geld zu haben sondern um das Spiel zu spielen. Ich musste einige Befehle eingeben, laufen, fahren und auch noch Nebenkosten für Zoll tragen beim Lieferanten Job.
    Für mich als "nicht Faule Person" ein hoher Reiz und Spaß bei der Arbeit. :)
    Sollte jemand dennoch dieses ruhige "W" gedrückt halten lieben, kommt er auch beim Anglerjob gut zu seinem Lohn.
    Der Spieler entscheidet was in seinem Interesse liegt und kann dies ausleben, ist definitiv ein Pluspunkt.


    Die Wirtschaft spielt auch eine große Rolle bei den Berufen. Geht keiner Kartoffeln ernten, kann der Lieferant auch keine Kisten abholen... Denn von "Nix" kommt "Nix".
    Im großen und ganzen Prima doch als Neuling könnte man vielleicht vor einem leeren Kartoffellager stehen und nichts zu tun haben. Aber so ist nun mal im Leben... Darauf basiert der Server schließlich. :)


    Das Team:
    Es wurde bis jetzt schnell auf alles um mir herum eingegangen und sie haben kooperativ mein Support-Ticket weitergeleitet um mir bestmöglich zu helfen.
    Ich sehe darin ein Plan und bis jetzt keine Probleme. Über den Charakter der einzelnen Teammitglieder kann ich nicht viel sagen, da mein Eindruck bis jetzt nur aus Ingame besteht.
    Bis jetzt also ebenfalls positiv überrascht. :)


    Bug und Hinweis für neue Spieler:
    - Um das Tutorial zu machen muss man öfters mal "/mission" machen da es nicht vollautomatisch nachkommt obwohl man schon ein Schritt weiter ist und nur befolgt was man gelesen hatte.
    - Jeder kann in einem Mietfahrzeug den Motor an machen, was das soziale "mitnehmen" zu einer Gefahr macht abgezogenen zu werden. Schließt ihr auf, geht ihr Gefahr ein zu Stranden.


    Mein Fazit:
    Sehr zu empfehlen. Bis jetzt macht die Community ein ordentlichen Eindruck und der langfristige Spielspaß ist gegeben. Script und Mapping ist Top!
    Verbesserungsvorschlag: Motor nur vom Besitzer/Mieter betätigen lassen damit die Community sich auch gefahrlos sozial unter die Arme greifen kann.

    Es wäre nur schöner wenn es nicht Global ist sondern man es pro Spieler auch festlegen könnte ^^


    native DisableRemoteVehicleCollisions(playerid, disable);


    Es gibt zwar eine "pro Spieler" funktion, doch hätte ich mir die Funktion anders gewünscht. Wäre toll Neulinge auf RP Servern das rammen zu verbieten.
    Sowas wie: DisableRemoteVehicleCollsionsForPlayer(playerid,forplayerid,disable);

    Richtig und das wären Funktionen wie OnGameModeInit etc. wo man keinen Nutzen dafür hätte. Bei Befehlen,StateChange,KeyChange ist so eine ID immer gegeben und die wichtigste Verarbeitungsstelle für solche Removes.


    Ich denke das mit dem Limit hätten die vom SAMP Team etwas besser definieren können oder zumindest eine Schutzfunktion integrieren können die diese Werte clientside begrenzt.
    Muss aber sagen dass ein Server mit 600 Objekte gut wirkt gegen reconnect.cs, wenn kein Cheat die RemoveObject Funktion NOP't

    Also nach meinen Erfahrungen wird CreateObject nicht beeinflusst selbst wenn ich 1000 Removes mache.
    Ebenfalls sind Removes überall und jederzeit möglich und nicht nur in OnPlayerConnect.
    Das Limit liegt bei etwa 1000 bis 1100 und somit wäre für RemoveObject der sicherste Wert ein Limit von 1000.
    Wieso es das sicherste ist?


    Das Problem ist, dass der Client einen Freeze bekommt wenn es ein paar mehr sind als 1000 Removes.
    Da sich diese Removes nach einem Server neustart nicht automatisch zurück setzen, bleibt das ausgereizte Limit zurück und führt zu freezes.
    Versucht mal den Fehler zu replizieren indem ihr etwa 1100 verschiedene Objekte removed oder nur 400 und mit GMX den Server neustartet beim halten der Verbindung.
    Ich habe es für mein Teil schon damals ausgibig getestet.


    Beispiel mit 1100 Removes:
    > 1100 verschiedene Objekte werden entfernt.
    > Spieler erhält bei Kleinigkeiten ein Standbild wie z.B. ESC gehen


    Beispiel eines Clientfreezes durch RemoveObject bei GMX:
    > 400 Objekte werden bei OnPlayerConnect gelöscht.
    > Serverrestart mit gmx, spieler hält die Verbindung.
    > 400 Objekte werden bei OnPlayerConnect gelöscht. (Somit schon 800 im Clientspeicher vermerkt)
    > Serverrestart mit gmx, spieler hält die Verbindung.
    > 400 Objekte werden bei OnPlayerConnect gelöscht. (Client Freezed)


    Bei Servern mit etwa 600 Objekten ist gmx garnicht mehr möglich ohne dass beim Loginscreen oder beim Spawn ein Standbild entsteht.


    Beste und einfachste Lösung für die Nutzung mit Removeobjekt ist: Spielern bescheid geben dass sie neu verbinden sollen vor einem Restart, dann alle kicken per loop. Sie schließen die Verbindung und kommen erneut rauf.
    Ebenfalls empfehle ich dass eine eigene Funktion gescriptet wird die RemoveObject beinhaltet, aber maximal 1000 mal pro Spieler ab dem Connect aufgerufen werden kann.


    Dies sind meine Erfahrungen mit dem Umgang von RemoveObjects die ich in Wochenlangen Tests herausgefunden habe.
    Wenn jemand Technisch gesehen andere Erfahrungen gemacht hat oder bessere Fakten darüber kennt (keine Vermutungen oder "hab ich so gehört...") kann mich gerne berichtigen. :)

    Naja so ist es mit jedem Exploit. Jemand findet ihn, jemand fixt ihn.
    Es gibt bestimmt noch genug Möglichkeiten um ein Server zu terminieren, sei es intern durch ein veraltetes zcmd-include oder extern durch die Verbindung und co.
    Ob durch Masseninformation oder nur durch ein simplen Trick.


    Ich hoffe mal dass sie das unter Kontrolle kriegen, aber bis jetzt war ich vom Thema Sicherheit noch nie recht enttäuscht gewesen beim SA-MP Team, darum bin ich guter Hoffnungen. :)

    Laut Crashlog liegt dein Problem in "SCMF" was nach einer definition von "SendClientMessageFormated" klingt.
    Kannst du uns diese Funktion mal posten um möglicherweise interne Fehler festzustellen?


    Dass du Geld abgezogen bekommst, liegt wohl daran, dass du die Geldwerte vor der Textausgabe mit SCMF behandelst.

    Localhost geht nur, wenn das Programm "Navicat" sich auch auf dem Server befindet auf dem die MYSQL Datenbank liegt. Da der Gameserver localhost benutzt, scheint der Server auch darauf zu laufen.
    Für deinen Zweck müsstest du Navicat auf der selben Windows Maschine installieren worauf der Gameserver läuft (sofern es überhaupt Windows wäre).
    Du kannst auch noch mit der direkt IP connecten und prüfen ob die Datenbank externe Zugriffe zulässt.


    Sollte das alles nicht klappen, empfehl ich dir für ganz wenig Geld ein Webspace bei Nitrado zu holen. 30 Tage = 1,99€
    Dort kannst du bis zu 10 Datenbanken erstellen, sie auf extern setzen. Gameserver und Navicat auf diese Datenbank leiten.


    Viel Erfolg, bei Fragen einfach melden. :)
    Arbeite selbst mit Navicat und Datenbanken. :3

    Neben dem Fakt dass es ungewollt sein wird für die Server Administration, gibt es noch das Problem dass die richtig guten Server auch die Inaktivität an Hand der Positionsveränderung prüfen.
    Technisch gesehen ist sowas schnell gemacht aber fühlst du dich nicht selbst gestört wenn es dich dauernd bei dem was du machst kurz ins Spiel bringt?


    Ich denke da dir hier niemand Grundlagen bieten würde für Dinge die auf Servern als verbotene Automatisierungen gelten, empfehl ich dir einfach über Nacht den PC solange anzulassen,
    bis ein Admin dich schon von selbst wegen zu langer AFK Zeit kickt.
    Stell dir nur mal den Fakt vor dass ein Admin beobachtet dass du dauernd aktiv bist (da müsste das Ding zwischen 4 und 5 Minuten per Zufall laufen damits nicht auffällt) und spricht dich dann an, reagierst aber nicht.
    Der Bann für ein Anti-AFK Bot wäre dir dann sicher und all dein Fortschritt wäre weg.


    Auch wenn du dir sowas sehr wünscht, empfehle ich dir den gesunden Menschenverstand und das erarbeiten von Serverfortschritten auf dem normalen Weg. :)
    Solltest du dich dennoch nicht von deiner Idee abbringen lassen wollen, kann ich dir nur den Tipp geben... Wieso das Rad neu Erfinden? Google das, was es schon gibt. :)

    Viele nutzen dafür den CamHack den aber viele als Cheat auf Servern werten. Daher empfehle ich ihn nur für Fotozwecke.
    Ebenfalls gibt es noch ein Bug im Spiel, dass du mit einem Flugzeug aufprallen kannst und irgendwie verbuggt aussteigst mit Fallschirm (wie genau das ging weiß ich nicht) und kannst dann ohne sichtbaren Skin rumlaufen. Ebenfalls sehen Spieler die in deiner nähe waren auch deine Figur nicht. (Das sollte also schnell zum Bann führen)


    Für erlaubte Methoden empfehle ich dir wie die Vorposter schon schrieben das Filterscript auf einem Lokalen Server oder die Kamera (die aber nicht viele Server unterstützen).
    Sollte es zwingend auf einen bekannten Server passieren, kannst du die Methoden oben verwenden und vielleicht sogar noch (wenn es für den Server ist) die Erlaubnis des Serveradmins einholen.

    Hast du den Server mit gmx neu gestartet, oder hast du den Server komplett durchgestartet, also die Konsole beendet und neu geöffnet?
    Wenn du es mit gmx machst ist es klar, weil das die Filterscripts nicht neu lädt. Ich rate dir immer den Server komplett zu schließen.


    Das stimmt nicht ganz, Filterscripte werden automatisch entladen und OnFilterScriptExit wird auch normal aufgerufen bei gmx.


    Oskaar1994:
    Wurden die Veränderungen die Jeffry dir geraten hat für alle Textdraws durchgeführt im gesamten Server?
    Erstellst du möglicherweise Textdraws die bereits erstellt worden sind ohne sie vorher zu löschen?
    Wenn der Fehler auftritt wenn du die Verbindung hälst, kann es möglicherweise auch daran liegen dass sie beim OnGameModeExit nicht alle zerstört werden.

    Was bringt das bitte, wenn der Spieler sie teleportiert, er setzt sich ja nicht rein...

    Sobald jemand mit einem Cheat (z.B. den, den wir alle kennen) ein Fahrzeug teleportiert, so sieht ihn nur der Nutzer da die Position des Fahrzeuges clientside verändert wurde. Die Syncronität der Fahrzeuge ist nicht gleich wie gesagt. Sollte der Spieler nun in ein Fahrzeug einsteigen, so wird natürlich die Position syncronisiert.
    Wie du gesagt hast: "er setzt sich ja nicht rein", und genau das ist die Lösung.



    https://www.youtube.com/watch?v=oOJeyGBg13I&t=1m 1:00 bis 1:27 (Gutes Beispiel der Syncronität von SAMP)


    Es gibt noch diverse Cheats wie das rumwerfen von Autos, wo dann der Spieler vorgibt für einen kurzen Moment in diesem Fahrzeug zu sein und beschleunigt es in eine bestimmte Richtung. (Sieht man gut in "Cheat to the Ban" Videos wo das Speedometer oft aufflackert.)
    Damit die anderen Spieler ebenfalls sehen was man auch sieht muss er das Fahrzeug syncronisieren. (Somit für eine sehr geringe Zeit nutzen)


    Daher war mein Lösungsansatz: Sobald ein Desyncronisierter Cheater in ein Fahrzeug steigt muss dieser entfernt werden und das Auto auf Standgeschwindigkeit gebracht werden. Danach sollte erneut geprüft werden ob sich der Spieler noch in einem Fahrzeug befindet falls er die NOPs für die "SetPlayerPos" oder "-RemovePlayerFromVehicle" Unterdrückung aktiviert hat.


    Man muss sich einfach nur die unausgereifte Syncronität von SAMP zu nutzen machen. Cheater die Fahrzeuge nur zu sich porten, syncronisieren diese nicht gleich. :)
    Cheats die ein Fahrzeug für andere Syncronisieren, sind was ganz anderes als sie nur zu teleportieren. (Nur wenige Cheats porten Fahrzeuge indem sie die serverseitig nochmal syncronisieren durch die milisekunden-schnelle Nutzung oder anderen Möglichkeiten)


    Weil man nicht 100% de-synchronisiert wird :wacko:


    Man kann immer noch z.B. Autos teleportieren oder sonst was machen :rolleyes:


    mfg. :rolleyes:

    In so einem Fall könnte man natürlich die Fahrzeuge für den Cheater abgeschlossen erscheinen lassen.
    Sollte er sich dennoch rein buggen, müsste man einfach die Verbindung schließen. (Optional einfach aufs Auto porten)
    Da der Spieler ja nicht geupdated wird, sollte die Position und die Handlung des Spielers/Fahrzeuges nicht mit updaten wenn man auf wirklich alles achtet.

    Das schlimmste was man einem Cheater in SAMP antun kann ist, wenn man ihm nach einer weile zeigt dass alles was er tut umsonst ist/war. (Zeitverschwendung)
    Am besten setzt du eine variable des Cheaters auf einen bestimmten Wert den der Gamemode später erkennt... ab da an sollten einige Callbacks wie "OnPlayerUpdate" den Wert 0 zurück geben und den Spieler schlichtweg vom gesamten Spieleinfluss trennen.


    Der Cheater freut sich dass er 20 Minuten Clientside mit Autos rumwirft bis er merkt dass wenn er einen Spieler rammt, dieser garnicht weg fliegt.
    Im ersten Moment denkt er sich "Oha was ist denn das für ein Anticheat?" dabei liegt es daran, dass die gerammte Person keinerlei Updates von dem Cheater bekommt. (Position,Geschwindigkeit usw)


    Kurz und knapp: Lass deinen Cheater sich austoben ohne dass er merkt dass der Server ihn von sämmtlichen wichtigen Details (Events,Autowanteds,Kills,SupportTickets usw) ausgeschlossen hat und nicht syncronisiert für die Spieler ist. Er wird sich vielleicht noch 5 bis 10 Minuten weiter freuen und dann erst auf die Idee kommen erneut zu joinen. Im Falle eines Rejoins weiss der Cheater nie wann es wieder soweit ist dass der Server ihn einfach wieder "ignoriert und desyncronisiert für andere". :)

    Das Design finde ich sehr schön gehalten, viele mögen ja eher ein GTA Look doch dieser wirkt sauber und aufgeräumt was "mir" zum Beispiel mehr zusagt.
    Ich weiß nicht genau wie ichs ausdrücken soll, aber ich beschreibe es einfach mal so...
    Da ein Anticheat-Client ja das erste ist was man bei euch sieht (Wie ne Art Aushänge-Schild), macht dieser jetzt schon ein "geordneten","freundlichen" und "Chaos freien" Eindruck, genau das was man
    von einem guten Server und Team erwartet später. Zudem ist nicht viel verwirrender Kram dabei was es sehr benutzerfreundlich wirken lässt.
    (Über die Funktionen und Arbeitsweisen kann ich ja nicht viel sagen.)

    Die Mysql Daten werden nicht direkt einlesbar sein.

    Ich hoffe dass euer Programmierer nicht auf die Idee kommt diese überhaupt dem Nutzer zu schicken.
    Wenn es arbeiten mit Mysql geben sollte, dann würde ich dies im Hintergrund über PHP regeln (Natürlich auf einem eurer Webserver) und auch nur die
    erwarteten Rückantworten zurück schicken. Das wäre das sicherste in egal welcher Sprache man ihn schreibt.
    Alles getreu nach dem Motto: "Traue niemanden" und schön auf der Serverseite arbeiten lassen. :)
    (Optional kann auch per TCP Server oder was man halt möchte diese Hintergrundarbeit erledigen lassen.)


    Ein kleiner Verbesserungsvorschlag: Wenn ein Kumpel eines Kumpels...etc... diese Datei verbreitet und ihr somit mehr User bekommt,
    könnte es sein dass diese nicht mehr wissen woher diese Datei original her kommt. Sollte nun einer dieser User ein Problem mit dem Client
    haben aber nicht wissen wer ihr seid, gibt es ein kleines Problem. Wie wäre es mit einem Knopf der die aktuelle Teamspeak IP oder ein Link zum
    Support-Bereich des Forums anzeigt um Hilfestellungen zu bekommen?



    Wünsche eurem Projekt und die Einführungsphase des Clients viel Erfolg. ;)

    Habe bei meinen ersten Maps immer schwebende Objekte gehabt.
    ca. 80% der Map. Oder es hat geflackert! :D

    Naja die von Rockstar Games haben auch nicht schöner gemappt, also hat es ja zum Rest gepasst. :D
    Aber dank fuschender Arbeit einer großartigen Firma hast du ja dein MapFix an den Mann gebracht. :thumbup:
    -----
    Mein dusseligster Anfängerfehler bei SAMP war...
    Ich hab dauernd die Semicolons vergessen weil ich manchmal Tagelang mit Lua zu tun hatte.
    Als ich dann anfing die Dollarzeichen wie bei PHP vor meinen Variablen zu hängen wusste ich: .... "Mensch, du brauchst echt ne Runde Schlaf! =.="


    Schön sind auch Momente wo das Script nicht weiterläuft und man mit kleinen Debug-Zeilen alles nachgucken will und merkt...
    Huch, bei einer "If" Abfrage fehlt ein "!" (Not)


    Ansonsten hab ich zur SAMP 0.1 Zeit sehr viele Fehler gemacht, aber keiner war so dämlich wie der mit der PHP vermischung mitten in der Nacht. :D


    Menschen sind Fehler... ähhh ne, Fehler sind menschlich... so war das doch, nicht wahr? :whistling: