Beiträge von RegeretSam

    gehörst leider trotzdem zum team und bist auch aktiv im thread vertretenebenfalls reagierst du auf dinge der community.

    dein auftreten zeigt nur, dass das hotel nichts werden kann. wird am ende eh jeder gebannt der dir nicht passt.

    Jaa ok dann geh wieder in deine Vault und schreis da herum. Weißte alle aus Retros etc sind auch auf RT haha Palme

    Gratulation, wohl das minderbemittelteste Team seit langem, daher setzt es einen Dislike, da aus diesem Projekt nichts werden wird, davon bin ich überzeugt. Wenigstens habt ihr dabei anscheinend noch viele neue Dinge gelernt, wenn es auch für uns keinen Nutzen haben wird, so habt ihr wenigstens was gelernt.

    Deine Visage muss auch ziemlich minderbemittelt sein & kannst Stolz darauf sein - Da sich aus dir nie was entwickeln wird.

    #NoHatersWelcome

    Ihr arbeitet mittlerweile knapp 4 Monate am Hotel? Was macht ihr denn solange?

    • Eigenen Webserver programmiert (BigStorageHTTP)
    • C/C++ Webkompatibel gemacht (CLI - C/C++ Language Interface, mit Web-File Templates)
    • Lernen von Datenkompression
    • Eigenen Gameserver ( "Emulator" ) programmiert (Sind noch dabei)
    • Arbeit/Schule

    In dem Projekt geht es uns, den Programmierern, eigentlich nur um das Erweitern des Wissens & das Ergebnis darin.
    Dem Management geht es darum, dass durch das gute Ergebnis Spieler aus einem Schrott Hotel wie https://retrotown.ws/www.Habbo.st, https://retrotown.ws/www.Hubba.cc, https://retrotown.ws/www.Jabbo.cc sie sich zurückziehen & in einem Hotel (unseres) mit mehr Möglichkeiten spaß haben können - Abgesehen dass das Management auch noch die Aufmerksamkeit im Internet bekommt, die die sie schon immer wollte.

    Das beste an solch einem selbst geschriebenen Gameserver ist, dass das Updaten viel einfacher ablaufen kann :) Patches, Feature updates, ... Ist ein riesen Development dass aber Spaß macht :)
    Vor 2016 wird es sowieso nichts seitens des Gameservers geben. UND ´Nein, wir benutzen für den Client kein ActionScript :')

    Darunter Planen wir noch, ob wir den Gameserver nicht doch lieber als ISO-Image zum Virtualisieren verwendbar machen wollen; Weshalb? Windows benutzt schon mindestens 1500 Threads & 40000 Handles - Durch den Gameserver würden die Handles & Threads sich vermehren, was wiederrum zu Schaden führen könne - Da too many threads dauerhaft für den Server verletzend sein können. Ja, es ist nur Habbo - Aber ist doch egal! Wer spaß darin hat kann ja seinen Spaß daran haben :)

    Der jetzige Stand des Gameserver ist noch in 'plain C/C++' (unmanaged code) geschrieben - Was zu verdammt vielen Vorteilen schaft aber auch zu NUR EINEM Nachteil: Bibliotheken;
    Wir benutzen zwei externe Bibliotheken bis jetzt: Chilkat & rapidxml (Http & XML support => Für kommerzielle Nutzung (Patches, Updates)).

    Also, Geduld ~ :)

    PS: Das Development des Gameservers ist zur Zeit pausiert, da der Client fehlt - Daran wird bereits von einem anderen Team (Das seitens mir und einem Freund gehört) getüftelt.

    Vor hackern sich zu schützen, ... Geht 100%.
    Da meistens der Fehler im Code liegt; Du musst eben schauen wo du einen Filter einbauen könntest, sichergehen das die Software die du benutzt ebenso sicher ist.

    Vor DDoS-Attacken kannst du dich nicht vollkommend Absichern wenn du einen Server gemietet hast, aber Anfragen ausfiltern kannst du.
    Hast du einen Server daheim, dann schau dir die Netzwerkkarte an. Das wichtigste ist immer die Netzwerkkarte/Anbindung.

    Du musst die Inputs einlesen & teilen, Silbensysteme etc. Vergleichen! Am besten per Dateisystem (Ist leichter zum teilen).

    Webseiten benutzen Kopfdaten (<meta>), musst halt hinsitzen und dafür sorgen die Meta-Daten abfangen zu können, aussortieren und einteilen.
    Ich habe kein Plan wie man da Anfangen sollte in der ersten Zeile, aber wie es halt funktioniert & mit sicherheit beginnt solch ein Skript nicht mit '<?php ?>' ;) noch '#'.
    Wenn du schnelle Resultate willst, musst du per 'Rhythmus' arbeiten, Daten komprimieren & alles mögliche drum & dran. IP/MAC speichern, den Benutzer kennenlernen für Vorschläge & sooo vieles merken.

    Du musst auch die Rechte von Staaten außerhalb einhalten; Also lass das; Wenn du es seriös meinst wärst du auf StackOverflow. Also jo programmier aus Spaß

    Saubere Erklärung! 7/10, da man PHP heute nicht mehr bevorzugen sollte;

    Die Zukunft liegt in den Händen von Python & Erlang.

    Ich persönlich benutze CLI, C/C++ Language Interface for Web für den BigStorageHTTP Webserver (BSHW) von mir entwickelt für ein kommendes Projekt - Da PHP nicht unsere Anforderungen erfüllt.


    Wer CLI kennenlernen möchte, hier Links:

    Das Hotel befindet sich der Zeit noch in der Aufbau-Phase. Vorschläge sind natürlich nicht auszuschließen! Jeden Tag wird darüber diskutiert was man besser machen, oder gar ganz verändern könne. Wir arbeiten mit einem dynamischen, gut strukturierten - in C/C++ selbst geschrieben Habboserver, der uns schnelles Patching ermöglicht.

    Ich möchte dazu Habboserver sagen, da dieser einem "Emulator" gar nicht ähnelt - Noch irgendetwas emuliert.

    Der Schwerpunkt eines Programmierers liegt darin, Leuten mit dem Endprodukt Spaß zu ermöglichen, Probleme so schnellst wie möglich zu beheben.
    Zeit ist Wertvoll, die Lebenserwartung von uns liegt bereits schon über den 100 Jahren, deswegen - Zeit in solch einem Projekt zu investieren ist ein tolles Gefühl!
    Ich selbst stand neulich vor dem rießen Problem "return"-Werte der Web-Anfrage abzufangen, es machte mir rießen Spaß mein Wissen zu erweitern und dieses Problem
    beiseite zu schaffen - Man muss bedenken, wir benutzen systemeigenes C & C++. Grips & Tricks sind gefragt!

    Von einer Umschreibung, dass sich R63A & R63B Benutzer im selben Client treffen können, ist nicht auszuschließen - Wie dies aussehen solle wird auf jeden Fall noch besprochen.

    Darunter wollen wir gebannten Spielern auch noch eine Gelegenheit geben sich "Sozial Integrieren" zu können über einer "Dunce-Session". - Für einige GTA Spieler kommt es ziemlich bekannt vor - Wird jedoch nicht so übernommen wie in Grand Theft Auto. -

    Bei dieser Dunce-Session wird noch debattiert;

    • Gebannte Spielern ein Treffen erlauben
    • Gebannte Spieler in einem Raum für sich isolieren

    Bei irgendwelchen extra-Wünschen oder Erwartungen ~ Lasst es uns wissen!

    Hey, zuerst einmal musst du, wie oben schon genannt, die Programmiersprache die Dir gefällt oder dazu geeignet ist aussuchen.

    Du musst Fähigkeiten erfüllen wie Erfahrungen in

    • Multi-Threading
    • Binary reading & writing
    • Packet Managing
    • Filesystem Managing
    • Logging
    • (Als NLP) CPU Architektur
    • wissen von Dynamic & Static IP Handling
    • (Als NLP) Memory al-/delocation

    Wenn du noch ein Anfänger, oder kein Freund von eigenen Bibliotheken schreiben bist,
    dann solltest du zum .NET Framework 4.5/4.6 greifen. Unterdem .NET Framework agieren folgende brauchbare Sprachen:

    • C#
    • Visual Basic
    • C++/CLI
    • Oxygene

    Damit bist du zum Beispiel bei einem "commercial used" Server mit automatisierten Updates einen Schritt weiter als einem Native-L-Programmer, da du Zugriff auf Bibliotheken hast die dir das Auslesen einer XML per HTTP ermöglichen, dir erlauben mehrere Datentypen zu konvertieren ohne großen Aufwand.

    Falls du aber schon Fortgeschritten und ein Freund von eigenen Bibliotheken schreiben bist, stehen dir

    • C
    • C++
    • Ada (A#)
    • Rust
    • Perl
    • Erlang

    und viele weitere zur Verfügung! Nehmen wir an, du hast dich für C & C++ entschieden. C für das "Directory-Handling" & C++ für den eigentlich Teil.
    Was du nun jedoch beachten solltest ist, dass dir keine Bibliothek zur Verfügung steht die dir direkt das Auslesen einer XML per HTTP erlaubt. Versuchen wir anhand eines Beispiels zu erleutern wie kompliziert (aber auch Spaßig) es ist mit native code zu arbeiten. Wir wollen einen kleinen simplen, nicht so fortgeschrittenen Updater schreiben. Was zu beachten ist HTTP & XML reading;

    • fstream, ifstream & ofstream sind schließlich lokal

    Erstellen wir erstmals eine Header-Datei namens ExternC.h:


    Perfekt! Unser kleines C-Skript ist bereit und kann nun C++ Unterstützen.

    Nun erstellen wir eine Header-Datei namens PackageManager.h in der wir per 'Namespace' strukturiert vorgehen:


    & we're done. Nice! Bevor wir mit der C++-Datei PackageManager.cpp anfangen, lädst du dir die Chilkat- & rapidxml-Bibliothek herunter. Binde diese in dein Projekt mitein, oder verlinke mit -I (gcc/g++);
    VORSICHT: Chilkat & rapidxml werden in diesem Beispiel nur verwendet, um die Antwort hier, die eh nicht schon groß genug ist, nicht zu vergrößern!

    Okay, you're done? Nice; Jetzt erstellen wir die C++-Datei PackageManager.cpp:


    Die update.xml wird temporär heruntergeladen & nach dem Auslesen sofort wieder gelöscht! Daten die gespeichert werden müssen, werden im Ordner "Saved" verschrieben.

    Nachdem die C++-Datei (Einstiegsmethode) main.cpp:


    angefertigt wurde, kreieren wir nun die update.xml im Verzeichneis wie im Code oben angegeben:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <update>
    	<version>0.1.0</version>
    	<type>patch></patch>
    	<root>container/</root>
    	<methodTags>Sockets;Stability;C;DLL;EXTERNAL</methodTags>
    	<PackageData>_11032015.package</PackageData>
    </update>

    und eine patch_11032015.package im Verzeichnis wie im Code oben angegeben:

    C
    /* Erstelle ein Hallo Welt Programm, öffne die Ausgabe-Datei mit dem HxD-Editor und exportiere sie. Füge die Ausgabe in diese Datei (patch_******.package) ein. */


    Nachdem wir das nun alles haben, kompiliere das Projekt/die Skript-Dateien per Visual Studio/GCC/G++.

    Erstelle mit Notepad++ eine leere Datei namens Server.exe und speichere sie beim Updater ab. Du kannst auch eine bestehende App verwenden, du musst sie eben nur in Server.exe umbennen! Führe den Updater aus & falls alles geklappt hat (was es auch sollte) kannst du Server.exe starten und schauen ob deine neue gewollte Ausgabe aus dem Patch übernommen wurde.

    MfG,
    RegeretSam

    PS:
    *Falls du einfachere und simplere Codes haben möchtest, adde mich in Skype: masteret.sam

    Update 3 { / }

    Die Web-API wird bereits programmiert! Ein gesamt Ausschnitt der AddCredits.php.
    Das Skript an sich erklärt sicherlich schon die meisten Abschnitte. Eine Selbst kreierte POST - Anfrage
    wird nutzlos sein. Der Token wird abgespeichert & der Supervisor-Server fragt nach dem Return-Value ab, das Anti-Cheat wird den Token
    prüfen, die Aktivität untersuchen und dementsprechend handeln.

    AddCredits.php


    config.inc.php (Simple gemacht - Für öffentliche Nutzung)

    Update 2 { / }

    Plugins können nun geschrieben werden; Der Code bedarf an Verbesserungen & Erweiterungen.

    Plugin.h (v0.2 Plain)



    Plugin.cpp (v0.2 Plain)

    Update 1 { / }

    Md5 ist nun voll Funktionsfähig.

    Code source:

    Erstmals ~ Danke an alle! :)

    wie kommst du eig an die mac adresse ran o.o

    Wie stellst Du dir das vor?

    Wünsche Dir viel Erfolg & Glück mit diesem Projekt.


    Wie soll ich denn sowas hier erklären :P
    Simpler Code wäre (Falls ihn wer braucht):

    Spoiler anzeigen

    für Unix/Unix-Like (BSD|Linux). Die Bibliothek von Windows kenne ich nicht auswendig, Sorry.

    @Aaerix;

    Gutes Kommentar. Eventuell können wir dies machen. Spannung ist eine wichtige Sache ;)
    Das Problem das es bei dieser Sache gibt sind eben die ganzen Queries & Threads. Stell dir mal vor folgendes vor ~ Benutzer haben eine Anzahl von 25 Räumen, alle Vollgepackt mit unzählichen Möbelstücken. Der Server ist zwar Multi-Threaded, aber die Queries sind enorm groß und die haufen Prozesse... Würde man sowas als Attacke ausnutzen gäbe es schon Performance-'Issues'. Essei den man verfügt über einen massigen Server. Dennoch über 4GB RAM zu steigen ist irgendwie... Eine peinlich Sache. Ich weiß nicht warum ich es peinlich finde. Auf jeden Fall fühle ich mich damit nicht wohl! Die einzige möglichkeit gäbe es die Threads auf eine begrenzte Anzahl einzuschränken. Was aber wiederum schon einen End-Benutzer an Zeit kostet ~ Wäre sicherlich nicht oK für Ihn ~ Warteschlangen

    ja für linux gibts derzeit einfach keine guten emulatoren (zumindest mir keine bekannt)

    obs sinn macht nen neuen emulator zu schreiben obwohln die userzahlen eh nurnoch am sinken sind musst du wissen, aber denk dran es ist deine zeit die du imprinzip verschwendest. die zeit die du da rein steckst hättest du wenn du gearbeitet hättest sinnvoller genutzt und geld dafür bekommen. so nur nen virtuelles dankeschön, wenn überhaupt. :D

    Du musst das so sehen;
    Du tust es nicht für andere oder irgendwas. Nein, du tust es weil dir das programmieren Spaß macht und ich hab neulich meine Freundin verloren deswegen ... Frust abbauen mit C/C++! :) Aber das mit den Userzahlen stimmt, aber hey... Deutsche Retroszene ist nicht die Latino-Szene. Auf alle Fälle tue ich das weil es mir Spaß macht.

    Habt ihr euch schon mal vorgestellt Habbo auf R63 und R63B während derselben Zeit zu spielen, ohne jegliche Benutzerdaten zu verlieren?
    Schön, ihr habt es euch zwar schon mal vorgestellt, ... Aber was wenn dies 2016 Wirklichkeit wird?

    Introduction

    Ich bin Stolz euch eine neue Habbo-Server Generation vorzustellen.

    Wie findet Ihr es Habbo auf r63 und r63b zu spielen ohne einen neuen Benutzer anzulegen, z.B. auf https://retrotown.ws/www.beta.habbo.xx?
    Wie würdet Ihr es finden in der selben Datenbank abgespeichert zu sein?

    Im moment ist dies nur ein Traum von Habbo-Fans. Jedoch bin Ich stolz an solch einen Server zu arbeiten,
    der diesen 'Traum' verwirklicht, ein neues Level - Developed in Germany!

    Ein rießiges Equipment an Sicherheitsmaßnahmen, Datenab- & aufrufe ohne den End-Benutzer jeglichen Spaß einzugrenzen!
    Programmiere deinen eigenen Bot mit der benutzerfreundlichen Sprache 'iBot'. Spiele Snowstorm, FastFood, Grand Theft Habbo oder manage das Hotel ohne Sorgen um die Sicherheit!
    Tägliche Updates, neue Inhalte, wie neue Möbelstücke, neue Klamotten oder Raummodelle. Eine viel Zahl an Feature Veröffentlichungen, Patchnotes & unendlich viel Spaß.

    Kreiere eigene Räume, bearbeite Raummodelle oder modifiziere dein Aussehen.
    Du möchtest in Habbo genauso Dick sein wie du es schon vielleicht bist? Na fein! Dank unserem Character-Customization Tool ist es dir möglich deine Charakterform anzupassen. Fett, oder doch so muskulös wie Hulk sein? Einige kennen bestimmt den Begriff 'EasterEggs'.
    Glaubt Ihr das es in Habbo extraterrestrische Aktivität gibt, oder paranormale Aktivität?
    Eventuell möchte wer die Vergangenheit von Frank kennenlernen? ...

    R63 & R63B Konversation - Explanation

    Nun, zur Frage wie das ganze mit dem R63 & R63B Support funktioniert, ... Möchte ich euch in diesem Kapitel erklären!
    Ihr werdet wie gewohnt einen Account registrieren, die Registration verläuft wie überall - Eine Registration eben.
    Seid ihr einst auf der Me-Page habt ihr eine freie Auswahl, entweder ihr tretet der r63 version bei oder der R63b.

    Tretet ihr in R63 ein, so pointet nun euer Account auf r63 und ist in r63b nicht spielbar. Sprich, tretet ihr spontan r63b bei so werdet ihr feststellen das
    euer Invenatar leer ist, eure Taler, Pixel, Respektpunkte, Aktivitätspunkte fehlen und eure Räume nicht aufgelistet werden
    die ihr im r63 Client erstellt und benutzerdefiniert Designt habt, jedoch könnt ihr diese transferieren.
    Tretet dafür, wie oben genannt, in den r63b Client ein, per One-Click wählt ihr "Daten transferieren" aus und akzeptiert die Terms of use & Rechtslinien.
    Einst transferiert so sind eure beiden Charaktere gesplittet. Räume die Ihr im R63b client baut werden ( auch andersrum) im r63 client nicht angezeigt!
    Ihr könnt unteranderem auch mehrere Charaktere erstellen und diese per E-Mail & Passwort & darauffolgende Mail-Bestätigung transferieren.

    Möglichkeiten zu Cheaten - Regelung mit Banns

    Cheater werden mit einem Bann bestraft der 1 Woche anhält. Gecheatete Daten werden vom System zurückgesetzt.
    Benutzer die unter Hotelarrest stehen werden per MAC-Adresse (Hardware) gebannt.
    So ist eine Versuchung durch einen neuen Account oder ein Neustart des Modems ein Fehlversuch, er hält 1 Monat an.
    Vulgäre Inputs werden vom System nicht geprüft, ist Moderation erforderlich!

    Server - Information

    Der Server besitzt noch keinen Namen, Ich plane auch keinen Namen dafür. Der Server, den ich aus Gründen nicht Emulator nenne, ist für ein kommendes Projekt geplant.
    Für den Server wird C & C++ verwendet, für die Web-API Erlang & Python! Der verwendete Webserver dafür nennt sich LightTPD, modifiziert und Ressourcen-Freundlich !

    :thumbup:

    Benutzt wird MySQL, kein MssSQL, PostgreMySQL, Nein... MySQL!
    Der Server wird vorerst unter Unix/Linux verwendbar sein, eine Windows Version ist derzeit noch nicht in Planung.
    Gründe dafür sind Sockets und Zombie-Prozesse, die Prozesse die dem Kernel schaden.

    Screenshots (Source Files intern)

    ActionTypes.h (0xXX - Nicht Hardware spezifisch)

    Spoiler anzeigen

    EasterEggs.h

    Spoiler anzeigen

    Base64.h

    Spoiler anzeigen

    Protection.h (Beinhaltet Bugs)

    Spoiler anzeigen

    Volle Protection.h

    Spoiler anzeigen

    Unvollständig (5% only)

    Developer

    Spoiler anzeigen

    -RegeretSam/Masteretsam (Server)
    -GP3 D4NI (Animationen/Grafiken)


    Danke für Eure Geduld und das Ihr es gelesen habt. Ciao, wer mehr Dateien will soll zahlen oder bis 2016 warten und wer meint sowas bräuchte man nicht braucht nicht Kommentieren. :thumbup:

    ToDo-List

    Spoiler anzeigen

    Base64 En-/Decoding :up:
    MD5 - En-/Decoding :up:
    String - Types :up:
    Boolean/Bool - Types :up:
    Network - Handling (48%)
    Sockets :down: (45%)
    Session - Management :down: (55%)
    ...