Beiträge von DerSchlawiner

    Moin,


    was ist an Concurrency so schwer?

    Es ist ziemlich basically multi-threading.


    Das heißt du hast deinen Code...denn rattert er von deiner Main Klasse runter und macht halt was auch immer er macht...das ist dein Main Thread.....willst du jetzt z.B auf einen User-Input warten und gleichzeitig im Hintergrund Aktivitäten abspielen wirst du merken das wenn du eine Schleife Startest die Code Ausführung der Main Threads "blockiert" wird....irgendwo auch Logisch du hast ja nur einen Thread in Verwendung....


    Dafür kannst du dann einen neuen Thread starten in dem du ein neues Runnable hast welches wieder lauter kram machen kann....und das kann es auch wenn du deinen Main Thread durch ne Schleife Blockierst....deswegen würde man ja User-Inputs (ich zumindest) normalerweise in nem 2. Thread legen.


    Das Bild erklärt Threads ganz gut..habs einfach schnell durch ne suche gefunden:

    Java Thread



    So zu deinem Hauptpunkt....in Java vorankommen...naja ich weiß nicht was wir hier die Leute sagen sollen außer du kannst dir Bücher holen und Documentations anschauen....wenn du nicht so der selbstständige Lerner bist musst du halt für Vorträge bezahlen und dich bei Kursen anmelden wo du gefördert wirst.


    Ich lerne indem ich z.B Projekte starte wo ich mir am Anfang denke alter das wird nie was....und nach einiges Wochen hab ich dann nen Spaghetti Code den ich gleich wieder weghauen würde, der aber funktioniert....und daraus lerne ich meine Sachen und kann dann wenn ich das ganze das nächste mal brauche darüber nachdenken und verstehe auch die Logik dahinter und kann das sauber hinschreiben.


    Aja, und weil es dein Username so schön sagt, NachCoden ist schön und gut, aber man versteht die Logik meist dahinter nicht...man hat nen Block von dem man am Ende 0 Versteht und nichts gelernt hat...mann kann sich auch einen Code durchschauen, ihn verstehen zu probieren und ohne ihn abzuschreiben probieren anhand das was man glaubt daraus gelernt zu haben selbst in Code zu schreiben...kann aber manchmal sehr frustrierend sein.


    Hoffe das hilft bisschen.

    Guten Abend,


    nach längerer Pause wollte ich mal wieder eine Webseite machen. Im Grunde eine unnötige einfach zum Spaß und wieder zum reinkommen.

    Woran ich aber gerade scheitere und ich weiß nicht welchen Haken ich mir da reingeschmissen habe ist es, ein Füllsize Image zu bekommen.


    Hab leider kein älteres Projekt mehr von mir um nachzusehen wie ich es da gelöst habe.

    Nun ja ich hab schon viel Probiert am Ende ist es jetzt irgendwo oben im niergendwo.

    Man könnte es runterschieben dann schiebt es den ganzen Text mit runter und interagiert mit den anderen <divs>


    Ich weiß das das welcome-background eigentlich in den welcome div Block gehört, ist gerade außerhalb weil ich mich viel gespielt habe. Geht aber auch nicht innerhalb dieses Blocks...hab auch schon probiert das Hintergrundbild direkt auf welcome zu setzen.


    Ich hoffe jemand kann mich da mal gut aufklären.

    Verstehe manchmal CSS echt nicht...


    Edit fiddle - JSFiddle - Code Playground


    Danke.

    Guten Abend,


    ich muss mich für ein aktuelles Projekt zwingend mit Java Frontend auseinandersetzen, womit ich im Grunde wirklich kaum was zu tun hatte davor.

    Ich versuche aktuell ein Button zu platzieren, aber er will seine Location nicht verändern.


    Kann mir da jemand auf die Sprünge helfen?




    Vielen Dank :D

    Dazu hat md5 grade erst etwas geschrieben. Vielleicht nimmst du dir das mal zu Herzen: https://www.spigotmc.org/threa…t-bungeecord-1-17.510208/

    Sonst kann ich dir nur raten, was dir hier wahrscheinlich jeder raten wird: Wenn du Probleme mit Bugs in der Serversoftware hast (was hier offensichtlich der Fall ist, wie du schon selber festgestellt hast) benutz die aktuellste Version und melde den Bug ;)

    Mit freundlichen Grüßen,

    Rincewind

    Es gibt eine guten Grund wieso diese eine Server noch auf dieser Vers läuft.

    Ansonsten würde ich das tun.

    Wo genau setzt du das Inventar auf chest, damit es geht? Du hast da mehr als hundert Zeilen Code, da muss man schon genau wissen was du machst und wo, damit man einschätzen kann warum dies das Verhalten verändert.


    Auch ist das finden von Fehler mit Ausschnitten vom Code nicht gerade sehr einfach, wenn nicht zufällig der Fehler schon genau auf eine Zeile hinweist oder es kein grober Fehler ist, dann ist das ohne Zusammenhänge schon mehr ein rätselraten als eine Fehleranalyse.


    Es wäre gut wenn du nochmal schaust, das wenn der Fehler auftritt, einen kompletten Fehler aus der Konsole zu kopieren und hier zu teilen. Auch eventuell ein bisschen davor und danach mit kopieren, manchmal gibt das auch noch Hinweise darauf woran es liegen kann.

    In dem alten Code oben bei Zeile 17 und bei Zeile 24.

    Der Name des Inventars wird auch nicht übernommen, da übergebe ich mittlerweile auch keinen String mehr.


    Ich kann dir auch mal die gesammte Klasse schicken, das sind dann 1000+ Zeilen Code, aber ich kann dir bestätigen das da sicher nicht anderes etwas beeinflusst :/


    UPDATE: Zu dem anderen das du geschrieben hast. Ja es ist Rätseln weil es keinen Sinn macht und ich noch nie so einen weirden Fehler hatte...


    Hier siehst du das Inventar..also den Anvil...

    Dieser hat keinen Namen...hab ihn dem Fall "Hallo" übergeben als Namen plus per Loop den Anvil mit Glas befüllt...aber auch die Items sind nicht da....ich habe nur das Inventar geöffnet.

    Da kommt auch kein Fehler, er irgnoriert einfach alles.


    Dann wenn ich unten die Items bewege(Sende dir die exakten Codeabschnitte welche dabei genommen werden) kommen diese Errors wie oben.

    Die Einzige Map die ich verwende ich ne HashMap und ne Klasse abzuspeichern....der Code ist mittlerweile strukturierter.


    Der Fehlerspam beim Bewegen von Items


    Der Code der aufgeführt wird bei dem Inventar.

    Code
                  case NAME_TAG:
                    inv = Bukkit.createInventory(null, InventoryType.ANVIL, "Hallo");
                    for(int i = 0; i < 3; i++) inv.setItem(i, Items.getItem(160, 7, 1, "§f", false));
                    player.openInventory(inv);
                    
                    player.playSound(player.getLocation(), Sound.WOOD_CLICK, 1, 2);
                    break;


    Und hier das InventoryClickEvent, mittlerweile mit einem Try-Carch wo ich keinen Fehler ausgebe...




    Und hier was komplett unütze ist nochmal die ganze Klasse solltest du etwas anderes nachschauen wollen:



    Und ich würde wie ich bereits am Anfang geraten sagen das dieser Fehler nicht von meinem Plugin bzw. dieser Klasse kommt.

    Im Fehler geht es m eine ArrayList wo ein index abfragt ist der außerhalb der größe ist...ArrayList ist leer und er will Index 31 z.B haben.

    Das passt nicht zu meinem Code, und darunter haben wir Netty Packets die eindeutig der Inventory Klasse von Spigot zu tun haben...ich glaube das mein Spigot nen backen hat was den Anvil betrifft :/


    Ich habe die eigentlich von hier...(https://getbukkit.org/download/spigot) 1.8.8 runtergeladen....

    Oh Mann, das zipft mich an...

    Update:


    Also, ersmtals..ich weiß nicht wieso ich es hingeschrieben, aber das Inventrar ist ein Anvil kein Hopper....für Texteingabe.

    Und zum zweiten...ich denke das das Inventar scheinbar 0 Slots hat.


    Wie gesagt, ändere ich es zur Kiste...also InventoryType.Chest geht alles....

    Bei InventoryType.Anvil wirft InventoryClickEvent eine Exception, sowie das setzen von Items eine Exception wirtft....nur bei InventoryType.Anvil.


    Jemand eine Idee?

    Machst du irgendetwas mit Packets oder eines der installierten plugins? Wenn du das nicht weißt alle Plugins Rausschmeißen und eines nach dem anderen hinzufügen und testen bis der Fehler auftritt, dann weißt du wer der Übeltäter ist.


    Ansonsten eventuell mal eine andere spigot Version probieren und alles gleich lassen außer der spigot Version.


    Und sollte der Fehler selbst ohne andere Plugins und mit anderer spigot Version passieren, also nur mit deinem plugin muss es an deinem Plugin liegen.

    Hey,


    nein ich weiß über alle meine Plugins bescheid.

    Bisher ist nur ein Plugin drauf was mit meinem CloudSystem kommuniziert und eben dieses...es ist also das einzige was auf Inventory Events zurückgreift.


    Das ist die ganze Klasse mit den Events....etwas anderes greift nicht darauf zurück..



    Entschuldige die späte Rückmeldung.

    LG


    EDIT: Die Sache ist halt, es passiert wirklich nur im Anvil-Inventar....

    Das schöne ist man braucht bei uns keinen Account um Hilfe zu erhalten.

    Man kann ohne Account ganz einfach ein Ticket erstellen oder in den Livechat.

    Ich will euch ja garnicht angreifen, aber ich finde eure Seite sieht schon etwas alt aus :S

    Dafür das diese erst seit knapp 2 Jahren exestiert, würde nichts sagen hättet ihr diese vor 15 Jahren gegründet.

    Der Code den du da geschickt hast hat rein gar nichts mit dem error zutun.


    Wie der Fehler schon sagt versuchst du irgendwo auf etwas zuzugreifen das es nicht gibt. Irgendwo arbeitest du mit einem Array und versuchst da auf etwas zuzugreifen das es nicht gibt bzw auf ein Element das es nicht gibt.

    Das eben das Problem, der Fehler kommt mit dem Event und ich arbeite mit keinem Array in diesem Fall.

    Ohne dem Event tritt der Fehler auch nicht auf..

    Guten Abend,


    mein Problem ist dass das InventoryClickEvent (spigot 1.8.8) ArrayIndexOutOfBound wirft wenn ein Hopper offen ist.

    Ich cancle das Event ganz normal.

    Code
        @EventHandler(priority = EventPriority.HIGHEST)
        private void onInventoryClickEvent(InventoryClickEvent event) {
           event.setCancelled(true);
        }



    Werfen tut er mir das...



    Weiß jemand was da falsch läuft?

    Es funktioniert doch bei Kisten auch?


    Danke!

    Lg

    Damit geht garkein Input mehr :/

    Du könntest versuchen, dem Scanner den Line Break explizit anzugeben. Eventuell wird standardmäßig ein Windows Line-Break verwendet.

    Java
            Scanner scanner = new Scanner(System.in);
            scanner.useDelimiter("\n");
            while(true) { //Loop for Inputs in the console
                String line = scanner.next();
                String arguments[] = line.split(" ");
                
                runInput(arguments);
            }


    EDIT: Es geht ja erst nicht mehr, nachdem er einen Process startet.

    Eigentlich sollte es da eh keine Probleme geben ....


    Hab wie bereits angegeben den Scanner mittlerweile ja in einem unabhängigen Thread.


    EDIT2:

    Das Video spinnt evtl. noch etwas, da die Transkodierung noch läuft, aber habe hier mal das Problem gezeigt :/


    https://devtube.dev-wiki.de/vi…26-498d-96a8-7bb60f7364d6

    Guten Abend,


    ich habe ein kleines Problem mit meinem Scanner.

    Dieser zeigt mir nichts mehr ab, sobald der ProcessBuilder einen Prozess startet.

    Ich kann zwar noch Befehle eingeben und abschicken, dieser werden auch verarbeitet, jedoch zeigt er mir eben nicht an was ich tippe.


    Unter Windows geht es ohne jegliche Probleme.

    Habe den Scanner testweise jetzt auch über einen Thread laufen lassen, das half jedoch auch nicht weiter :/



    Ich verwende den Scanner ganz typisch :D


    Code
            Scanner scanner = new Scanner(System.in);
            while(true) { //Loop for Inputs in the console
                String line = scanner.next();
                String arguments[] = line.split(" ");
                
                runInput(arguments);
            }


    Edit: Was mir noch aufgefallen ist, manchmal sendet er automatisch den Befehl ab. Ich bin echt confused.... :(


    Gibt es da unter Linux spezifisch etwas zu beachten?!

    Vielen Dank :D


    "Nico Sammito, Geschäftsführung (Full Stack Developer)"


    Das ist also eine Firma dann?

    Ist das dann kommerziell?

    Nichts leichter als das, ich erklär dir das kurz mal.


    Du hast eine login.php und eine index.php.

    Login.php ist die Anmeldeseite und index.php der geschütze Berreich.


    Login.php


    Damit hast du deine Login Seite.

    Nun zur geschützen Seite...die ist recht simple.



    Habe mich bemüht deine Frage so gut wie es nur geht zu beantworten.

    Solltest dir damit noch nicht klar sein wie man sowas Umsetzt solltest du dich noch etwas mit PHP auseinandersetezn, bevor du deine eigene Webseite schreibst.

    Und wenn du mit MySQL Arbeitest dann escape immer, ansonsten wirst du sehr schnell rausfinden was eine SQL Injection ist.


    LG

    Abend,


    und zwar habe ein kleines Problem damit in PHP etwas AES 128bit zu verschlüsseln, um es dann wieder in Java zu entschlüsseln.

    Ich muss dazu sagen, ich bin kein Profi was die AES Verschlüsselungmethode betrifft, ich habe mich erst seit diesem Projekt zu diesem Thema eingelesen.


    Da das ganze sowieso alles neu generiert wird werde ich hier alles offenlegen.


    Ich generiere mit in Java automatisch einen Key, falls keiner vorhanden ist, den ich dann meinen Wrapper gebe.

    Das geht ohne Probleme...was aber in PHP anders aussieht...


    Mein Key sieht aktuell so in aus "ff/pLjQWeroeE9Ia1HwwIF2abHLxTJQbt1v4a/usc/M\="

    Der ist meines Wissens nach encoded, in Java lese ich denn mit dem Base64 Decoder ein und bastle mir daraus einen SecretKey.


    In PHP muss ich ehrlich sagen das ich keine Ahnung habe wie ich das machen soll...

    Habe am Anfang probiert mir das ganze mit Internetquellen selbst zusammenzubasteln, was aber eher semi-gut ging, naja eigentlich ging es garnicht.

    Bin dann irgendwann auf folgende Klasse gestoßen bin und mir da einiges abgeguckt habe (nur für PHP):

    Externer Inhalt gist.github.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Mittlerweile verwende ich die Klasse auch so wie sie ist.


    Wie lese ich denn den Key nun richtig ein in PHP, ihn einfach so zu übergeben wirft nur fehler.

    Aktuell gibt die Klasse von "demisang" folgendes als fehler aus: "Secret key's length must be 128, 192 or 256 bits" aus.

    Was wohl daran liegt das ich den Key auch in PHP decoden muss


    Das sind meine zwei Java Funktionen, welche so ohne Probleme funktionieren:


    Vielen Dank an denjenigen der sich damit schon mehr beschäftigt hat und mir das etwas erklären kann :)


    EDIT:


    Ich benütze die Cipher Klasse von "demisang" im übrigen gerade so:

    Code
    $encrypted = AesCipher::encrypt($config['SOCKET-E2EE-KEY'], $cmd);
    
    echo $encrypted->getErrorMessage();
    echo $encrypted->getData;


    Wobei $encrypted->getErrorMessage() die Fehlermeldung von oben beinhaltet.

    $encrypted->getData ist null....weil Fehler.

    Schön das diese Infos für euch Interessant sind.


    Nun zu den Infos die für mich Interessant wären und vermutlich auch auf alle anderen hier zutreffen:


    • Was macht dein Projekt besonders?
    • Ehrenamtlich oder vergütet?
    • Habt ihr bereits eine Community?
    • Die finanzielle Absicherung(Keiner will Zeit in die Entwicklung investieren, wenn es dann in 2 Wochen heißt, keine Lust mehr, das kostet mir zu viel)

    Das waren nur ein paar Punkte.

    Dein Beitrag enthält nur Kontaktinformationen, so gut wie keiner wird sich Zeit und Mühe machen, um sich mit euch in Verbindung zu setzen, um mehr über das Projekt zu Erfahren.


    Dieser Beitrag hat eindeutig Verbesserungspotenzial.

    Les dir einfach diesen Beitrag durch: SEI BESSER! - die gute Stellenausschreibung für Minecraft Server


    LG,

    Thiemo

    Prinzipiell müsstest du ja an sich die versendeten Chat-Pakete an dich (bzw. den Spieler der keine Chatnachrichten mehr bekommen soll) nur blockieren.

    Ich bin mir gerade nicht mehr sicher, ob man dies auch direkt in BungeeCord oder nur auf den Spigot-Servern realisieren kann, aber für beides gibt es sicherlich Tutorials im Netz.

    Mir ist bewusst das ich dafür die Packete abfangen müsste, jedoch habe ich keinen gefunden die über Bungeecord gehen.

    Guten Abend,


    das ich aktuell an einem CloudSystem arbeite, ist ja seit meiner letzen Frage kein Geheimnis mehr.

    Nun habe ich eine Frage.


    Wie würdet ihr am besten das Webpanel umsetzem.

    Ich könnte natürlich einen HTTP-Server starten und bischen hin und her machen....da das ganze aber eine schöne Login-Seite usw. haben soll würde ich doch gerne auch PHP, mit dem ich jetzt auch schon lange Arbeite verwenden.

    Problem, es macht keinen Sinn einen HTTPServer zu machen, um dann alles wieder per PHP zu machen.


    Ich könnten A

    einen Tomcat Server machen und eben über Java Servlets eine Webapplikation schreiben. Damit habe ich allerdings null niento Ahnung davon, da muss ich mich komplett neu einlesen.


    Oder B)

    Eine externe Webseite schreiben mit PHP die dann über Sockets sich die Informationen holt.



    Was würdet ihr machen.

    Bin mir nicht sicher ob sich das lohnt eine Java Webapplikation zu schreiben usw usw....


    Danke!!


    LG