欢迎食用『主界面』~,这里是赵苦瓜的看板娘desu~

#
某游CBT1游玩记录 —— 一测版本怀旧
首页 > 点滴记录    作者:赵苦瓜   2022年12月24日 10:02 星期六   热度:15645°   百度已收录  
时间:2022-12-24 10:02   热度:15645° 

熊猫锅巴.jpg

最近看到有人在传CBT1的搭建教程,不过是英文的,这里记录一下我的搭建记录。

这个CBT1的私服是没有数据库的,也就是说每次登录进去都是最开始的状态,不过好在每次都是所有的东西都有,海星。

注:本教程仅适用于CBT1版本,如果需要搭建2.6 - 3.3版本的话可以参考这个:

GrassCutter的配置和使用记录 - 赵苦瓜のBlog (jixiaob.cn)


首先确保你已经安装了Python3,因为dispatch服务器是用py3写的。

没安装的话可以去python官网下一个https://www.python.org

windows系统下安装记得勾选add python to 'PATH',这样就省去自己添加环境变量了。


①下载CBT1的游戏本体。

是一个3.41G的压缩包。


可以在科学上网之后从这个地方下载:

https://archive.org/download/genshin-impact-cbt-1/Genshin%20Impact%20CBT1.rar


也可以用这个磁力链接:

magnet:?xt=urn:btih:91155B52125B25752485CB73868FC7484AB246AE


或者在yuuki网盘没炸的时候从她网盘下:

https://file.yuuki.me/0:/Project/GenshinImpact/Data/PC/1.0.0%20(CBT1)%20(138541_138541)/
https://file2.yuuki.me/GD1/Project/GenshinImpact/Data/PC/1.0.0%20(CBT1)%20(138541_138541) 


②下载服务端和res资源文件

服务端:https://github.com/LDAsuku/soggy

点code→download zip

res资源文件:https://codeberg.org/LDA_suku/soggy_resources
点下载按钮→下载zip


③自行编译服务端或者找个别人编译好的

这个私服的gameserver是拿cpp写的,所以不同平台需要自行编译,

这里有一个编译好的windows的版本可以直接下载打开使用(这个甚至连res资源文件都给你搞好了可以直接打开使用):

https://file.jixiaob.cn/zh-CN/Files/%E5%8E%9F%E7%A5%9E/CBT1/CBT1Server%E6%89%93%E5%8C%85by%E8%B5%B5%E8%8B%A6%E7%93%9C.7z


如果要自行编译:

我是用它推荐的方法2在win环境上编译的

首先下载安装MSYS2 

https://github.com/msys2/msys2-installer/releases/download/2022-10-28/msys2-x86_64-20221028.exe

然后打开MSYS2 MINGW64

注意:安装时路径不要有中文、空格或者特殊字符,否则安装依赖环境的时候可能会报错!

用cd命令切换到你刚刚下载解压的服务端的路径,比如cd "D:\Genshin\servers\soggy"

输入以下命令安装依赖环境

pacman -S ${MINGW_PACKAGE_PREFIX}-{toolchain,cmake,protobuf,lua}

然后

pacman -S make

做好编译准备

cmake -B build -G "Unix Makefiles"

编译

cmake --build build -j8

(该过程会大量消耗CPU,大概编译个十几分钟就好了)

完成之后,从你的mingw64的安装路径的bin文件夹(比如C:\msys64\mingw64\bin)复制几个文件到soggy/build文件夹(和soggy.exe放在同一个目录下)

libgcc_s_seh-1.dll
libprotobuf.dll
libstdc++-6.dll
libwinpthread-1.dll
lua54.dll
zlib1.dll


④最后的工作

把之前下载的资源文件soggy_resources重命名为resources然后把这个文件夹放在和soggy.exe放在同一个目录下。

在dispatch.py旁边新建一个启动脚本start dispatch.bat,里面写着:

python dispatch.py
pause


然后打开,看看会不会报错,如果报错说什么文件soggy_cat.png没找到可以把static文件夹里面的这个图片文件复制一份出来。

