Я не профессионал Linux и не Java, но я настраиваю сервер Minecraft на Ubuntu 16.04. Система имеет 8 ГБ ОЗУ.
Я следовал всем указаниям по настройке сервера (что очень просто), но когда я выполнил команду:
sudo java –Xms1024M -Xmx1024M -jar minecraft_server.1.9.2.jar nogui
я получил это:
Error: Could not find or load main class –Xms1024M
Я тогда просто побежал (после 1 часа хакерских попыток установить разные JRE): sudo java -jar minecraft_server.1.9.2.jar nogui
и это сработало.
В чем разница и каковы возможные проблемы, если не указывать ОЗУ?
Кроме того, что является хорошей практикой для запуска сервера Minecraft через SSH и запуска его в фоновом режиме после отключения?
Редактировать:
При запуске java -jar minecraft_server.1.9.2.jar nogui
я вижу эти выходные данные:
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)
За ними следует бесконечный список из них:
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:?]
проблемы, не указывая RAM симпатичны просто, который Ваш сервер Minecraft не будет иметь достаточного количества RAM зарезервированным для него, заставляя его разрушить. Имейте Вас, пытался поместить команды RAM в конец, как так:
java -jar minecraft_server.jar -Xmx8192M
убедиться скорректировать RAM к Вашим пределам. Обратите внимание, дополнительно, что Вы не должны указывать -Xms
в Ваших аргументах. Убедитесь также не, используют sudo
, поскольку это открывает возможность для системного компромисса.
можно выполнить Minecraft в фоновом режиме по-разному. Я перечислил некоторых ниже как пример.
screen
можно выполнить сессию Minecraft в фоновом режиме с помощью изящной утилиты, известной как screen
. Можно сделать это, просто работая эти screen
команда, сопровождаемая командой запуска. Впоследствии, просто нажмите Ctrl + , сопровождаемый D . Вы возвратитесь к терминалу. Для возобновления Вашего screen
сессия просто работайте screen -r
.
Большинство людей предпочитает screen
, потому что можно возвратиться и получить доступ к консоли в любое время.
bg
/ fg
После того, как Ваш сервер Minecraft запустился, нажмите Ctrl + Z на Вашей клавиатуре. Оттуда, тип bg
. Ваш сервер Minecraft будет работать в фоновом режиме.
Примечание, что я лично не протестировал его, таким образом, YMMV.
nohup
Предварительно ожидают Вашу команду запуска с эти nohup
команда. После того, как Ваш сервер Minecraft запустился, просто закройте свой сеанс SSH. Сервер будет продолжать работать.
Быть тщательным использованием nohup
, хотя, потому что это израсходует БОЛЬШОЕ пространство на жестком диске, сохраняющее его собственные журналы. Можно избежать этого путем добавления >/dev/null 2>&1
в конец команды.
Initscripts очень сложный, но он позволяет Вашему автоматическому запуску/остановке сервера на начальной загрузке или на ручном вызове. Инструкции доступны онлайн. Существует много хороших методов, но они должны быть адаптированы в соответствии с Вашей системой.
Ваша проблема полномочий состоит в том, потому что Minecraft создала все свои файлы как корень. Поэтому только корень может получить доступ к ним. Зафиксируйте это путем выполнения sudo chown -R $USER:$USER .
в папке Minecraft.
<глоток> Источник: Системный администратор для сети Minecraft глоток>
Обращают внимание для преобразования регистра!
Эти m
должен быть нижний регистр, как так:
sudo java -Xms1024m -Xmx1024m -jar minecraft_server.1.9.2.jar nogui
кроме того, попытайтесь поместить параметры памяти в конец.