我的世界网页版搭建
说明
网页版mc作者是lax1dude ,官方网站是eaglercraft ,大家可以去多多支持作者
我不是作者,我只是总结了一下服务器搭建的流程
下文链接随时可能失效,文件最好自己保存一下
本文适合有一点linux基础的使用,有些简单步骤我会跳过
也可以直接使用docker部署,省略一大堆步骤
只试用chrome系的浏览器,不适合firefox
网页版mc支持设置材质包和服务器插件,但是不支持直接添加jar的mod(你可以自己写或者自己转换)
最好直接用 docker 版本部署, 简单快捷方便
离线版本
Docker部署
可以参考 最简单的MC我的世界网页版联机服务器搭建_我的世界
安装docker自己想办法
运行下面的 shell 端口可以自行更改
目录结构和构建脚本参考文章最下面的gitee链接 , docker 部署的话下面的非docker部署步骤不用看了, 推荐docker 部署, 简单快速方便
1 2 3 4 5 # 1.12 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.12.1 # 1.8 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
非docker部署前置准备
一台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的插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . ├── 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
运行.出现下面表示成功
1 2 [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,再次运行上面的命令,等待一会(等屏幕不滚动了)
1 2 3 [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运行成功
配置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步直接删)# 我的世界网页版搭建
本教程基于开源项目eaglercraft
支持1.12, 1.8, 1.5 3个版本多人联机和离线单网页部署
说明
网页版mc作者是lax1dude ,官方网站是eaglercraft ,大家可以去多多支持作者
我不是作者,我只是总结了一下服务器搭建的流程
下文链接随时可能失效,文件最好自己保存一下
本文适合有一点linux基础的使用,有些简单步骤我会跳过
也可以直接使用docker部署,省略一大堆步骤
只试用chrome系的浏览器,不适合firefox
网页版mc支持设置材质包和服务器插件,但是不支持直接添加jar的mod(你可以自己写或者自己转换)
最好直接用 docker 版本部署, 简单快捷方便
离线版本
Docker部署
安装docker自己想办法
运行下面的 shell 端口可以自行更改
目录结构和构建脚本参考文章最下面的gitee链接 , docker 部署的话下面的非docker部署步骤不用看了, 推荐docker 部署, 简单快速方便
1 2 3 4 5 # 1.12 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.12.1 # 1.8 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
主机部署
不推荐, 可能需要麻烦的版本问题, 不过如果是 windows 只能用这种部署, linux 直接上docker
前置准备
一台linux服务器,带有java(这个执行下载安装,版本一般选最新的),以及tmux
(方便分屏)
windows也可以,流程和下面类似
演示版本为openjdk version "17.0.10"
1.12 版本
运行下面命令克隆仓库, 如果不会装 git 就到 eaglerX-1.8-server 上面下载 zip包
1 git clone --depth=1 https://gitee.com/mirrorvim/eaglerX-1.8-server.git
后面的步骤和下面的 1.8.8 版本的类似, 事实不需要第一步下载 1.8 的包了, 按照下面来即可
1.8.8 版本
目前网页mc最新版本,支持中文推荐
打开下载链接eaglerX-1.8-server.zip - 蓝奏云 ,下载压缩包文件
解压unzip
这个文件,应该得到下面的内容
其中server文件夹是mc服务器文件夹(应该是用的paper服务端)
web文件夹是前端加载的网页文件夹
bungee是代理文件夹,里面有eaglerX的插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . ├── 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
运行.出现下面表示成功
1 2 [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,再次运行上面的命令,等待一会(等屏幕不滚动了)
1 2 3 [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运行成功
配置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
的情况,这种只能等待一会(几分钟估计),再次刷新就可以进去了
游戏注意点
不要直接设置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
部分,更改为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
文件,更改为
1 2 3 4 5 6 7 8 window .eaglercraftXOpts = () => ({ lang : "en_US" , servers : [ { addr : "<ip>:<port>" , name : "自己取个名字" } ] });
1.5.5版本和上面类似,只是更改的指标是window.eaglercraftOpts
了
如何禁止服务器更新
设置 ea插件中的 update.sh
文件,更改为
1 2 3 4 5 6 7 8 9 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 挂载到相应位置
如何设置白名单,避免其他用户登录
如何设置默认用户名
如果是离线版本的编辑 html文件,在第一个script里面使用 localStorage["_eaglercraftX.p"]="";
,添加,其中value的值需要自己输入一次之后通过浏览器localstorage查询,方法为 f12 -> Application -> LocalStorage
如何操作服务器
docker 的话进入容器之后通过 tmux attach
进入服务器控制台, c-b d
退出连接
参考
联系