我的世界网页版搭建
- 本教程基于开源项目eaglercraft
说明
- 网页版mc作者是lax1dude,官方网站是eaglercraft,大家可以去多多支持作者
- 我不是作者,我只是总结了一下服务器搭建的流程
- 下文链接随时可能失效,文件最好自己保存一下
- 本文适合有一点linux基础的使用,有些简单步骤我会跳过
- 也可以直接使用docker部署,省略一大堆步骤
- 只试用chrome系的浏览器,不适合firefox
- 网页版mc支持设置材质包和服务器插件,但是不支持直接添加jar的mod(你可以自己写或者自己转换)
离线版本
- 点击下载链接EaglercraftX_1.8_u30_Offline_Signed.html.zip - 蓝奏云,解压就可以玩了
前置准备
- 一台linux服务器,带有java(这个执行下载安装,版本一般选最新的),以及
tmux
(方便分屏) - windows也可以,流程和下面类似
- 演示版本为
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 any key 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
的情况,这种只能等待一会(几分钟估计),再次刷新就可以进去了
Docker部署
- 安装docker自己想办法
- 运行下面的 shell 端口可以自行更改
- 目录结构和构建脚本参考文章最下面的gitee链接
docker run -d -v ./mc/world/:/eaglerX-1.8-server/server/world/ -v ./mc/world_nether/:/eaglerX-1.8-server/server/world_nether/ -v ./mc/world_the_end/:/eaglerX-1.8-server/server/world_the_end/ -p 5200:5200 -p 5201:5201 registry.cn-hangzhou.aliyuncs.com/chenxuan/eaglerx1.8server:1.8.1
游戏注意点
- 不要直接设置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: "<ip>:<port>", name: "自己取个名字" }
]
});
- 1.5.5版本和上面类似,只是更改的指标是
window.eaglercraftOpts
了
如何禁止服务器更新
- 设置 ea插件中的
update.sh
文件,更改为
block_all_client_updates: true
discard_login_packet_certs: false
cert_packet_data_rate_limit: 524288
enable_eagcert_folder: false
download_latest_certs: false
download_certs_from:
- 'https://eaglercraft.com/backup.cert'
- 'https://deev.is/eagler/backup.cert'
check_for_update_every: 900000
如何更改端口
- 更改
bungee/plugins/EaglercraftXBungee/listeners.yml
里面的address
的端口
如何备份世界或者创建时候用旧的世界
- 首先server里面的 world开头文件夹(一般三个,主体,末地和下界)就是世界的信息,拷贝就可以了
- 如果是创建时候,运行server的run.sh之前放进去就可以了
- 如果是docker部署的话,使用 -v 挂载到相应位置
如何设置白名单,避免其他用户登录
- 参考命令/whitelist - Minecraft Wiki,最详细的我的世界百科
- 黑名单道理相识,自己搜索一下
如何设置默认用户名
- 如果是离线版本的编辑 html文件,在第一个script里面使用
localStorage["_eaglercraftX.p"]="";
,添加,其中value的值需要自己输入一次之后通过浏览器localstorage查询,方法为 f12 -> Application -> LocalStorage
如何操作服务器
- docker 的话进入容器之后通过
tmux attach
进入服务器控制台,c-b d
退出连接
参考
联系
- 如果出现了无法解决的问题,可以在底下留言(回复较慢,或者直接+q 1607772321)
- 或者去gitee下开issue eaglerXserver: 1.8 版本服务器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)