Minecraft服务器

为了维持minecraft server的运行,需要screen(防止退出终端进程终端)

sudo apt-get install screen

安装screen

mkdir一个新文件夹,就叫minecraft

然后cd到minecraft

https://minecraft.net/en-us/download/server里的jar包下载下来,上传到minecraft文件夹

把代号minecraft的进程加入screen里

screen -S "minecraft"

在screan里执行开服命令(前提是得有jar包)

java -Xmx1024M -Xms1024M -jar server.jar nogui

退出screen需要ctrl+A+D。查看screen任务用screen -ls,进入某个进程使用screen -r <screen_id>

接下来有个很有趣的问题,如果出现了如下错误

[Server thread/INFO]: Starting minecraft server version 1.12.2
[Server thread/INFO]: Loading properties
[Server thread/WARN]: server.properties does not exist
[Server thread/INFO]: Generating new properties file
[Server thread/WARN]: Failed to load eula.txt
[Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[Server thread/INFO]: Stopping server

这个时候ls mineraft目录,会发现有一个eula.txt文档。打开eula.txt,会有个链接直指https://account.mojang.com/documents/minecraft_eula,根据网页内容和之前错误提示的You need to agree to the EULA in order to run the server. Go to eula.txt for more info.,猜测应该是类似于“我同意XX条款”之类的文章。
再次看eula.txt,最后一行是

eula=false

很典型的布尔值,那么把false改为true

eula=true

再次执行

java -Xmx1024M -Xms1024M -jar server.jar nogui

如果出现如下提示,则说明部署成功

[Server thread/INFO]: Starting minecraft server version 1.12.2
[Server thread/INFO]: Loading properties
[Server thread/INFO]: Default game type: SURVIVAL
[Server thread/INFO]: Generating keypair
[Server thread/INFO]: Starting Minecraft server on *:25565
[Server thread/INFO]: Using epoll channel type
[Server thread/INFO]: Preparing level "world"
[Server thread/INFO]: Loaded 488 advancements
[Server thread/INFO]: Preparing start region for level 0
[Server thread/INFO]: Preparing spawn area: 4%
[Server thread/INFO]: Preparing spawn area: 6%
[Server thread/INFO]: Preparing spawn area: 10%
[Server thread/INFO]: Preparing spawn area: 13%
[Server thread/INFO]: Preparing spawn area: 18%
[Server thread/INFO]: Preparing spawn area: 23%
[Server thread/INFO]: Preparing spawn area: 29%
[Server thread/INFO]: Preparing spawn area: 35%
[Server thread/INFO]: Preparing spawn area: 42%
[Server thread/INFO]: Preparing spawn area: 49%
[Server thread/INFO]: Preparing spawn area: 57%
[Server thread/INFO]: Preparing spawn area: 65%
[Server thread/INFO]: Preparing spawn area: 73%
[Server thread/INFO]: Preparing spawn area: 80%
[Server thread/INFO]: Preparing spawn area: 89%
[Server thread/INFO]: Preparing spawn area: 98%
[Server thread/INFO]: Done (18.470s)! For help, type "help" or "?"

minecraft目录下会有一个server.properties,这是服务器配置各种参数的文件。具体配置参考我的世界wiki,server.proties具体参数如下:

max-tick-time=60000 #设置每个tick花费的最大毫秒数。
generator-settings= #本属性质用于自定义超平坦世界的生成。详见超平坦世界和自定义了解正确的设定及例子。
force-gamemode=false #强制玩家加入时为默认游戏模式。false - 玩家将以退出前的游戏模式加入。true - 玩家总是以默认游戏模式加入。
allow-nether=true #允许玩家进入下界。false - 下界传送门不会生效。true - 玩家可以通过下界传送门前往下界。
enforce-whitelist=false
gamemode=0 #定义默认游戏模式。0 - 生存模式。1 - 创造模式。2 - 冒险模式(仅在12w22a之后,或正式版1.3之后可用)。3 - 旁观模式(仅在14w05a之后,或正式版1.8之后可用)。
broadcast-console-to-ops=true
enable-query=false #允许使用GameSpy4协议的服务器监听器。它被用于收集服务器信息。
player-idle-timeout=0 #如果不为0,服务器将在玩家的空闲时间达到设置的时间(单位为分钟)时将玩家踢出服务器。单位:分钟。
difficulty=1 #default=1 定义服务器的游戏难度。0 - 和平。1 - 简单。2 - 普通。3 - 困难。
spawn-monsters=true #决定攻击型生物(怪兽)是否可以生成。true - 可以。只要满足条件的话怪物就会生成。false - 禁用。不会有任何怪物。如果difficulty = 0(和平)的话,本属性值不会有任何影响。
op-permission-level=4 #设定OP的权限等级。1 - OP可以无视重生点保护。2 - OP可以使用单人游戏作弊命令(除了/publish,因为不能在服务器上使用,/debug也是)并使用命令方块。命令方块和领域服服主/管理员有此等级权限。3 - OP可以使用几乎所有多人游戏限定的命令(除第4级专用命令)。4 - OP可以使用所有命令,包括/stop、/save-all、/save-on和/save-off。
pvp=true #是否允许PvP。玩家自己的箭也只有在允许PvP时才可能伤害到自己。true - 玩家可以互相残杀。false - 玩家无法互相造成伤害。
snooper-enabled=true #自1.3正式版之后,一旦启用,将允许服务端定期发送统计数据到http://snoop.minecraft.net。false - 禁用数据采集。true - 启用数据采集。
level-type=DEFAULT #确定地图所生成的类型。DEFAULT - 标准的世界带有丘陵,河谷,海洋等。FLAT - 一个没有特色的平坦世界,适合用于建设。LARGEBIOMES - 如同预设世界,但所有生态系都更大(仅快照12w19a,或正式版1.3之后可用)。AMPLIFIED - 如同预设世界,但世界生成高度提高(仅快照13w36a,或正式版1.7.2之后可用)。CUSTOMIZED - 自快照14w21b以來,服务器也支持自定义地形。使用方法是在generator-settings贴上代码。
hardcore=false #一旦启用,玩家在死后会自动被服务器封禁(即开启极限模式)。
enable-command-block=false #开启命令方块。
max-players=20 #最大玩家数量
network-compression-threshold=256 #默认会允许n-1字节的数据包正常发送, 如果数据包为 n 字节或更大时会进行压缩。 所以,更低的数值会使得更多的数据包被压缩,但是如果被压缩的数据包字节太小将会得不偿失。-1 - 永久禁用数据包压缩。0 - 压缩全部数据包。
resource-pack-sha1= #资源包的SHA-1值,必须为小写十六进制,建议填写它,这还没有用于验证资源包的完整性,但是它提高了资源包缓存的有效性和可靠性。
max-world-size=29999984 #设置世界边界的最大半径值,单位为方块。通过成功执行的命令能把世界边界设置得更大,但不会超过这里设置的最大方块限制。如果设置的 max-world-size 超过默认值的大小,那将不会起任何效果。
server-port=25565 #端口号。
server-ip= #服务器IP,可以填写0.0.0.0,也可以留空。
spawn-npcs=true #决定是否生成村民。true - 生成村民。false - 不会有村民。
allow-flight=false #是否允许飞行。false - 不允许飞行。悬空超过5秒的玩家会被踢出服务器。true - 允许飞行。玩家得以使用飞行MOD飞行。
level-name=world #“level-name”的值将作为世界名称及其文件夹名。该参数使用Unicode字符。你也可以把你已生成的世界存档复制过来,然后让这个值与那个文件夹的名字保持一致,服务器就可以载入该存档。部分字符,例如 ' (单引号)可能需要在前面加反斜杠号 \ 才能被正常应用。
view-distance=10 #玩家可视区块距离。
resource-pack= #可选选项,可输入指向一个资源包的URI。玩家可选择是否使用该资源包。
spawn-animals=true #决定动物是否可以生成。true - 动物可以生成。false - 动物生成后会立即消失。
white-list=false #服务器的白名单。当启用时,只有白名单上的用户才能连接服务器。白名单主要用于私人服务器,例如相识的朋友等。false - 不使用白名单。true - 从 whitelist.json 文件加载白名单。
generate-structures=true #定义是否在生成世界时生成结构(例如村庄)。false - 新生成的区块中将不包含结构。true - 新生成的区块中将包含结构。
online-mode=true #在线正版验证。true - 启用。服务器会认为自己具有 Internet 连接,并检查每一位连入的玩家。false - 禁用。服务器不会检查玩家。
max-build-height=256 #玩家在游戏中能够建造的最大高度。地形生成算法并不会受这个值的影响。
level-seed= #地图生成种子。
use-native-transport=true #是否使用针对Linux平台的数据包收发优化,此选项仅会在Linux平台下生成。true - 启用。false - 禁用。
prevent-proxy-connections=false #如果服务器发送的和Mojang的验证服务器的ISP/AS不一样,玩家将会被踢出。true - 服务器将会禁止玩家使用VPN或代理。false - 服务器将不会禁止玩家使用VPN或代理。
enable-rcon=false
motd=A Minecraft Server #服务器信息,使用Unicode字符。

其中server-ip本是空值,最好设置参数为0.0.0.0

如果更改了server.properties文件,配置却没有在服务器上表现出来,则需要/stop,以此中断服务,再用java开服命令重新开启服务器

另外还有一点值得注意,如果开服的时候出现

**** FAILED TO BIND TO PORT!
[Server thread/WARN]: The exception was: io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use
[Server thread/WARN]: Perhaps a server is already running on that port?
[Server thread/INFO]: Stopping server

则很有可能是之前搭过我的世界服务器,但进程在screen里没有被杀掉,导致端口或服务被占用。那么杀掉原来的我的世界就可以了

killall screen

这条命令可以杀死所有screen里的进程
然后重新执行

java -Xmx1024M -Xms1024M -jar server.jar nogui

screen基本命令

安装

sudo apt-get install screen

新建一个名为minecraft的screen shell

screen -S minecraft

查看所有screen shell(处于Attached状态的会话只能加入。处于Detached状态的会话既能加入,也能还原)

sreen -ls

进入minecraft screen shell

screen -r minecraft
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容