Beiträge von Lead0b110010100

    Er soll alle Tools wie gmake und gcc47 usw. installieren (Wobei du wahrscheinlich gcc48 meinst, weil man ab da stdc++11 nutzen kann).. für einen einfachen Rootserver?

    Was du meinst ist die Compilerumgebung.

    Kannst du das nächste Mal ein größeres Bild in 8k hochladen? Das würde mir helfen das besser zu lesen hahahhahahahahah


    -------------------------------------------------------------------------------


    Hier im Forum gibt es echt schon genug Tutorials um den Sourcecode zu compilen. Suchen und finden (und zerstören)!

    This tutorial is building on: Bitte melden Sie sich an, um diesen Link zu sehen. and will show you how to build a maintainable (over remote ssh) compile environment


    Replace configuration (-parameters) in /etc/ssh/sshd_config for remote access

    Code
    1. sed -i "" "/#Port 22/s/.*/Port 22/" /etc/ssh/sshd_config;
    2. sed -i "" "/#PasswordAuthentication no/s/.*/PasswordAuthentication yes/" /etc/ssh/sshd_config;
    3. sed -i "" "/#PermitRootLogin no/s/.*/PermitRootLogin yes/" /etc/ssh/sshd_config;
    4. sed -i "" "/#PubkeyAuthentication yes/s/.*/PubkeyAuthentication no/" /etc/ssh/sshd_config;


    Restart sshd service to reload configuration (-parameters)

    Code
    1. service sshd restart;


    Install pkg with default configurations

    Code
    1. cd /usr/ports/ports-mgmt/pkg/ && make -DBATCH install clean;


    Use pkg command to install needed packages

    Code
    1. pkg update;
    2. pkg install --no-repo-update --yes \
    3. gmake \
    4. python2 \
    5. makedepend \
    6. cryptopp \
    7. gcc48 \
    8. devil \
    9.     mysql56-client

    # CAUTION: Installing devil with all sub dependencies may not be the best choice depending on the lib-explicity of your Makefile

    # Be sure only importing needed libraries of devil to prevent your core's from overloading


    (Optional) Use pkg command to install nice to have packages

    Code
    1. pkg install --no-repo-update --yes \
    2. nano \
    3. htop


    That should be all. Feel free to leave a comment for further questions.

    Achso und noch etwas Kleines:


    Code
    1. gmake -j


    ist nicht so eine gute Idee, zumindestens in diesem Falle nicht. Die meisten virtuellen Maschinen nutzen maximal 1 Core standartmäßig, darauf ist Multithreading also die Anzahl an Jobs die du hier angibst nicht möglich, was der CPU dann intern macht ist Multiprocessing in line (das hin und her jumpen zwischen den Prozessen, was einen Overhead erzeugt) was zu einer hohen Auslastung führen kann und dadurch deinen Prozess insgesamt eher verlangsamt.


    Dazu aus der offiziellen Dokumentation zu GNU make:


    Code
    1. -j [jobs], --jobs[=jobs]
    2. Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.


    Allgemein gillt als Faustregel: Das Doppelte deiner bereitgestellten Cores kannst du als Threads einrechnen. Bei mir also 4 vCores = 8 Threads, oder noch konkreter:


    Code
    1. gmake -j8

    Prüf mal den Inhalt deiner


    InstanceBattle.cpp

    Code
    1. BOOL CInstanceBase::CheckAttacking(CInstanceBase &rkInstVictim)


    Funktion sowie den Inhalt deiner


    ActorInstanceCollisionDetection.cpp

    Code
    1. BOOL CActorInstance::AttackingProcess(CActorInstance &rVictim)


    Funktion.


    Da könnte womöglich son Quick and Dirty Check drin sein, der einen Logikfehler aufweist alias (Achtung ihr Profis, Pseudocode):


    Code
    1. if user.getRace() in (warrior, ninja) return false;

    Soll ich zu den nächsten Schritten (Installieren der Dependencies zum Compilen, optimieren/einstellen der CFLAG's für das Debuggen später mit gdb) etc. einen weiteren Thread erstellen?


    Ansonsten: Könntest du das noch hinzufügen? Und ein bisschen was an der Formatierung machen? <code> Tags wären sehr gewünscht!


    P.S: Wollte gerade so einen Thread schreiben, weil ich für mich gerade eine neue Umgebung aufsetze und daran dachte, dass ich relativ häufig Fragen bekomme hierzu. Schöner Thread! :)

    Hab die Fassung oben überarbeitet, diesmal getestet.

    Aus deinem Bild ist mir leider absolut unklar was du versuchst. Ich sehe 2 Syntaxfehler, 2 semantische Fehler und table.getn(mysql_query(...)) macht keinen Sinn. Du willst doch einfach nur x und y oder? Dann mach es wie bei mir oben mit der Funktion 'mysql_direct_query' :)

    Bei meinem Clienten gibt es keinen Kick fals eine Pack nicht gefunden werden kann. Allerdings kann ich mir gut vorstellen, dass das dein Kickgrund ist. Er erwartet diese Datei im /pack Ordner des Clienten.

    SYSERR: Nov 21 13:46:21 :: ForAttrRegionFreeAngle: SECTREE_MANAGER::ForAttrRegion - Unhandled exception. MapIndex: 1

    (Check Server_attr locale/maps/map1 (index 1)


    SYSERR: Nov 21 13:46:07 :: SpawnMob: SpawnMob: no mob data for vnum 20381

    (no Data Directory in Server and Proto)

    That my friend are warnings by YMIR's senseless warning system. Concentrate on your config files on db/auth and game cores.

    You'll probably find something there, otherwise it could be an error in your client too, so check the clientside syserr there.


    If you're not able to solve that problem, feel free to contact me here. We'll solve that together.

    Die Funktion 'mysql_direct_query' gibt entgegen der Funktion 'mysql_query' genau zwei Werte zurück:

    rows - Die Anzahl an veränderten / hinzugefügten / gelöschten Tupel (kurz: 'touched tuple')

    result - Eine Ergebnisliste dieser Tupel


    Im Code sieht das dann Beispielhaft für dich so aus:

    Ich hab das nicht getestet, aber du kannst dich melden, wenn ich irgendwo einen Fehler hab.

    Was hast du zuletzt am Server gemacht ?

    Wieso wird das so oft runtergevotet? Der letzte Change am Server kann sehr wohl aussagekräftig genug sein um einen Bug zu finden. (Wenn auch dieser Ansatz bei mir eher einer der letzten wäre. Wenn ichs lang genug probiert habe, nutze ich mein Versionskontrollsystem e.g 'git' und springe ein paar Versionen zurück.)


    Schick mal deine syserr vom client hier rein :)

    In deinem Falle vermute ich wie Syntax höchstwahrscheinlich auch einen Python-Logik und/oder Syntaxfehler, der zu deinem Crash führt.

    Abgesehen davon, dass die meisten hier nur auf Beef für ihren Spaß aus sind:


    Wenn du SO anfängst, kannst du keine ordentliche Hilfe erwarten. Wenn du andere als "unfähigen crap wannabe devs" beleidigst, solltest du schon selbst was auf dem Kasten haben. Weißt du was? In der Industrie wären wir alle maximal Junior Entwickler, wenn nicht sogar würden wir als Praktikant eingestuft werden. Gibt so ein paar große Namen, darunter Marty, Vanilla und musicinstructor denen ich abkaufe keine "unfähigen crap wannabe devs" zu sein, wie du es so schön ausdrückst.


    Also: Sei selbstbewusst, aber nur, wenn dir deine eigenen Fähigkeiten bewusst sind.


    _____________________________________________________________________________________________________


    Und nun zu deiner Frage: SQL Injektionen funktionieren nicht auf Basis der Programmiersprache sondern eben SQL so wie der Name das schon beschreibt. Eher spielt das Datenbankmanagementsystem hinter ihnen eine große Rolle. Ein Angriff auf SQL Server erfordert ganz andere Kenntnisse, wie ein Angriff auf eine Mysql oder eine Oracle - Datenbank. Es gibt marginal unterschiedliche Keywords, wesentlich unterschiedliche Funktionen und verschiedene Outputs und Angriffsmöglichkeiten. Du siehst also: Sehr viel was geprüft werden müsste.


    Zum Scannen gibt es Tools wie (Achtung vor false positives, die Tools wurden auch nur von Menschen programmiert):

    Zed Attack Proxy


    Ein richtiges fachkräftiges Audit wirst du hier kaum finden. Maximal jemanden wie dich und mich, der 2 Bücher gelesen, 10 Videos geschaut hat und denkt er wär der Highland. Genau das empfehle ich dir, lern wie SQL Injections grundsätzlich funktionieren und such deine Webseite ab.


    Du hast einen Vorteil gegenüber eines Angreifers von außen: Du kannst in deinen Code schauen ;)

    Dafür ich umso mehr das ichs verstehe :D

    Gildenlager + CH Switcher ist wie Offline Shop + CH Switcher: ein Paradies für Verdopplungsbugs.

    Und deshalb entbuggt man diese Systeme, bis es klappt. Sie so, wie sie released wurden zu nehmen, ist meines Wissens keine gute Idee. Aber Systeme aus diesen Gründen komplett rauszulassen ist wirklich schade.

    Sehe ich auch so. Entbugg sie einfach und lass sie ordentlich testen.

    Füg am besten noch deinen eigenen Code hinzu (das zeigt das du den vorhandenen verstanden hast) und halte den Code sauber, um Bugs schneller zu finden.