然后打开soggy.exe启动服务器,也有可能直接闪退,如果你能看见报错大概是因为缺少配置文件,从上级目录复制一个soggy.cfg进来大概就好了。

如果还是闪退可能是另一个很神奇的错误

terminate called after throwing an instance of ‘std::runtime_error’ what():

这个错误,这个错误很玄学,有时候就有然后闪退,有时候自己就好了

我的解决方案是写个bat让他自己失败之后重试,这样大概他自己重试三五次就能打开了

@echo off
 
FOR /L %%i IN (1,1,10) DO (
soggy.exe
cls
)
pause



⑤使用Fiddler代理并打开游戏。

又是我们熟悉的Fiddler代理。如果不清楚如何安装Fiddler或者如何设置Fiddler Script可以参考我的这一篇博客里的代理部分:https://blog.jixiaob.cn/?post=83

这里直接放上脚本(和之前不同的是这里会使用http而不是https

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.uriContains("http://overseauspider.yuanshen.com:8888/log")
            || oS.host.EndsWith(".yuanshen.com:12401")
        ) { 
            
            oS.host = "127.0.0.1";
            // Only for CBT-1
            oS.oRequest.headers.UriScheme = "http";
            oS.port = 8099;
        }
    }
};



代理成功后就可以启动游戏了。

老样子,账号密码随便输,然后直接进游戏。

开始.jpg

如果要切换队伍角色,可以到猫尾酒馆门口找那个冒险家艾尔菲切换,或者在控制台输入elfie吧艾尔菲召唤出来然后对话切换角色。

另外背包和角色面板的键位也改了,背包是I不是B,角色是K不是C,具体可以看游戏内设置。

切换队伍角色.jpg

地图自然也是只有蒙德地区的

蒙德地图.jpg

关于配置文件:

如果要放到服务器上:

如果要放在服务器上要怎么修改配置文件呢?

首先,dispatch.py中的前几行:

DISPATCH_LISTEN = "0.0.0.0"
DISPATCH_PORT = 8099    # dispatch服务的端口
DISPATCH_ROUTE_URL = "http://localhost:8099"  # 这里也记得改一下服务器的ip:端口

GAME_IP = "localhost"    # gameserver的ip,也就是服务器ip
GAME_PORT = 22102     # gameserver的端口

GAME_RES_CUR_VERSION = 138541
DESIGN_DATA_CUR_VERSION = 138541

如果要改开头选服的那个名称可以改REGION_TITLES


还有soggy.cfg(是和soggy.exe同路径的那个文件)

# soggy.cfg

[common]
game_res_version=138541
design_data_version=138541

[dispatch]
bind_addr=0.0.0.0
bind_port=8099    # 改成服务器的dispatch端口
route_url=http://localhost:8099     #  dispatch服务器ip:端口
game_addr=localhost    # gameserver服务器ip
game_port=22102       #  gameserver服务器端口
region_title=100% real cbt1 server
feedback_url=https://cdn.discordapp.com/attachments/441109559004889098/1043690740397641748/unknown.png
notices_url=https://cdn.discordapp.com/attachments/441109559004889098/1043690740397641748/unknown.png
guide_url=https://cdn.discordapp.com/attachments/441109559004889098/1043690740397641748/unknown.png

[game]
bind_addr=0.0.0.0
bind_port=22102    #  gameserver服务器端口
max_clients=16      # 可能是最大同时在线的玩家数,我没测试



本文作者:赵苦瓜      文章标题: 某游CBT1游玩记录 —— 一测版本怀旧
本文地址:https://blog.jixiaob.cn/?post=94
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
杉道2025-08-26 21:37
访问失败
网络异常 请重启游戏或设备 或关闭网络代理
ok

