- 原创/转载
- 原创
- 作者
- 17Artist
该功能是独立部署的后端,配合ArcartX插件端实现文件的上传和下发。
在一切开始前,请一定确保您看完了本贴所有说明。
注意,使用资源同步后,您客户端ArcartX/resource这一级目录下的所有.zip后缀文件会和后端保持一致,请注意将开发中的资源包进行同步,以防因同步导致您资源包被移除进而丢失进度!
资源更新服务器部署建议
1. 服务器分离原则
资源更新服务器与游戏服务器应采用分离部署策略。将两者部署在同一台机器上会削弱整体架构效能,因为游戏服务器通常带宽有限,难以同时满足游戏运行和资源分发的网络需求。
2. 成本分析
我们最初计划使用OSS服务进行资源分发,但经过成本评估后调整了方案。OSS下行流量费用约为400-500元/TB,而专用大带宽服务器的性价比通常更高。以市场上某些方案为例,月租54元可获得500Mbps带宽,含1TB免费流量,额外流量仅需30元/TB。(这里不做服务商推荐,请自行选择)
3. 安全机制
后端采用签名链接向客户端分发更新资源,可控制下载次数及链接有效期,防范流量盗刷。
4. 风险提示
尽管我们提供了流量保护策略,您仍需建立自身的流量监控与防护机制。若因流量盗刷导致经济损失,我们不承担相关责任。
该项目部署需要您具备web相关基础,若您不了解这方面技术,请寻找一个了解这方面技术的朋友或运维人员替您操作,并完善相关策略以及维护(我方不接任何相关问题有偿/无偿协助,因为服务维护本身是一个需要长期运维人员的行为,代替搭建以及相关问题协助解决不了根本问题)。
1. 环境准备
- Linux 主机(推荐Debian 13,带宽推荐100MB以上,如为测试环境随意)
- 宝塔面板(若您会使用Docker可不用,这只是为了方便部署)
- Docker
- 已备案域名(可选)
2. 下载镜像
通过本贴下载按钮获取镜像文件
3. 上传镜像
此处路径不重要,将镜像上传到服务器即可
4.导入镜像
5. 创建容器
点更多设置,往下拉,找到环境变量,设置JWT密钥(填一个512位密钥,也就是64个随机字符,尽量定期更新)
如果不想在8080端口运行,也可以增加环境变量PORT,如果设置了记得改上面的开放端口。
其余的设置根据自身需求调整策略,本文不做解释说明。
部署成功后,点总览即可在容器列表找到正在运行的容器:
然后点这个容器标题,再点日志,显示这些内容代表成功部署。
6. 绑定域名(可选)
此时您可以通过 http://{服务器ip}:8080/static/admin.html 访问管理页面。但是若条件允许,请绑定一个域名,这样可以设置域名SSL证书增加安全性,或者是如果后面要更换服务器IP也方便迁移。
只需点击总览旁边的网站选项卡,然后创建一个反代容器设置您的域名,然后再在您的域名注册商增加对应解析即可
设置完了反向代理之后,就可以直接用域名访问了,最好再设置个ssl证书,宝塔自带Let's Encrypt证书自动申请,自己操作下就行了。如果是已备案域名,可以直接用80+443端口进行代理,如果是未完成备案的域名,请不要用这俩端口。
7. 进入后台完成设置
使用浏览器来访问
纯ip访问:
http://{服务器ip}:8080/static/admin.html
若反向代理绑定了域名且使用80/443端口
https://{域名}/static/admin.html
进去之后,这俩默认值第一次不用改,把验证码填写了直接进入后台,然后我们修改密码
默认密码是admin123,推荐设置32个字符以上的密码,并进行定期更改。
然后进行系统设置,按需修改
最好再设置个IP白名单
注意,这个选项虽然是选填,但是推荐进行设置,这样API密钥相关操作只接受该ip的访问。
如果您不知道该填什么,用你的游戏端服务器访问下后台,日志里会显示你的服务器ip。
其余的功能项目不做过多介绍,都是可视化操作,没啥好讲的,基本只管个上传文件就行了。
每个文件最大上传2GB,且只允许ZIP格式上传,此外,建议每个包大小别超过256MB,因为客户端是多线程下载,在网络允许的情况下这样传输更快一些,且若您能安排好每个包的内容,还可以减少客户端的下载需求(比如分成四个包A、B、C、D。客户端已经内置了所需包A、B、C,则客户端检测更新后只需下载D这一个包)
8.保存API密钥
后端对接插件需要使用API密钥进行访问,您需要访问日志进行查看,程序会在初次启动生成或者您手动更新生成,输出API密钥内容,该密钥除了初次启动和您手动更新以外不会自行更换,请一定不要泄露您的密钥。
部署完成后,您只需要记住:您所绑定的地址,以及后台日志输出的API密钥(记得设置IP白名单)
关于绑定地址,根据以上操作,分为两种(其实还有一种可能是非备案域名或者是没有80和443的主机,这种情况自行理解)
纯ip绑定:
http://{服务器ip}:8080/
域名+反向代理+SSL:
https://{域名}/
记录这两个信息,即可前往下载资源同步插件进行游戏端的部署。
最后再次重申:
尽管我们提供了流量保护策略,您仍需建立自身的流量监控与防护机制。若因流量盗刷导致经济损失,我们不承担相关责任。
大部分情况普通玩家不会对您造成损失,但请小心友商的到访。
- 本项目在GPL 3.0 许可下开源、发布。如需二次修改或开发衍生产品,请遵守GPL 3.0许可协议。
- 项目开源地址:https://github.com/ArcartXProject/ArcartXResourceSystem