Netzwerkproblem mit Minecraft-Server?

Guten Morgen und Hallo allerseits!

Ich hatte gestern Abend ein Problem, welches ich bisher noch nicht hatte.

Ich habe auf meinem Computer einen Minecraft-Server erstellt, um über das Internet mit einer anderen Person in derselben Minecraft-Welt spielen zu können. Dazu gebe ich jeweils den Port in meiner Fritz!Box für die aktuelle temporäre IP meines Rechners frei und nutze zusätzlich den IPv6-zu-IPv4-Dienst von Feste-IP-net.

Das alles hat die letzten zwei Wochen reibungslos funktioniert.

Gestern trat während des Spiels aber folgendes Problem auf:

Zunächst verlor ich selbst die Verbindung zu meinem Minecraft-Server, während die Discord-Verbindung noch kurzzeitig bestand (Person konnte mich dann aber nicht mehr hören; aber ich sie). Etwa 10 Sekunden darauf, nachdem ich Minecraft auch beendet habe, verliert mein Computer die Netzwerkverbindung.

Der PC bleibt außerdem beim Herunterfahren oder Neustarten an. Windows wird beendet, Bildschirme werden schwarz, aber der PC geht nicht aus oder bootet neu (ich habe ca. 2 Minuten gewartet). Ich muss ihn dann zwangsweise herunterfahren.

Nach dem nächsten Start funktioniert alles wie gehabt und ich kann beim Surfen sonst keine Probleme mit meiner Netzwerkkarte feststellen. Auch Herunterfahren / Neustarten funktioniert dann wieder wie gewohnt.

Das Problem trat innerhalb einer Stunde zweimal auf, danach habe ich es nicht erneut versucht.

Im ersten Moment dachte ich, jemand hätte sich über den offenen Minecraft-Port eingehackt, aber wozu würde man dann die Netzwerkverbindung kappen? Wäre das realistisch und könnte man einen unbefugten Besuch von außen nachvollziehen? Ein Defekt der Netzwerkkarte ist wohl auch eher unwahrscheinlich, eher ein Treiber- oder Softwareproblem.

Könnte meine Fritz!Box dafür verantwortlich sein, wenn sie irgend etwas "verdächtiges" feststellt und deshalb die Verbindung zu meinem Gerät trennt?

Ich fand das alles sehr seltsam, weil es die Tage zuvor wunderbar lief.

Mein PC: https://www.dropbox.com/scl/fi/9h2lg3icd8f4516djuc3v/Computer-von-Kevin-HP.paper?dl=0&rlkey=jdypxshuxmyial1o77rcp6ulu

Vielleicht hattet ihr ja schon mal ähnliche Probleme in Verbindung mit Minecraft bzw. dem Ausfall der Netzwerkverbindung.

Ich danke euch!

PC, Server, Computer, Internet, Windows, Technik, Netzwerk, Java, Minecraft, FRITZ!Box, IPv6, Minecraft Server, Netzwerkkarte, Technologie, portfreigabe, IPv4, Windows 10, Spiele und Gaming
In einem TextField die Zahlen nebeneinander anordnen (Java)?

Guten Tag,

ich programmiere gerade einen kleinen Taschenrechner. Dort kann man (natürlich) Zahlen und Operatoren eingeben. Das funktioniert auch schon prima, doch werden in dem TextField, in welches die ausgewählten Zahlen und Operatoren geschrieben werden, diese nicht nebeneinander, sondern übereinander geschrieben.

Meine Frage ist jetzt, wie man programmiert, dass die nebeneinander geschrieben werden. Dazu ein kleiner Auszug aus meinem Code:

JFrame fenster = new JFrame("Taschenrechner");
JTextField textErgebnis = new JTextField();
GridBagConstraints c = new GridBagConstraints();

JButton sieben = new JButton("7");
JButton acht = new JButton("8");

[...]

c.gridx = 0;
c.gridy = 1;
c.gridwidth = 1;
fenster.getContentPane().add(sieben, c);
  
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 1;
fenster.getContentPane().add(acht, c);

[...]

sieben.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Integer i = 7;
textErgebnis.setText(i.toString());            
            }
        });
acht.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Integer i = 8;
textErgebnis.setText(i.toString());            
            }
        });
[...]

(Wenn jetzt der Button "7" und danach "8" gedrückt wird, stehen die beiden Zahlen übereinander)

Vielen Dank schon mal im voraus!

Computer, programmieren, Java, Informatik, GUI
Java: Zugriff auf Attribute von Objekten einer Arraylist durch Variablen?

Erstmal mein Code, dann die Erklärungen.

Der Vollständigkeit halber ein größerer Ausschnitt der Klasse KontaktController:

