还在为攒原石抽老婆而爆肝吗?还在为自己的脸黑抓狂吗?不妨来体验一下原神私服,在本地环境中随心所欲地研究老婆(bushi
注意:所有收费盈利的原神私服均为利用免费的开源项目盈利的骗子,请与我们一起打击这类行为!!!
特色:
- 所有物品、角色、武器均可通过指令解锁
- 可以在地图上使用鱼钩标记点瞬间传送至任意位置
- 可以使用指令生成任意生物、掉落物
- 可以任意调整角色、武器属性
- 可以调整天气
- 地图全解锁,而且也不会有“前面的区域以后再来探索吧”的限制(虽然前面的区域什么都没有)
- 可以在服务器内通过UID加好友进入世界一起打副本
缺点:
- 无法正常接任务,虽然可以用指令强行调出任务,但是有很大概率会出bug
- 使用指令不建议生成过多数量的物品(比如几亿个原石),易导致服务器/客户端崩溃,够用即可
- 因为几乎所有内容都可以无条件刷出来,少了很多乐趣,还是建议在官服游玩之余来私服快活一下
我的服务器上已经部署了原神私服,可以在Genshin Impact Server查看。
下文为私人服务器部署教程。服务端使用了GitHub开源项目Grasscutter,教程参考了Moeyy的文章原神、原神私人服务器搭建教程、Grasscutter 原神服务端编译教程(视频教程)。侵删。
完整的可以游玩的的原神私服包括服务端和客户端。想当服主的仅需要把服务端部署在服务器上,而如果希望本地运行的话就需要把两者都装在本地。
服务端
服务端需要安装以下内容:
- Java SE 17 - Grasscutter的运行环境
- MongoDB 4.0+ - 存储服务器数据
- Grasscutter - 服务器程序
感兴趣的大佬可以考虑一下容器化。
Java
如果仅需要运行服务端,使用jre即可。
根据你的操作系统选择不同的安装方式,不再赘述。
MongoDB
建议安装4.0以上的版本。
根据你的操作系统选择不同的安装方式,不再赘述。
安装之后记得启动MongoDB服务。
#Linux启动MongoDB服务
sudo systemctl start mongod.service
#Linux设置MongoDB服务开机自启
sudo systemctl enable mongod.service
Grasscutter
此方法获取到的版本不一定为最新版。
这里提供三种方法获取Grasscutter的程序文件。
1 直接下载
直接下载Moeyy大佬提供的整合包。(其实是因为我懒得打包)
查看原文
2 从Actions下载
此方法获取到的版本为最新版。
详见GitHub项目Grasscutter。
3 自行编译
此方法获取到的版本为最新版。
详见GitHub项目Grasscutter。
DEV版本源码地址
数据文件夹存放wiki
Moeyy的视频教程
依赖:
- Java SE Development Kits - 17
- Git
Windows:
git clone https://github.com/Grasscutters/Grasscutter.git # 或使用自己的fork地址
cd Grasscutter
.\gradlew.bat # 建立开发环境
.\gradlew jar # 编译
Linux:
git clone https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
chmod +x gradlew
./gradlew jar # 编译
编译后的 JAR 文件存放在根目录。
Windows如创建为bat文件请删除注释。
编译成功后需要下载资源文件和证书文件到目录下。
- 克隆或下载 https://git.crepe.moe/tamilpp25/Grasscutter_Resources ,将项目内
Resources
文件夹内的所有文件都复制到Grasscutter
中的resources
文件夹内。 - 下载 https://raw.githubusercontent.com/Grasscutters/Grasscutter/development/keystore.p12 证书文件,复制到
Grasscutter
目录下。
启动Grasscutter
通过上述步骤,我们得到了Grasscutter的jar程序包。现在只需启动它就可以完成服务端的构建。
启动之前还需要编辑Grasscutter的配置文件config.json
:
- 修改
bindAddress
为可访问到服务端的地址,bindPort
为服务端可用的端口,accessAddress
为希望绑定的主机名。
- 修改
accessAddress
为希望绑定的主机名。此处的bindPort
不建议修改。
注:自行构建的版本如果没有config.json
文件,请先按下面的方法运行一次,以生成配置文件。从旧版本升级到新版本, 需要删除config.json
使其重新生成。
如果你的服务端使用了云厂商的VPS或者安装有防火墙,请放行以下端口:
22102
- TCP- 上一步的
http-bindPort
- TCP+UDP
运行以下命令在前台启动服务端:
#Linux根据情况可能需要添加sudo
#grasscutter.jar的文件名根据实际情况修改
java -jar ./grasscutter.jar
看到类似输出即启动成功:
输入以下命令创建账号:
#user是用户名,10001是uid
account create user 10001
输入以下命令关闭服务器:
stop
Linux系统中,为了保证Grasscutter的持久化运行,我们为其编写service文件并用systemctl管理它。
编写文件/etc/systemd/system/grasscutter.service
:
[Unit]
Description=Genshin Server by grasscutter
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
WorkingDirectory=/usr/local/grasscutter
ExecStart=java -jar /usr/local/grasscutter/grasscutter.jar
User=root
Group=root
[Install]
WantedBy=multi-user.target
启动Grasscutter服务:
#启动服务
sudo systemctl start grasscutter.service
#设置自启
sudo systemctl enable grasscutter.service
至此服务端配置完成。
客户端
以下内容仅针对Windows平台。教程仅针对原神国际版,对原版无影响。
为了将原神客户端的流量劫持并重定向到私人服务器,我们需要流量转发工具。
大部分配置原神私服客户端的教程使用的都是Fiddler进行流量转发,而它对于游戏客户端而言不够优雅。我自己的私服客户端使用的是GitHub项目GL(原神启动器),它内部集成了流量转发工具Titanium Web Proxy,无需每次繁琐的配置。
现在,有两个方法来安装客户端,均可正常运行。
使用GitHub项目GL及Titanium Web Proxy(更优雅)
请移步我的私服说明页Genshin Impact Server来生成客户端。
使用原生启动器及Fiddler(方便研究原理)
- 下载安装Fiddler。
- 打开Fiddler,先更换代理端口,不要使用默认端口防止冲突。更换位置:
tools
-options
-connections
。
- 转到
HTTPS
选项,开启解密HTTPS
选项,会要求安装证书,点是。(安装证书是为了截取原神客户端加密的数据包,使其与私服通信)
- 打开
rules
-customize rules
,复制下方的规则进去,然后Ctrl+S保存。
oS.host
配置为服务端地址。import System; import System.Windows.Forms; import Fiddler; import System.Text.RegularExpressions; class Handlers { static function OnBeforeRequest(oS: Session) { if(oS.host.EndsWith(".yuanshen.com") || oS.host.EndsWith(".hoyoverse.com") || oS.host.EndsWith(".mihoyo.com")) { oS.host = "genshin.mikumikumi.xyz:39443"; } } };
- 移步我的私服说明页Genshin Impact Server,按照教程操作,跳过4-6步,直接启动游戏即可。
Enjoy~
Comments NOTHING