Jump to content

Realusion

Members
  • Posts

    57
  • Joined

  • Last visited

  • Days Won

    1

Realusion last won the day on September 10 2016

Realusion had the most liked content!

1 Follower

Profile Information

  • Gender
    Male
  • Location
    Austria

Recent Profile Visitors

4668 profile views

Realusion's Achievements

Poring

Poring (1/15)

15

Reputation

  1. Wie bereits erwähnt gibt es drei Hauptkeys, welche einfach auszulesen sind, ja. Das ist aber grundsätzlich erstmal egal, weil aus den Hauptkeys, Subkeys abgeleitet werden, die jedes Packet verändern. Abhängig von der Stärke der Hauptkeys, wiederholt sich die Subkeysequenz nach x Schritten, wobei x mit der Stärke der Hauptkeys wächst (tadelnder Kommentar hierbei an Gravity [oder wer auch immer die Standardkeys für die verschiedenen Clientversionen gewählt hat], die offensichtlich nicht in der Lage sind, halbwegs gute Keys festzustellen). Macht man sich nun die Mühe einen Packet Sniffer zu erstellen, der die mathematische Funktion der Keygenerierung imitiert (oder hooked direkt in den Client um die Keys abzufangen?), ist das Ganze summa summarum relativ einfach zu umgehen. Für die Methode spricht selbstverständlich der Komfort.
  2. Nicht spiel-, aber communitybezogen: Die Community wurde wiedermal geteilt - in rAthena und Hercules
  3. Learn the fundamentals of C and then dive right into the source code. Make mistakes and throw all of your messy code away. Then learn from it and start over. While doing so, try not to go crazy and don't give up. Unfortunately various parts of the emulator are a giant mess. Since plenty of people have contributed over the years and there was not enough focus on strict coding guidelines and specifications, it was bound to happen. To be blunt, amateurish commits which should have been rejected also made it into the emulator, but I suppose this is not a surprise either, considering the quality requirements for developer positions at various points in the emulator history.
  4. Hi, die aktuellste Version erhältst du grundsätzlich immer via GIT: https://github.com/rathena/rathena Das Subversion Repository, zu jenem du hier verweist, wird ebenfalls mehr oder weniger up-to-date gehalten, dann aber bitte Trunk verwenden - vergiss Core Optimize. Die 3rd Jobs sind in Trunk genauso enthalten, doch die Ordnerstruktur ist etwas anders (npc/re/jobs). Tatsächlich handelt es sich bei dem Unterordner "re" um jegliche REnewal Angelegenheiten. Ad Core Optimize: Wie bereits erwähnt irrelevant. Bs-coreoptimize war, soweit ich mich erinnern kann, ein Projekt von Sirius_Black, mit dem äußerst noblen Ziel diesen hoffnungslosen, gigantischen Zombie von C-Code in den unteren Schichten zu verbessern. Wesentliche Ziele des Projekts, die mir spontan einfallen: Multi-Threading, neues Netzwerk-Subsystem. Grundsätzlich sollte bs-coreoptimize kompilier- und einsatzbereit sein, jedoch sollte man auf etwaige Nebenwirkungen gefasst sein. Seit 2009 hat sich auch an der Scripting-Engine etwas getan. Wie ich eben gesehen habe, entsteht vom Autor des verlinkten Guides offenbar hier zurzeit eine neue Fassung - man darf also gespannt sein. Grundsätzlich lässt sich aber anmerken, dass sämtliche Befehle noch verwendbar sein sollten, da üblicherweise Funktionalität lediglich erweitert und nicht entfernt wird. Ad Clientversion - keine Ahnung, bin selber nicht mehr aktiv und nicht up-to-date. Ad deutsche Texte - ob öffentlich verfügbar, bin ich mir nicht sicher. Auch hier gab es immer wieder mal das Projekt sämtliche Texte in eine deutsche Fassung zu bringen. Eventuell liegen Teile davon hier noch irgendwo rum. Ad Serverbetriebssystem - grundsätzlich ist es egal, ob Windows oder Linux. Jedoch wird Linux üblicherweise aufgrund der höheren Flexibilität und Stabilität bevzorzugt.
  5. I know for certain, that you cannot be certain about being perfectly safe. That being said, MD5 should not be an option - it should be replaced entirely. I recommend bcrypt or scrypt, with bcrypt being the better fit currently as it is tested and understood a lot better. Interestingly, I was messing around with this matter a while ago - however, I'm currently on hold due to plenty of work and university coming up again.
  6. Not by default. However, Unity does support .fbx, which means you can convert the files to that format. For reference, see: https://rathena.org/wiki/Modeling#RSW.2FGND_to_FBX
  7. Realusion

    Achtung!

    Anmerkung hierzu: Einen German Community Moderator gibt es derzeit nicht.
  8. Ich denke nicht, dass jeder spezielle E-Mail/Passwort Kombinationen für RO verwendet - im Gegenteil, die Versuchung ist groß, die selben Daten überall zu benutzen. Wenn zudem aufgrund von Unwissenheit seitens des Admins die Passwörter nichtmal als MD5-Hash (inkl. Salt) o. Ä. gespeichert sind, kann das unangenehm werden.
  9. Hi, hört sich ja nach einem sehr ambitionierten Projekt an. Der Aussage, die besagt, dass der geplante Projektstart per nächsten Jahres stattfinden soll, entnehme ich, dass es erstmal besser ist abzuwarten und Tee zu trinken. Sofern das Vorhaben dann weiterhin besteht und die entsprechenden Kompetenzen vom gegebenen Projektteam erfüllt sind, habt ihr mein Interesse und meine Aufmerksamkeit!
  10. Doch. Siehe \doc\permissions.txt Permissions sind, wie bereits erwähnt, in der groups.conf einzustellen. Zum Beispiel: Definition in der groups.conf etwa:
  11. Der Server zählt bei Schleifen die Anzahl der Durchläufe mit, um bei einem Infinite Loop ab einer gewissen Zahl abzubrechen. Wenn du etwa ein Skript hast, welches eine extrem hohe Anzahl von Schleifendurchläufen aufweist, musst du Freeloop() benutzen, um die Infinite Loop Schutzmaßnahme zu deaktivieren. Das schlimmste, das dir passieren kann, ist, dass du tatsächlich einen Infinite Loop produzierst, der deine Serverressourcen auffrisst und du den Prozess killen musst.
  12. I'd prefer a slightly different variable-naming as well. Unique_id or uid seems perfectly fine to me. This is not about updating without reading the change logs, whatsoever - it's more of a future reference issue. There's enough of confusing and/or redundant code all around the emulator already and code like this is not guaranteed to remain understandable in the future. Let's try to keep it in a cleaner way from now on at least. On the whole this is not something to make such a fuss about, though - let's try to solve it in a mature way.
  13. Da dieses Phänomen viel mit Networking und dem Code des Gravityclienten zu tun hat, gibt es darauf unglücklicherweise keine einfache Antwort. Server-Client Kommunikation findet offensichtlich mit einer entsprechenden Verzögerung (Latenz), abhängig von der Distanz zwischen Server und Client, statt. So treffen in vielen Fällen die getätigten Aktionen erst einige Millisekunden später beim Server ein, was ggf. in der Verbindung mit Packetverlusten ausgelöst durch den Clientcode zu unregelmäßigen Intervallen in der Skillbenützung führen kann. Gut zu beobachten war dies auch beim Skill Occult Impact, wo es für Spieler mit einer höheren Latenz (etwa Europäer auf einem US Server) möglich war, 2 oder sogar 3 Spheres direkt hintereinander ohne Delay abzuschießen. Für einen Amerikaner in dieser Form unmöglich. Ein weiterer Faktor, der eine Rolle spielt, ist die Skillanimation. Um beim Beispiel Occult Impact zu bleiben: Die Animation von Occult Impact kann etwa durch die Benützung anderer Skills wie Hyper Spirit Spheres unterbrochen werden. Dies führt dazu, dass der Skill schneller wiederbenutzt werden kann, sofern er kein serverseitiges Delay besitzt. So viel zur Erklärung. Konkret bedeutet das, dass es meiner Meinung nach in eurer Situation die einzig sinnvolle Möglichkeit wäre, eventuell etwas an der entsprechenden Skillanimation zu ändern. Ggf. kann dies das Verhalten verändern. Alle anderen Lösungsansätze wären zu weit hergeholt und würden auf keinen Fall sinnvoll sein.
  14. ad SQL: Sicher, dass du eine SQL Serversoftware auf dem entsprechenden Rechner laufen hast? Falls ja, Rechte des Datenbankbenutzers überprüfen. Siehe Abschnitt "Die Datenbank" des Guides. ad Client: Einen Client stellt man sich am besten selbst zusammen. Auch hier, siehe Abschnitt "Diffen / Hexen des Clients" des Guides. Eigentlich wurde alles relativ gut erklärt.
  15. ad Mastery: True, I forgot about battle_addmastery() ad defense: What I mean are solely the defense values acquired by equipment and stuff - not % resistances. The following was taken from iRO Wiki: which makes sense. The way I want to explain it, we'd get something similar to this (kinda pseudo-code on purpose obviously): ATK = calc_sATK() * 2 + calc_wATK() + calc_eATK() + battle_addmasteries(); apply_defense(ATK); calc_sATK() { ignores Raydric card et cetera } calc_wATK() { apply weapon element apply raydric card et cetera } calc_eATK() { apply weapon element apply raydric card et cetera } apply_defense(ATK) { factor defense stuff and alter current ATK } I hope my point is somewhat understandable.
×
×
  • Create New...