boolean gefunden = true;
int durchgang = startseite;
int[] informationen = new int[2];
char[] zeichen = suchbegriff.toCharArray();
String zwischenspeicher = new String();
for(int j = 1; j <= 6; j++) {
    switch (j){
        case 1: zwischenspeicher = "sVorname"; break;
        case 2: zwischenspeicher = "sNachname"; break;
        case 3: zwischenspeicher = "sStrasse"; break;
        case 4: zwischenspeicher = "sOrt"; break;
        case 5: zwischenspeicher = "sPlz"; break;
        case 6: zwischenspeicher = "sTelNummer"; break;
    }
    System.out.println(zwischenspeicher);
    gefunden = true;
    for (int i = 0; i < zeichen.length; i++) {
        if (!kontaktArrayList.get(durchgang).zwischenspeicher.contains(String.valueOf(zeichen[i]))) {
            gefunden = false;
        }
    }

Eigentlich geht es mir nur um die Zeile :

(!kontaktArrayList.get(durchgang).zwischenspeicher.contains(String.valueOf(zeichen[i]))) 

Ich möchte, mit der Variable "durchgang" auf ein bestimmtes Objekt der Klasse Kontakt zugegriffen wird, welche alle in der "kontaktArrayList" gespeichert sind. Es wird also ein bestimmtes Objekt zurückgegeben, von dem dann ein Attribut abgefragt werden soll. Welches das ist, wurde vorher in der Switch-Case Abfrage festgelegt.

Wenn ich direkt ein Attribut hinschreibe (z.B. [...] .get(durchgang).sVorname[...]), dann geht es. Ich müsste dann allerdings die innere For-Schleife sechs mal mit immer einem anderem Attribut nutzen, weshalb ich es lieber so machen würde, wie oben gezeigt. Die Fehlermeldung lautet "Cannot resolve symbol 'zwischenspeicher' ". Gibt es irgendeinen Trick oder muss man an bestimmten Stellen Klammern setzen, damit auf den Text von "zwischenspeicher" zugegriffen wird?

Computer, Technik, programmieren, Java, Informatik, Technologie
Spigot/Java ein value aus einer HachMap löschen?

Hallo ich versuche mal den code zusammenzufassen:

HashMaps:

public static HashMap<UUID, Chunk> map = new HashMap();
public static HashMap<UUID, Chunk> mapCreator = new HashMap();

Spieler:

Player player = (Player) sender;
UUID playerUUID = player.getUniqueId();

Zum erstellen der Stadt:

if (args[0].equalsIgnoreCase("create")) {
    if (!(Main.mapCreator.containsKey(playerBOSS)) && !(Main.map.containsKey(playerBOSS))) {
        if (args.length == 1) {
            Chunk town = player.getLocation().getChunk();
            Main.mapCreator.put(playerBOSS, town);
            Main.map.put(playerBOSS, town);
            player.sendMessage("Du hast eine Stadt erstellt!");
        }

dann kann man jemanden einladen und dann kann der mit /town accept annehmen

und wird mit:

Main.map.put(playerUUID, town);

hinzugefügt.

Und jetzt will ich das ich die Stadt löschen kann und nur der der auch die stadt erstellt hat, also jemand der in der map mapCreator ist und das value von dem key (seine UUID) gleich dem Chunk entspricht in dessen value der ist also sowas wie:

if (Main.map.get(playerUUID) == town) das habe ich auch so aufgeschrieben

so das er halt die town "meint" in dessen map/value der ist.

Ich bin mir nicht sicher ob das klappt aber jetzt kommt erst mein richtiges problem...

Wenn mehrere in meiner town sind gibt es ja mehrere keys zu einem value und die muss ich ja irgendwie auflisten können um sie alle auf einmal zu löschen, weil dann das value nicht mehr exestert ODER gibt es eine möglichkeit ein value aus einer hashmap zu löschen? im internett habe ich sowas wie: for (Map.Entry<UUID, Chunk> entry : Main.map.entrySet()) {
    UUID k = entry.getKey();
    Chunk v = entry.getValue();
    System.out.println("Key: " + k + ", Value: " + v);
    Main.map.remove(k);
}
Main.map.forEach((k, v) -> {
    System.out.println("Key: " + k + ", Value: " + v);
    Main.map.remove(k);
});

gefunden aber da kamen fehlercodes und es hat ncht wirklich funktioniert...

Kann mir jemand sagen wie ich den delete teil machen kann?

Computer, Technik, programmieren, Java, Minecraft, Technologie, Spiele und Gaming
Könnt ihr mir beim Programmieren eines Vokabeltrainers helfen?

Hallo!

Ich bin gerade an dem Programmieren eines Vokabeltrainers über BlueJ. Die Eingabe der deutschen und englischen Vokabeln, die abgefragt werden sollen, funktioniert schon ganz gut.

Leider habe ich ein Problem: Und zwar weiß ich nicht, wie ich die Vokabeln abgefragt bekomme. Bei

current = voks.getContent();

startet die Abfrage. Ab hier habe ich gar keine Ahnung, was ich noch schreiben soll. Kann mir jemand helfen?

import java.util.*;

public class Trainer {
  String d;
  String e;
  Vokabel current;

  public void main() {
    List<Vokabel> voks = new List();
    char antwort;
    Scanner s = new Scanner(System.in);
    int z = 0;
    voks.toFirst();
    antwort  = 'y';

    while (antwort == 'y') {
      z++;
      System.out.print('\u000C');
      System.out.println("Geben Sie bitte Ihre " + z + ". Vokabel auf Deutsch ein!");
      d = s.next();
      System.out.println("Geben Sie nun die entsprechende Übersetzung auf English an.");
      e = s.next();
      Vokabel v = new Vokabel(d, e);
      voks.append(v);
      voks.next();
      System.out.println("Falls Sie keine weitere Vokabel eingeben wollen, drücken Sie 'n' für Nein, falls doch dann 'y' für Ja.");
      antwort = s.next().charAt(0);
    }

    voks.toFirst();

    while (voks.hasAccess()) {
      current = voks.getContent();
      System.out.print(current.getEVok() + " ");
      System.out.println("Geben Sie die deutsche Bedeutung ein.");
      voks.next();
      current = voks.getContent();
      System.out.print(current.getEVok() + "    ");
      System.out.println(current.getDVok());
      voks.next();
    }
  }
}
Computer, Schule, programmieren, Java
Könnt ihr mir bei einem Javaprojekt helfen?

Ich habe die Aufgabe bekommen den Ordnerinhalt über eine Funktion dateienLaden() über eine DefaultListModel<Datei> zurückzugeben. Ich komme allerdings nicht weiter, ich bin noch am Anfang der Ausbildung zum Fachinformatiker.

Es zeigt zwar die Inhalte an, aber ich habe das nicht in die Funktion datenLaden() gepackt und auch ohne DefaultListModel gearbeitet. Ich denke für die weiteren Aufgaben ist das nicht fördernd.

Kann mir einer helfen?

Ich bin bisher soweit:

package bilderverwaltung;

import java.awt.EventQueue;

import java.io.File;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class BilderVerwaltungMainClass extends JFrame {

    private JPanel contentPane;
    
    public static File ordner = new File("test");
    
    boolean probe = ordner.exists();
    
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    BilderVerwaltungMainClass frame = new BilderVerwaltungMainClass();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    
    public BilderVerwaltungMainClass() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 644, 432);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        JList listDateienListung = new JList();
        listDateienListung.setBounds(413, 111, 207, 274);
        contentPane.add(listDateienListung);
        System.out.println();
    }
    
    public void dateiLesen() {
        File[] files = ordner.listFiles();
        if (files != null) {
            for (int i = 0; i < files.length; i++) {
                System.out.print(files[i].getAbsolutePath());
                if (files[i].isDirectory()) {
                    System.out.print(" (Ordner)\n");
                } else {
                    System.out.print(" (Datei)\n");
                }
            }
        }
    }
}
Computer, Java
wie läuft Programmcode ab? Reinfolge?

Allllllso ich verstehe nicht wie code abläuft. Normalerweise läuft der Code von oben nach unten ab. Ja aberrrrr Beispsiel:

In einem Spiel hat man Blöcke. Ein Quadrat mit 10 Blöcken ist vor mir.

Wichtig: Von jedem dieser 10 Blöcke geht ein Befehl aus. Also mein Programm sagt das alles Code was ich hier rein tue, von jedem dieser Blöcke aus geht:

//ich setzte Variable "start" auf 1

Wenn "start" auf 1 dann

setzte "BlockNummer" auf (get "Blocknummer" + 1)

//"Blocknummer" sollte doch jetzt auf 10 sein weil ich 10 Blöcke habe.

Wenn "BlockNummer" kleiner oder gleich ist als "5"

ersetzte dich selber mit Block "Erde"

Ungefähr so ist mein Code

Er ersetzt jetzt 5 Blöcke. 5 Blöcke sind jetzt Erde und die anderen 5 haben sich nicht geändert.

Macht für mich keinen Sinn. Sollte "Blocknummer" nicht auf 10 sein? Also sollte eigentlich Garnichts passieren.

Und wenn ich das hier mache:

//ich setzte Variable "start" auf 1

Wenn "start" auf 1 dann

setzte "start" auf 0 (<-- Neu)

ersetzte dich selber mit Block "Erde"

Jetzt ersetzt er nur 1 Erdblock. Damit er alles zu Erde ersetzt muss ich sagen, dass er kurz warten soll bis er "start" wieder auf 0 setzt. Wieso ist das so? Theoretisch sollte er alles zu Erde ersetzten.

Das bringt mich durcheinander wie Code abläuft. Vielleicht sollte das auch nicht passieren und meine art "engine" macht das so. Wie läuft code ab?

Computer, Software, Technik, programmieren, Java, Technologie, Spiele und Gaming

Meistgelesene Fragen zum Thema Java