Warum funktioniert mein selbstgehosteter Minecraft Server auf Ubuntu Linux nicht?

Hallo,

ich hatte bisher meinen Minecraft-Server auf Windows 10 gehostet und dort in der Windows-Systemsteuerung die Ports für den Server freigegeben. Dies hatte auch immer gut funktioniert, nun wollte ich den Server stattdessen auf Ubuntu installieren.

Dafür nahm ich unter Ubuntu die offizielle server.jar und konfigurierte alles ich konnte normal starten auch wenn dieser text in der Konsole mich irritierte, der bei Windows nicht kam:

WARNING: An illegal reflective access operation has occurred 
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0 (file:/home/benutzer/Schreibtisch/1.8.9/server.jar) to field java.nio.Buffer.address 
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0 W
ARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 
WARNING: All illegal access operations will be denied in a future release März 11, 2021 4:06:02 NACHM. io.netty.util.internal.PlatformDependent <clinit> I
NFORMATION: Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system unstability.


Falls jemand weiß warum, gerne antworten.

Nun ist es jedenfalls so, dass der Server problemlos startet, ich aber nicht mit localhost joinen kann.

Und auch obwohl ich die Ports für TCP/UDP mit der grafischen Oberfläche freigegeben habe:

, können auch keine anderen Spieler joinen. Wenn ich joine steht folgendes da:

Und in der Konsole das, auch wenn es nicht im latest.log aufgeführt war:

Weiß jemand was ich falsch gemacht habe?

Wieso kann ich nicht mal mit localhost joinen?

Ich habe ihn auf der 1.8.9 gehostet und die aktuelle Ubuntu LTS Version installiert.

Ich muss doch eigentlich die Ports nicht im Router freigeben, wenn ich sie in der Firewall am PC freigebe, oder? Unter Windows ging das ja auch.

Oder habe ich iwi das falsche Java installiert?

Vielen Dank schon im voraus 😊.

Bild zum Beitrag
Technik, Linux, Java, Ubuntu, Minecraft, Minecraft Server, Ubuntu Server, minecraft server hosten
Discord-Bot (Java, JDA) Befehl wird nicht ausgeführt?

Ich programmiere einen Discord-Bot mit Java. Um Befehle zu lesen, benutze ich einen Listener (der dem Builder hinzugefügt wurde) und ein Command-Manager-System.

Dies ist der Listener:

public class Listener extends ListenerAdapter {

[...]

@Override
public void onMessageReceived(MessageReceivedEvent event) {
String message = event.getMessage().getContentDisplay();
if (event.isFromType(ChannelType.TEXT)) {
TextChannel channel = event.getTextChannel();
if (message.startsWith(Bot.INSTANCE.prefix)) {
String[] args = message.substring(Bot.INSTANCE.prefix.length()).split(" ");
if (args.length > 0) {
if(!Bot.INSTANCE.getCmdMan().perform(args[0], event.getMember(), channel, event.getMessage())) {
// Kein Befehl entdeckt
}
}
}
}
}
}

Die getCmdMan()-Methode liefert den Command-Manager, der hier steht:

public class CommandManager {

public ConcurrentHashMap<String, ServerCommand> commands;

public CommandManager() {

this.commands = new ConcurrentHashMap<>();

[...]

this.commands.put("startGW", new StartGiveawayCommand());

[...]

}

public boolean perform(String command, Member m, TextChannel channel, Message message) {

ServerCommand cmd;

if ((cmd = this.commands.get(command.toLowerCase())) != null) {

cmd.performCommand(m, channel, message);

}

return false;

}

}

Alle Befehlsklassen erben (implements Klasse()) aus der Command-Klasse. Ich denke aber nicht, dass ich diese hier aufführen muss, da sie nur die Funktion, die in den Befehls-Klassen überschrieben wird, enthält. Die Befehls-Klassen sehen folgendermaßen aus: (ich nehme als Beispiel die StartGiveawayCommand-Klasse)