这是什么错误  不懂啊
@杉道:代理搞错了或者dispatch服务器没启动成功,再检查检查重新试试吧
Windowsxp-69852025-08-25 21:19
这个可以用指令tp到其他地方吗
hs_con10242025-08-02 11:34
开游戏时显示
Google.Protobuf.JsonTokenizer+JsonTextTokenizer.Nextlmpl()
Google.Protobuf.JsonParser.Merge(lMessage message, Google.Protobuf.JsonTokenizer tokenizer)
点ok再点右下角退出键弹出登录界面
输完密码账号提示
Error:retJsonString IsNullOrEmpty
按照下面评论做法仍然无法解决
包括但不限于打开解密流量,抓取连接,修改端口
hs_con10242025-08-02 11:36
@hs_con1024:端口是8099
1112025-08-03 12:11
@hs_con1024:有人吗
2222025-07-30 01:55
你好,每次打开代理软件都会显示“命名空间不能直接包含字段或方法之类的成员Line:1”这个怎么解决啊
@222:脚本复制的不对吧
2222025-07-30 18:26
@赵苦瓜:没检查了,没出错,重装软件后,没写脚本打开软件就提示这个
@222:怪
1112025-07-29 15:32
开游戏时显示
Google.Protobuf.JsonParser.Merge (IMessage message, Google.Protobuf.JsonTokenizer tokenizer)
Google.Protobuf.JsonParser.Merge (IMessage
message, System.IO.TextReader jsonReader)
Google.Protobuf.JsonParser.Parse[T]
(System.IO.TextReader jsonReader)
BOKAHKEOBDF.MGNMBNHMIDO (System.String
输完密码账号提示
Error:retJsonString IsNullOrEmpty
求助这怎么办
我是乐子2025-07-30 12:40
@111:解决了看下面评论叫@windows2000-96的
1112025-08-01 10:23
@我是乐子:你能进了吗
我是乐子2025-08-04 20:00
@111:能
我是乐子2025-08-04 20:00
@111:还要改端口https://blog.jixiaob.cn/?post=83x下面看看
1112025-08-04 22:13
@我是乐子:教教我
1112025-07-29 13:56
一开游戏本体就白屏了,这咋办
我是乐子2025-07-29 14:00
@111:看见米哈游标志白屏吗我这样的换了个本体包就行了
1112025-07-29 14:02
@我是乐子:对,怎么换别的
1112025-07-29 14:10
@我是乐子:你好
我是乐子2025-07-29 14:18
@111:https://www.moeluoyu.xyz/archives/5.html
下滑找到下载网站注册123云盘账户其他看教程不然要会员

教程https://www.bilibili.com/video/BV1ExMUzuEFJ/?spm_id_from=333.337.search-card.all.click&vd_source=99029bc3a8ec5fc8736ac562f6f7ca14看教程
1112025-07-29 14:28
@我是乐子:谢谢哥
我是乐子2025-07-29 13:00
随便输入密码后弹出Error:retJsonString IsNullOrEmpty
啥意思怎么解决
1112025-07-29 14:50
@我是乐子:我也是一样的
我是乐子2025-07-30 12:35
@111:米游社查了下说是网络问题我们可能哪一步没做对
我是乐子2025-07-30 12:40
@111:解决了看下面评论
ming62932025-07-26 22:00
大佬大佬,有没有安卓的客户端,cbt2的也可以
@ming6293:客户端都是一样的把,加个代理转发就行
rontiger2025-07-20 00:41
这个CBT1的选择服务器页面居然还有两句话,哈哈哈哈
Windows2000-962025-07-19 19:02
大佬 我一进入就网络异常
然后我关了几次之后又奇迹的进去了 但是登录就提示
Error: retjsonString IsNullOrEmpty!
这该怎么解决啊
C1oyoo2025-07-20 00:03
@Windows2000-96:同问
呵呵呵2025-07-20 17:28
@Windows2000-96:保存脚本后,工具-选项-https-抓取链接和解密流量勾选上,如果谈对话框一定要选择yes
--2025-07-23 21:34
@Windows2000-96:Findder修改抓包端口,这个里面有说https://blog.jixiaob.cn/?post=83

返回顶部    首页    后花园  
版权所有:赵苦瓜のBlog~    站长: 赵苦瓜    程序:emlog   鲁ICP备20030743号-1   鲁公网安备37048102006726 萌ICP备20222268号    sitemap