Java / Minecraft “Erro: Não foi possível localizar ou carregar a classe principal –Xms1024M”

1

Eu não sou um profissional do Linux nem um profissional do Java, mas estou configurando um servidor do Minecraft no Ubuntu 16.04. O sistema tem 8 GB de RAM.

Eu segui todas as instruções para configurar o servidor (o que é muito simples), mas quando executei o comando:

sudo java –Xms1024M -Xmx1024M -jar minecraft_server.1.9.2.jar nogui

Eu tenho isso:

Error: Could not find or load main class –Xms1024M

Eu simplesmente corri (após cerca de 1 hora de tentativas de hackers de instalar diferentes JREs): sudo java -jar minecraft_server.1.9.2.jar nogui e funcionou.

Qual é a diferença e quais são os possíveis problemas ao não especificar RAM?

Além disso, o que é uma boa prática para iniciar o servidor do Minecraft via SSH e deixá-lo rodar em segundo plano depois de desconectar?

Editar:

Ao executar java -jar minecraft_server.1.9.2.jar nogui , estou vendo esta saída:

2016-05-08 14:30:35,683 ERROR Cannot access RandomAccessFile {}) java.io.FileNotFoundException: logs/latest.log (Permission denied)
2016-05-08 14:30:35,684 ERROR Unable to invoke method createAppender in class org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for element RollingRandomAccessFile java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

Seguido por uma lista interminável destes:

at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
at kx.a(SourceFile:44) [minecraft_server.1.9.2.jar:?]
at kx.b(SourceFile:54) [minecraft_server.1.9.2.jar:?]
    
por Jason 08.05.2016 / 23:20

2 respostas

1

Especificando RAM

Os problemas por não especificar RAM é simplesmente o fato de seu servidor Minecraft não ter RAM suficiente reservada para ele, causando a falha. Você já tentou colocar os comandos de RAM no final, assim:

java -jar minecraft_server.jar -Xmx8192M

Certifique-se de ajustar a RAM aos seus limites. Note, adicionalmente, que você não precisa especificar -Xms em seus argumentos. Certifique-se de não usar também sudo , pois isso abre a possibilidade de comprometimento do sistema.


Usando o Minecraft em segundo plano

Você pode executar o Minecraft em segundo plano de muitas maneiras diferentes. Eu listei alguns abaixo como um exemplo.

Método 1: screen

Você pode executar uma sessão do Minecraft em segundo plano usando um utilitário bacana conhecido como screen . Você pode fazer isso apenas executando o comando screen , seguido pelo seu comando start. Depois, pressione Ctrl + A seguido por D . Você vai voltar para um terminal. Para retomar sua sessão screen , basta executar screen -r .

A maioria das pessoas prefere screen porque você pode voltar e acessar o console a qualquer momento.

Método 2: bg / fg

Após o seu servidor Minecraft ter iniciado, pressione Ctrl + Z no seu teclado. De lá, digite bg . Seu servidor Minecraft estará funcionando em segundo plano.

Note que eu não testei pessoalmente, então YMMV.

Método 3: nohup

Prefira seu comando start com o comando nohup . Depois que seu servidor Minecraft for iniciado, basta fechar sua sessão SSH. O servidor continuará funcionando.

Tenha cuidado ao usar o nohup , porque ele consumirá muito espaço no disco rígido mantendo seus próprios logs. Você pode evitar isso anexando >/dev/null 2>&1 ao final do comando.

Método 4: Initscripts

Initscripts são muito complicados, mas permitem que seu servidor inicie / pare automaticamente na inicialização ou em invocação manual. Instruções estão disponíveis online. Existem muitos bons métodos, mas eles precisam ser adaptados ao seu sistema.


Erros de permissão

Seu problema de permissão é porque o Minecraft criou todos os seus arquivos como root. Portanto, apenas o root pode acessá-los. Corrija isso executando sudo chown -R $USER:$USER . na pasta Minecraft.

Fonte: Sysadmin para uma rede Minecraft

    
por Kaz Wolfe 08.05.2016 / 23:37
1

Preste atenção ao caso!

O "m" deve estar em minúsculas, assim:

sudo java –Xms1024m -Xmx1024m -jar minecraft_server.1.9.2.jar nogui

Além disso, tente colocar as opções de memória no final.

    
por Android Dev 08.05.2016 / 23:26