找回密码
 register

QQ登录

只需一步,快速开始

查看: 33|回复: 1

[Linux] 流光 billing V1.35 验证工具 支持源端和普通端

[复制链接]

[Linux] 流光 billing V1.35 验证工具 支持源端和普通端

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:192
  • 打卡月天数:15
  • 打卡总奖励:190
  • 最近打卡:2025-05-16 15:10:45
Waylee

主题

0

回帖

1万

积分

仙帝

积分
19757
Waylee 2025-5-15 10:58 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

下载地址:


游客,如果您要查看本帖隐藏内容请回复


以下技术文档:

billing_go

这是一个用 Go 语言编写的 billing 验证服务器。

运行环境要求

支持以下任意一种运行环境

bug 反馈

如果使用此程序出现问题,可以提交 Issue 说明你所遇到的问题,并附上相关日志文件。

billing 的日志在 billing 程序所在的目录,文件名为 billing.log,首次运行时会自动创建此文件。

此外还需要 Login 服务器的日志,因为只有 Login 服务器会连接 billing 服务器。

可以修改一下运行脚本 run.sh,把 Login 服务器的日志写入某个文件,这样就可以在问题复现时从日志中查询到原因。

# 记录Login服务器日志的方法

# 原命令
./Login >/dev/null 2>&1 &

# 修改/dev/null 为 /home/login.log
# 修改后,日志文件会保存到/home/login.log
./Login >/home/login.log 2>&1 &

获取程序包

有以下两种方式获取此程序包。

1.使用我编译好的版本

点击这里查看我编译好的各版本, 可能没有最新的编译版本

2.手工编译

如果你想亲自进行编译,需要确保你的操作系统满足以下条件

  • 设备已连接网络
  • 已安装 Git
  • 已安装 make(仅 linux 需要)
  • 已安装 Go 1.23 或者更高版本

linux 使用 make 进行编译

# make命令说明

# 构建
make

# 清理
make clean

# 构建并且打包32位
make x32

# 构建并且打包64位
make x64

# 构建并且打包所有架构
make all

windows 下直接双击 build.bat 进行编译

相关文件说明

billing       - Linux版本的billing服务器
billing.exe   - Windows版本的
config.yaml   - 配置文件

配置文件

配置文件和程序必须放在同一个目录下,配置文件支持两种格式yaml或者json,配置文件名称为config.yaml或者config.json,如果两个文件都存在,则yaml格式优先。

yaml 格式的配置示例

# #后面的为注释
# 字符串可以不加引号,除非里面有#字符,所以如果数据库密码有#字符、空格时,就要加上引号
#
#billing服务器的ip,默认127.0.0.1即可
ip: 127.0.0.1
#
#billing服务器监听的端口(自定义一个未被占用的端口即可)
port: 12680
#
#MySQL服务器的ip或者主机名
db_host: localhost
#
#MySQL服务器端口
db_port: 3306
#
#MySQL用户名
db_user: root
#
#MySQL密码
db_password: 'root'
#
#账号数据库名(一般为web)
db_name: web
#
#只有在老版本MySQL报old_password错误时,才需要设置为true
allow_old_password: false
#
#用户登录的账号不存在时,是否引导用户进行注册
auto_reg: true
#
#允许的服务端连接ip,为空时表示允许任何ip,不为空时只允许指定的ip连接,
#allow_ips:
#  - 1.1.1.1
#  - 127.0.0.1
#
#点数修正, 在查询点数时,显示的值多1点或者少1点时才需要配置此值, 正常情况设置为0
#如果显示的点数少1点则配置为1(这是临时方案,一般是lua脚本有问题,lua脚本不应该把返回的数值减一,建议修改客户端查询点数的脚本)
#如果显示的点数多一点则配置为-1(一般不可能发生)
point_fix: 0
#登录的玩家总数量限制,如果为0则表示无上限
max_client_count: 500
#
#每台电脑最多可以同时登录的用户数量限制,如果为0则表示无上限
pc_max_client_count: 3
# billing类型 0经典 1怀旧
bill_type: 0

json 格式的配置示例

{
  "ip": "127.0.0.1",
  "port": 12680,
  "db_host": "localhost",
  "db_port": 3306,
  "db_user": "root",
  "db_password": "root",
  "db_name": "web",
  "allow_old_password": false,
  "auto_reg": true,
  "allow_ips": [],
  "point_fix": 0,
  "max_client_count": 500,
  "pc_max_client_count": 3,
  "bill_type": 0
}

如果 biiling 和服务端位于同一台服务器的情况下,建议 billing 的 IP 使用 127.0.0.1,这样可以避免绕一圈外网

本项目中附带的配置文件各项值为其默认值,如果你的配置中的字段的值与默认值相同,则可以省略相同的字段配置

billing (Windows 服务器则是billing.exe)和配置文件放置于同一目录下

修改游戏服务器的配置文件....../tlbb/Server/Config/ServerInfo.ini中 billing 的配置

#........
[Billing]
Number=1
#billing服务器的ip
IP0=127.0.0.1
# billing服务器监听的端口
Port0=12680
#.........

最后启动游戏服务端、启动 billing 即可

启动与停止

Linux 和 Windows 下的操作分别如下

启动

Linux 下启动 billing 方法(前台模式)

#进入billing所在文件夹,比如/home
cd /home
#添加执行权限
chmod +x ./billing
#启动billing
./billing

Linux 以守护进程后台运行 billing 的方法(daemon 模式)

#进入billing所在文件夹,比如/home
cd /home
#添加执行权限
chmod +x ./billing
#启动billing
./billing up -d

Linux 以 systemd 方式运行 billing 服务的方法:
参考文件 billing.service

Windows 下,直接双击billing.exe即可

停止

停止 billing 命令

# 使用stop命令
./billing stop

# 也可以使用kill命令
kill -SIGTERM $(pgrep -f billing)

如果是前台模式,可以使用 Ctrl + C 组合键停止服务器

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:1
  • 打卡总奖励:1
  • 最近打卡:2025-05-16 02:30:45
骚年啊

主题

0

回帖

43

积分

练气

积分
43
骚年啊 2025-5-16 02:30 | 显示全部楼层 | Edg | Windows 10
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2025-5-17 19:52 , Processed in 0.107379 second(s), 5 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表