我的世界mc网页版搭建(1.8和1.5)
- 本教程基于开源项目 eaglercraft
说明
- 网页版mc作者是lax1dude,官方网站是eaglercraft,大家可以去多多支持作者
- 我不是作者,我只是总结了一下服务器搭建的流程
- 下文链接随时可能失效,文件最好自己保存一下
- 本文适合有一点linux基础的使用,有些简单步骤我会跳过
- 只试用chrome系的浏览器,不适合firefox
- 网页版mc支持设置材质包和服务器插件,但是不支持直接添加jar的mod(你可以自己写或者自己转换)
离线版本
- 点击下载链接EaglercraftX_1.8_u30_Offline_Signed.html.zip - 蓝奏云,解压就可以玩了
前置准备
- 一台linux服务器,带有java(这个执行下载安装,版本一般选最新的),以及
tmux
(方便分屏) - windows也可以,流程和下面类似,java自行下载安装
- 演示版本为
openjdk version "17.0.10"
1.8.8 版本
目前网页mc最新版本,推荐
- 打开下载链接eaglerX-1.8-server.zip - 蓝奏云 ,下载压缩包文件
- 解压
unzip
这个文件,应该得到下面的内容- 其中server文件夹是mc服务器文件夹(应该是用的paper服务端)
- web文件夹是前端加载的网页文件夹
- bungee是代理文件夹,里面有eaglerX的插件
# tree -L 1
.
├── base.repl
├── bindmod.so
├── buildconf.json
├── buildconf_template.json
├── bungee
├── cuberite.sh
├── eula.txt
├── gitpod-fixes.sh
├── LicensePrompt.jar
├── main.sh
├── misc
├── PlaceHTTPer.class
├── README.md
├── replit.nix
├── reset.txt
├── selsrv.sh
├── server
└── web
- 运行
tmux
并进行分屏操作(自己查) - 进入
bungee
文件夹,运行java -Xmx1024M -Xms1024M -jar ./bungee.jar
(这个命令含义自己查),这个可以保存为run.sh
运行.出现下面表示成功
[INFO]: Enabled plugin EaglercraftXBungee version 1.0.9 by lax1dude
[INFO]: Listening on /127.0.0.1:25577
- 再进入
server
文件夹(注意一定是先bungee再server,运行java -Xmx1024M -Xms1024M -jar ./server.jar
(这个可以保存为run.sh
运行),会得到下面的问题- 此时编辑
./eula.txt
文件,将false改为true,再次运行上面的命令,等待一会(等屏幕不滚动了)
- 此时编辑
[WARN]: Failed to load eula.txt
[22:19:07 INFO]: You need to agree to the EULA in order to run the server.Go to eula.txt for more info.
[INFO]: Stopping server
- 等到出现下面表示server运行成功
[INFO]: Timings Reset
>
- 配置nginx代理前端静态资源文件(这个自己想办法配,不会用离线文件访问也可以)
- 访问浏览器代理好的端口,或者直接浏览器打开本地的离线html文件
- 等到出现
press anykey to continue
的时候随便按一下,设置自己的名字和皮肤 - 按顺序点击
Multiplayer -> Direct Connect -> Connect to Server
,然后输入服务器ip加上:8081
(例如127.0.0.1:8081
),注意:这里需要保证服务器的8081端口是开放到公网的,这个自己查怎么开放,点击Join Server
- 加入成功后发现无法移动,是因为必须先注册密码,按
/register <你的密码>
,这个验证如果完全不想开启,直接删了server
文件夹下的plugins
目录就可以了(最好在地5步直接删) - 接下来就可以游玩mc了
1.5.2版本
安装容易,但是版本老旧,不推荐
- 打开下载链接stable-download.zip - 蓝奏云
- 和1.8.8 版本基本类似
java/bungee_command
对应1.8的bungee
,java/bungee_command
对应server
文件夹 chmod
给文件夹中的run_unix.sh
添加运行权限,然后按顺序执行就可以了(和1.8.8的很类似,省略)- 注意
1.5.2
最后的端口是25565,而不是8081, 1.5.2经常出现卡在login in
的情况,这种只能等待一会(几分钟估计),再次刷新就可以进去了
游戏注意点
- 不要直接设置op权限给用户,发现这似乎会导致其他非op用户无法打开工作台
- 1.5.2迁移到1.8.8时候直接拷贝所有的world*文件夹会出问题,需要删除
world/players
目录才行(这个是用户的数据文件) - 1.8.8 可以设置语言为中文,1.5.2不可以
- 你可以在server的控制台进行一些admin命令输入
QA
如何停止服务器
- 在server和bungee控制台分别运行
stop
和end
就可以了
如何避免手动输入ip端口
- 1.8.8版本离线html文件
- 编辑
html
文件,找到window.eaglercraftXOptsHints
部分,更改为
- 编辑
window.eaglercraftXOptsHints = {
hintsVersion: 1,
container: "game_frame",
worldsDB: "worlds",
relays: [
{ addr: "wss://relay.deev.is/", comment: "lax1dude relay #1", primary: relayId === 0 },
{ addr: "wss://relay.lax1dude.net/", comment: "lax1dude relay #2", primary: relayId === 1 },
{ addr: "wss://relay.shhnowisnottheti.me/", comment: "ayunami relay #1", primary: relayId === 2 }
],
checkRelaysForUpdates: true,
servers: [
{ addr: "<ip>:<port>", name: "自己取个名字" }
]
};
- 1.8.8版本web版本
- 编辑
web/eaglercraft_opts.js
文件,更改为
- 编辑
window.eaglercraftXOpts = () => ({
lang: "en_US",
// joinServer: "ws" + window.location.href.slice(4),
// assetsURI: "custom.epk",
servers: [
{ addr: "192.168.0.109:8081", name: "DianCraft" }
]
});
- 1.5.5版本和上面类似,只是更改的指标是
window.eaglercraftOpts
了