Beiträge von Booksize

    ADD: InitRouting ist drinnen, die Commands sind so aufgeteilt wie es oben steht.
    Bis heute abend werde ich die überflüssigen Object- und Creature-Spawnes aus dem LogonServer entfernen, dann kann man endlich mal das ding ohne Hilfsbetrieb anlaufen lassen.
    Abschliessend werde ich hier noch ein kleines Tut anfügen, damit man auch in etwa weiss, wie man das Ganze in der DB und im System einstellt.

    Später wird dann auch USAGI komplett von BitBucket gelöscht und wenn alles glatt läuft dürfte Namiko bald bei und von MythCore unterstützt, weiterentwickelt und "vertrieben" werden.

    Es gibt neues:
    Werde nun im laufe des Tages Namiko das initialrouting einbauen, damit ist dann das Map-ClusterPorting drinnen.
    Anschliessend werden die ChatCommands aufgeteilt.
    !=LogonServerCommand
    .=ClusterServerCommand

    Das ganze wird dann mit "ADD: InitialRouting implemented" im Commit stehen, ab dann sollte die Core ihr routing können und man kann seine ertsen spielereien auf dem Cluster machen.
    Als kleine Bitte verweg, nehmt vorischtshalber Windows, denn ich weiss nicht ob die Core noch die negativen Folgen eines Deadlocks hervorrufen kann (USAGI machte dies leider und war deshalb unter Linux unbrauchbar).

    LG GiR-Blunti

    Denke mal das hat sich nun erledigt :)
    Mache die Core so weiter, Grundprinzipien sind wieder alle drinnen, plus kleine Neureungen und was noch fehlt wird gebaut.
    Möchte gerne die Core mal final sehen (einige größere Server-Projekte auch xD ).

    Lösung: Lösche Windows, dann wird sie wieder leer und das Problem ergibt sich von selbst :P

    Nee mal im ernst, Avira kann nur bekannte Vieren finden, aber wenn sich nun jemand mit dir nen Spaß erlaubt hat und dir so ein lustiges Programm draufgehauen hat, dann fahr mal in den Abgesicherten und schau mal obs hier nicht mehr vorkommt.
    Ist das der Fall schnapp dir den Regedit und schau mal unter
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    und
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

    Dort stehen zu meist alle Programme die beim Startup gefahren werden.
    Nun lösch einfach die Einträge zu dem Programmen die dir spanisch vorkommen, ausser:
    Windows Defender
    und vllt dein VirenProgramm

    Wenn das nicht bringt im Autostart nachschauen oder bei den Diensten.
    Ist dort auch nix, hast du ein Problem, dann hägt die Datei an einer Exe drann und wir automatisch gestartet wenn die Exe aufgerufen wird.
    Ab dann hilft nur noch Systemwiederherstellung (im Falle du hast einen Herstellungspunkt).

    LG GiR-Zippo

    Ich konnte es nicht lassen, also hab ich mich mal wieder daran gesetzt und eine TrinityCore geclustert.
    Nun stellen sich sicherlich einige die Frage was ist ein Cluster und was kann er?

    Ein Cluster ist recht einfach zu beschreiben:
    - Man kann die Wold auf viele Server aufspalten und hat somit einen guten Lastenausgleich
    - Man kann mehr Player auf einem Realm fassen (single Cores 2-4k Cluster 8-12k)
    - Stürzt ein Cluster ab, dann crashed wenigstens nicht die ganze World
    - Man kann einen Cluster-Server ondemand abschalten und durch einen neuen ersetzen (falls mal ein Teil in der World bugged)
    - Der LogonServer wird gleichzeitig BackupServer sein, d.h. das Teil speichert die wichtigsten Sachen mit
    - Man kann auch sehr leicht die Welt um eigene Maps erweitern, man muss nur dem standartsystem die Accespoints (wahlweise mit Portalen) zuordnen und dem Client seine gemoddeten Files geben

    Okay, nun muss ich zugeben, das alles kann die neue Core noch nicht, bis jetzt ists ne pre alpha die ich aus der USAGI heraus gebaut habe.
    Diese Core baut auf der MythCore auf, welche wiederum ein Ableger der Trinity ist und wenn das Ding final ist dann kann witzig werden.

    Geplant sind z.b.: Realmpools für BGs und Inis die man auch Projektübergreifend machen kann (da müssen sich aber die Projekte selbst einig werden wer den PoolMaster hat)

    Die Core hört auf den CodeName Namiko was soviel wie Welle (Wasser) heisst.

    Zu finden ist das Teil unter:
    zippo / Trinity_Namiko / overview — bitbucket.org
    Viel Spaß beim Compilen, basteln und experimentieren.
    Wer natürlich Lust hat mir bei der Core zu helfen ist herzlich dazu eingeladen, die Ziele die ich oben genannt hatte sind nicht zu hoch gesteckt und auch umsetzbar.
    Es hört sich immer alles schwieriger an als es ist :)

    Achso, wer sich für die VorgängerCore interressiert sie hat den CodeName Usagi (Hase) und ist hier zu finden:
    zippo / Trinity_USAGI / overview — bitbucket.orgMit dieser Core und Yumi hab ich die ersten Erfahrungen in diesem Bereich gesammelt, wobei sich Yumi doch eher an die Spourius Emu orientierte, welche im C++ relativ ineffektiv war.

    LG GiR-Zippo

    PS: USAGI konnte schon die grundlegenden Routings und komplettes Map-Clustering, leider bin ich nicht mehr dazu gekommen die ganzen GUID-,Gruppen-,Time-Syncs umzusetzen, die leider auf dem Cluster need sind, damit alle Cluster/Nodes das gleich Wissen haben.
    Hier mal ein Bild vom LogonServer und dem Cluster_A im Betrieb (noch USAGI):

    Der NetSend ist standartmäßig dektiviert, weil einige Hirnies das im Internet genutzt hatten um anderen Leuten mit ihrer prn Werbung aufn Nerv zu gehen oder irgendwelche besch*** Systemnachrichten zu versenden.

    Wenn die Leute in eurer Schule recht standart sind, dann könnte es noch das alte WinChat geben.
    Dieses Programm ist direkt zum Chatten im WindowsNetzwerk gewesen.
    Bei 95/98/ME/2000 wars noch in der standart Install drinnen.
    Bei meinem WindowsXP ists auch noch da und das war ne standart install.
    Also mit viel Glück könnte es bei such auch noch da sein.

    CMD: winchat

    LG GiR-Blunti

    Zum Thema Net-Code:
    Der ist in Europa nicht rechtlich geschützt, wobei hier nur das Protokoll zum übertragen gemeint ist.
    Das Ausspionieren des Codes mittels Wireshark und co, ist aber wiederum ein anderes Thema und bedarf mehr Recherche, denke aber das ist dies nicht legal ist.

    Spenden sind ohnehin Illegal, erst recht wenn der Betreiber auch noch auf seiner Site hinweist. Private Spenden an die Person selbst nicht, aber hier darf der Gegenstand der Spende nicht der Server sein, sondern die Person.
    (Bitte nochmal recherchieren)

    Die EULA nimmst du in dem Moment an, in dem du das Spiel startest und sie dir durchliest.
    Damit gehst du einen bindenden Vertrag ein, solange du das Spiel nutzt.
    Klar kann Blizzard dies nicht nachvollziehen, trotzallem ist das ganze Bindlich und somit hat man sich an den Vertrag zu halten.
    (Trifft auch auf andere Software zu)

    Die P-Server werden von Blizzard nur geduldet, solange sich die Server an kleine "ungeschriebene" Gesetze halten.
    Ferner wird Blizzard vorerst nicht in Deutschland klagen, was aber eher auf die minimale Gewinnausschöpfung bei einem solchen Verfahren zurückzuführen ist.
    Denn Blizzard macht sich mit solchen Klagen wenig Freunde und würde hier mehr Geld in das Verfahren stecken als sie am Ende sehen.
    Was aber nicht heisst, das sie nicht irgendwann hier auch mal einigen Servern auf die Finger hauen.


    Die Software zum Emulieren von diesen Server ist selbst nicht illegal, aber weil sie sich auf Material von Blizzard stützen ist das Betreiben dieser illegal (das öffentliche Betreiben).
    Denn die Maps und DBCs werden nicht selbst geschrieben oder aus einer eigenen Datenbank geholt, sondern aus den Dateien, die aus dem Client-Archiven extrahiert werden bereitgestellt.
    Somit nutzt man Copyright-geschützes Material um seinen Server zu betreiben.
    Bei den alten Servern hatte man für die meisten Dinge eine SQL Datenbank, wo (fast) alle Objecte usw gespeichert waren.
    Dieses wird heute leider nicht mehr in dem Umfang paraktiziert und mehr und mehr auf DBCs aufgebaut.

    Das Spielen auf diesen Servern ist ohnehin illegal, warum?
    Weil ihr hierfür eine Datei ändern müsst, die aber wiederum zum Programm gehört, es aber aufgrund der EULA untersagt wird Dateien am Client zu modifizieren.

    Für alle, die, die nochmal die Auszüge aus der EULA brauchen:

    Zitat

    5. Verpflichtungen des Endbenutzers

    A. An diese Lizenzgewährung gebunden, dürfen Sie weder ganz noch teilweise Kopien, Fotokopien, Reproduktionen, Übersetzungen, Rückentwicklungen, Herleitungen von Quellcodes, Modifikationen, Disassemblierungen, Dekompilationen oder abgeleitete Arbeiten herstellen, die auf dem Spiel basieren, noch irgendwelche Eigentumsanzeigen oder Eigentumsetiketten von dem Spiel entfernen. Die Missachtung der in dieser Ziffer 5 enthaltenen Einschränkungen und Restriktionen führt zur sofortigen und automatischen Beendigung der hier gewährten Lizenz und kann für Sie zivil- und/oder strafrechtliche Konsequenzen haben. Ungeachtet des Vorstehenden dürfen Sie eine (1) Sicherungskopie des Spielclients und der Handbücher anfertigen.

    B. Sie stimmen zu, dass Sie unter keinen Umständen

    (iii) als Spielleiter (Host) für das Spiel fungieren oder für dieses Dienste anbieten oder entwickeln, die der Initiierung von Spielen dienen, oder Kommunikationsprotokolle abfangen, emulieren oder weiterleiten, die in irgendeiner Weise von Blizzard Entertainment verwendet werden, und dazu Methoden verwenden wie insbesondere Protokollemulation, Tunneling, das Ausspionieren von Paketen, die Modifizierung oder Hinzufügung von Komponenten zum Spiel, die Benutzung eines Utility-Programms oder irgendeiner anderen schon bekannten oder zukünftig entwickelten Technik. Dies gilt für jeden Zweck, einschließlich, aber nicht darauf beschränkt, nicht-autorisierte Netzwerkspiele über das Internet, Netzwerkspiele, die kommerzielle oder nicht-kommerzielle Gaming-Netzwerke verwenden oder die zu Content-Aggregation-Netzwerken gehören;

    Falls nochwer was anzufügen oder korrekturen hat, so tue er das bitte.

    LG GiR-Blunti

    Um nicht hinten an zu stehen, stell ich mich auch mal vor.

    Unter Booksize oder GiR-Zippo/Blunti/Booksize treibe ich im Netz mein Unwesen.
    Bin zur Zeit Leiter und Admin von Earthenring, Progger bei EARN und Element-Network und Sammler von Computern.

    Ferner progge ich ab und zu an der USAGI-Core, die vielleicht demnächst auf 335 weiter geschrieben wird, schreibe kleine Tools und spiele gerne mit Reaktor5.
    Was mich auch gleich zu einer weiteren Tätigkeit von mir bringt: Musik.

    Ich lege ab und an auf, mache Musik mit Reason, spiele Keyboard, Gitarre und Schlagzeug.
    Was sicherlich eine gute Abwechslung zum Programmieren bildet.

    Ein weiteres kleines Hobby ist lesen.
    Hier mag ich sehr die Bücher von Stephen King.
    Mangas sammel ich auch, hier aber nur Neon Gen. und Gunnm.

    Tjoa, was hab ich noch vergessen, achja die kleine Bildersammlung, meiner Rechner xD

    http://a.imageshack.us/img715/4599/33921582.jpg
    http://a.imageshack.us/img683/8464/regs.jpg
    http://a.imageshack.us/img338/4765/72695595.jpg
    http://a.imageshack.us/img38/4839/63032062.jpg

    Naja ist alles recht spartanisch angeordnet, liegt daran weil ich nicht gerne die Rechner aus der Versenkung hole, sondern lieber gleich aufm Tisch habe...
    Vielleicht kennt ja der eine oder andere noch einen der Kisten xD


    Lg GiR-Zippo/Blunti

    NEWS:

    Instance Fixes:
    PDC ist nun blizzlike
    Grube loot nochmals angepasst
    Schmiede loot ebenfalls korrigiert

    Weil wir nun neue Spieler bekommen, hab ich mich dazu entschlossen den Zeitplan zu ändern und ICC als letztes zu bearbeiten, damit der Content so spielbar ist, wie von Blizz gedacht.

    In Vorbereitung:
    Ulduar komplette Instanz
    PDK komplette Instanz
    ICC ohne Luftschlacht (wird eingefügt, wenn ich mal wieder Luft habe und die Core darauf vorbereite die NPCs an die Schiffe zu bounden)
    Rubi final Scripting (das grobe Script liegt schon länger auf der Halde)

    Hi :)

    Weil ich grad nicht wirklich weiss wo hin damit, post ichs hier mal rein.
    Das Script ist wie der Name schon sagt ein kleines Script was in Python realisiert und auf Linux ausgeführt einen "IP-Ban" tätigt.

    Das ganze ist recht einfach aufgebaut:
    - Iptables flushen um mehrfachadds zu verhindern
    - verbindung zu MySQL-Datenbank aufbauen
    - Die zu bannenden IPs holen
    - einen IPtables-Eintrag hinzufügen, der eine Weiterverarbeitung der ankommenden Pakete der IP verhindert

    Vorrausetzungen:
    - MySQL
    - Python
    - Iptables
    - Python-MySQL Library

    Die DB-Structure

    Code
    CREATE TABLE `BanList` (
      `IP` text NOT NULL,
      PRIMARY KEY  (`IP`(30))
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Das Script

    Selbstverständlich kann man das Script auch auf mehreren Computern ausführen und dabei eine einzige DB auf einem Zentralroot haben.
    Spart arbeit, denn nun kann man Zentral auf eine DB zu greifen und muss nicht auf jeden root die Iptables seperat setzen.

    LG GiR-Blunti

    PS: Es hilft bei Synfloods nicht, aber die Jungs mit ihren kleinen Scantools für Apache, Console, usw kann man so schön sauber rauswerfen.
    Es werden halt von allen IPs die in dem Table sind die eingehenden Pakete verworfen.

    Dazu passend gleich noch ein kleines PythonScript um die IPs per Console in die DB eintragen zu können:

    writeip.py

    Die Benutzung ist recht easy:
    $writeip.py 127.0.0.1

    Das ganze kann man dazu verwenden um mit Fail2Ban die gesperrten IPs per CustomAction in die DB zu verfrachten um den anderen Roots eventuelle "angiffe" zu ersparen.

    So ein Fail2Ban-Acion kann so aussehen:

    /etc/fail2ban/action.d/write-to-mysql.conf

    Viel Spaß damit.

    LG GiR-Blunti

    Wer seinen Char mitnehmen möchte kann auch Chartrans machen :)
    Die Option soll keinen verwährt werden...
    Gefundene Bugs bitte ins Mantis earthenring-wow.de/mantis Posten.

    Des weiteren stehe ich noch vor der Frage, ob ich Sayuri weiter auf der bisherigen Basis weiter programmiere oder das System komplett auf die neue Struktur der Trinity umschreibe...

    Jain, nur weil er grad etwas leer ist, dachte mein Team und ich so ne Aktion währe nicht schlecht.
    Natürlich werden wir es nicht bis komplett 100Player durchziehen, denn das währe ja funlike oder instant :)

    EARN ist mit Laenalith-WoW.com verschmolzen und ist damit als eigenständiges Projekt passé.

    Leicht fiel uns die Entscheidung nicht, aber ich bin der Meinung das 400 Mitspieler doch besser sind als nur noch 20 wie wir am Ende waren.


    Ein Teil der Administrativa ist weiterhin bei LaLeLu tätig einige andere versuchen sich derzeit an einem CataClysm Projekt und ein kleiner Teil pflegt den MineCraftServer von LaLeLu xD


    LG GiR-Blunti

    Schnapp dir den GCC, CMake und nen Notepad. Das geht zur Not auch.
    Aber am besten wird wirklich erstmal VC++ 2008 sein, was glaube ich fast alle verwenden.
    Ich verwende es auch sehr gerne als bessere Umgebung, compiled wird unter Linux, weil die meisten Progs von mir eh Plattformübergreifend sind xD

    Achja, nen Buch ist ne gute Idee, aber so nen I-Nettutorial tuts zur Not auch.
    OnlineTutorials.de | C++ | Tutorials
    Da gibts einige gute.
    C++ Online-Kurs des FB Mathe/Info Uni Marburg
    Das ist eines womit ich angefangen hatte.

    LG GiR-Blunti

    Naja, das KeyLess XOR hab schon im Feldversuch gehabt.
    Funzte einwandfrei, ist mir vor Jahren in der Schule im Unterricht eingefallen.
    10 Jahre später hab ich das ganze mal innem Programm umgesetzt.
    Ist auch nicht schwierig oder gar kompliziert und ressourcen fressend aber fürs erste Wirkungsvoll :)
    Das Probelm ist nur das die Counter syncron laufen müssen, was aber nicht weiter Tragisch ist, weils relativ einfach zu lösen ist.
    Dumm nur, wenn jemand den Einsprung und den Faktor hat, ab dem Moment nutzt das ganze nix mehr, denn dann muss man neu modulieren.

    Welche Tabelle es ist, bekommt man schnell raus, jeder Computer hat sie, jeder nutzt sie, aber kaum einer weiss das sie Statisch basiert xD

    Das Verschlüsseln würde ich mit einem T- oder standart XOR-Verfahren machen, weil beide recht unverbreitet sind.
    Einen rotierenden Schlüssel der bei jeder Transaktion weiter generiert und auf den ersten aufbaut.
    Damit ist schonmal auf die schnelle nix zu machen.
    So sollte die Leitung sicher sein, weil man nun den InitKey braucht um einen Cluster vorgaukeln zu können, der nunmal nicht mitgesendet wird xD
    T-Code oder 3PairCode ist zu aufwändig und auch schwer zu handlen (z.b. A12BDx98DF2x67BCA, so in etwa würde der Code aussehen ein 3x5er standart)

    Wie genau das mit dem XOR abläuft möchte ich lieber nicht erläutern...