public class StartGiveawayCommand implements ServerCommand {

@Override

public void performCommand(Member m, TextChannel c, Message message) {

int index = 0;

System.out.println(index);

index++;

if(!m.hasPermission(Permission.ADMINISTRATOR)) {

message.delete().queue();

c.sendMessage(":x: Du hast nicht die Berechtigung, HanLink-Bot zu verwenden!").queue();

return;

}

[...]

}

}

Die System.out.println("");-Funktionen habe ich hinzugefügt nachdem der Befehl nicht ausgeführt wurde. In die Konsole kam auch kein Output.

Die anderen Befehle werden aber ausgeführt (z.B. !purge)

Was habe ich falsch gemacht? bzw. Was muss ich ändern?

programmieren, Java, Bot, jda, Discord, Discord Bot
Wie fixe ich diesen Error?
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
        at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:330)
        at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:263)
        at java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)
        at java.util.jar.JarVerifier.update(JarVerifier.java:230)
        at java.util.jar.JarFile.initializeVerifier(JarFile.java:383)
        at java.util.jar.JarFile.ensureInitialization(JarFile.java:612)
        at java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:69)
        at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:991)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

Ich habe einen DiscordBot in der JDA programmiert (maven) aber ich kann die
jar datei nicht ausführen weiß jemand wieso?

programmieren, Java, Code, Error, maven
Spigot 1.16.5 Gui funzt einfach nicht was tun?

Hey ich habe dieses gui für mein plugin geschrieben an sich funktioniert der inventory teil aber das if statement will einfach nicht ich habe mehrere guis im plugin die genau gleich aufgebaut sind(den code auch schon einmal kopiert und in anderer funktion benutzt wo es ohne probleme fuktioniert hat. Es gibt keine Errors es öffnet sich einfach nicht.


	@SuppressWarnings("unlikely-arg-type")
	public void onClickKit(PlayerInteractEvent e) {
		Player p = e.getPlayer();
		try {
			if (p.getInventory().getItemInMainHand().equals(Material.CHEST)) {
					Inventory Stats = Bukkit.createInventory(null, InventoryType.DISPENSER, "§9§lKits");
					(new Methods()).setPlaceholder(Stats);
					ItemStack Item1 = new ItemStack(Material.SANDSTONE, 32);
					ItemMeta meta1 = Item1.getItemMeta();
					meta1.setDisplayName("§8➟ §6Sandstone");
					List<String> lore1 = new ArrayList<String>();
					lore1.add("You can run, but you can't hide...");
					meta1.setLore(lore1);
					Item1.setItemMeta(meta1);


					ItemStack Item2 = new ItemStack(Material.BOW, 1);
					ItemMeta meta2 = Item2.getItemMeta();
					meta2.setDisplayName("§8➟ §2Sniper");
					List<String> lore2 = new ArrayList<String>();
					lore2.add("");
					meta2.setLore(lore2);
					meta2.addEnchant(Enchantment.ARROW_KNOCKBACK, 2, true);
					Item2.setItemMeta(meta2);


					ItemStack Item3 = new ItemStack(Material.SNOWBALL);
					ItemMeta meta3 = Item3.getItemMeta();
					meta3.setDisplayName("§8➟ §fSnowman");
					List<String> lore3 = new ArrayList<String>();
					lore3.add("§3Keep your Enemies on Distance.");
					meta3.setLore(lore3);
					Item3.setItemMeta(meta3);


					Stats.setItem(0, Item1);
					Stats.setItem(4, Item2);
					Stats.setItem(8, Item3);
					p.openInventory(Stats);
					p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BELL, 2.0F, 1.0F);
				}
		} catch (Exception exception) {


		}
	}

LG

Computer, programmieren, Java, Minecraft, Minecraft Server, GUI, Spigot, Minecraft Plugin

Meistgelesene Beiträge zum Thema Java