整理初版
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -30,3 +30,4 @@ Thumbs.db
|
||||
*~
|
||||
3rd/
|
||||
lib/
|
||||
compile_commands.json
|
||||
|
||||
21
README.md
Normal file
21
README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# DnfProject / Aurora
|
||||
|
||||
本仓库是 `Aurora` 共享库项目,使用 xmake 构建 32 位 Linux 目标。
|
||||
|
||||
## 目录结构
|
||||
|
||||
- `src/core/`:入口、控制器、调度、Hook、主流程。
|
||||
- `src/script/`:Squirrel 绑定、脚本注册、脚本请求相关代码。
|
||||
- `src/net/`:socket、DIO、HTTP/异步网络相关代码。
|
||||
- `src/db/`:MySQL 连接池和数据库封装。
|
||||
- `src/sdk/`:游戏 SDK、结构体、枚举、协议对象。
|
||||
- `src/utils/`:通用工具、编码、IO、BASE64、Singleton。
|
||||
- `third_party/`:随项目保存的第三方头文件或源码。
|
||||
- `3rd/`、`lib/`:本地第三方库和二进制依赖目录,默认不纳入 Git 跟踪。
|
||||
|
||||
## 构建方式
|
||||
|
||||
本机工作区通常是远程目录挂载,实际编译环境在 `192.168.200.110` 上。请使用 SSH 到远端执行 xmake。
|
||||
|
||||
详细命令见 `docs/build-remote.md`。
|
||||
更多清理边界说明见 docs/cleanup-notes.md。
|
||||
41
docs/build-remote.md
Normal file
41
docs/build-remote.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 远程编译验证
|
||||
|
||||
本机只编辑挂载的远程工作区,实际编译在 CentOS 7 编译机上完成。
|
||||
|
||||
## 远端环境
|
||||
|
||||
- SSH:`root@192.168.200.110`
|
||||
- 项目目录:`/home/Project/dps`
|
||||
- xmake:`/root/.local/bin/xmake`
|
||||
- 构建目标:`Aurora`
|
||||
|
||||
## 常用命令
|
||||
|
||||
配置 debug 构建:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake f -m debug"
|
||||
```
|
||||
|
||||
编译 Aurora:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake build Aurora"
|
||||
```
|
||||
|
||||
一次性配置并编译:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake f -m debug && /root/.local/bin/xmake build Aurora"
|
||||
```
|
||||
|
||||
## 已知环境提示
|
||||
|
||||
SSH 登录时可能出现:
|
||||
|
||||
```text
|
||||
/etc/profile.d/dps-java.sh: line 3: export
|
||||
JAVA_HOME="/java_env/jdk1.8.0_161": No such file or directory
|
||||
```
|
||||
|
||||
这是远端环境脚本的已知噪音。只要 xmake 返回成功并显示 `build ok`,本项目构建验证视为通过。
|
||||
45
docs/cleanup-notes.md
Normal file
45
docs/cleanup-notes.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 清理说明
|
||||
|
||||
本文件记录项目整理后的依赖边界,避免后续误删构建必需内容。
|
||||
|
||||
## 已验证可清理
|
||||
|
||||
以下内容已删除,并通过远程 `xmake build Aurora` 验证:
|
||||
|
||||
- `compile_commands.json`:生成文件,已加入 `.gitignore`。
|
||||
- `src/CMakeLists.txt`:旧 CMake 入口,当前只维护 `xmake.lua`。
|
||||
- `src/net/httplib.h`:未被源码引用。
|
||||
- `src/core/Hook_1.hpp`:未被源码引用。
|
||||
- `src/core/ffitest.h`:未被源码引用。
|
||||
- `src/sdk/dp2_sdk_c.h`:未被源码引用。
|
||||
- `192.168.200.110/`:空目录,非项目内容。
|
||||
|
||||
## 当前构建必需
|
||||
|
||||
以下路径被 `xmake.lua` 或源码直接依赖,不能直接删除:
|
||||
|
||||
- `3rd/squirrel`:Squirrel 头文件和静态库。
|
||||
- `3rd/asio`:Asio 头文件。
|
||||
- `3rd/openssl`:OpenSSL 头文件和静态库。
|
||||
- `3rd/frida`:Frida 静态库。
|
||||
- `3rd/zlib`:zlib 静态库。
|
||||
- `/usr/local/opencc-32bit`:OpenCC 头文件和静态库。
|
||||
- `/usr/local/keystone-32bit`:Keystone 头文件和静态库。
|
||||
- `/usr/local/libffi-32bit`:libffi 静态库。
|
||||
|
||||
## 暂不物理删除
|
||||
|
||||
以下目录未被 Git 跟踪,可能是历史构建副本或离线备份。本次不删除:
|
||||
|
||||
- `lib/`
|
||||
- `3rd/mysql`
|
||||
- `3rd/opencc`
|
||||
- `3rd/keystone`
|
||||
- `3rd/libffi`
|
||||
|
||||
如果未来要继续瘦身,建议先在远端确认没有手工脚本、部署流程或旧构建流程引用这些目录,再单独清理。
|
||||
## 已确认移除
|
||||
|
||||
- src/db/CConnectPool.cpp 和 src/db/CConnectPool.h:连接池实现已确认无脚本使用。
|
||||
- Sq_CreatCConnectPool 和 Sq_MysqlExecNoRet:对应 Squirrel API 已移除。
|
||||
- 3rd/mysql、lib/mysql:当前源码和 xmake 已无直接引用,仍作为未跟踪历史副本暂不物理删除。
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
#include "CConnectPool.h"
|
||||
#include "controller.h"
|
||||
#include "import.h"
|
||||
#include "l_socket.h"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "sqstdmath.h"
|
||||
#include "sqstdstring.h"
|
||||
#include "sqstdsystem.h"
|
||||
#include "CConnectPool.h"
|
||||
#include "croncpp.h"
|
||||
#include "l_socket.h"
|
||||
#include <openssl/md5.h>
|
||||
@@ -398,36 +397,6 @@ static SQInteger L_GetDataByIdFromPvf(HSQUIRRELVM v)
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 创建数据库连接池
|
||||
static SQInteger L_CreatCConnectPool(HSQUIRRELVM v)
|
||||
{
|
||||
SQInteger MinConnectCount, MaxConnectCount, Port;
|
||||
const SQChar* Host;
|
||||
const SQChar* Account;
|
||||
const SQChar* Passwd;
|
||||
|
||||
sq_getinteger(v, 2, &MinConnectCount);
|
||||
sq_getinteger(v, 3, &MaxConnectCount);
|
||||
sq_getstring(v, 4, &Host);
|
||||
sq_getinteger(v, 5, &Port);
|
||||
sq_getstring(v, 6, &Account);
|
||||
sq_getstring(v, 7, &Passwd);
|
||||
|
||||
// 初始化数据库
|
||||
CConnectPool::CreatePool(MinConnectCount, MaxConnectCount, Host, Port, Account, Passwd);
|
||||
return 0;
|
||||
}
|
||||
// 阻塞线程的数据库操作 无返回值
|
||||
static SQInteger L_MysqlExecNoRet(HSQUIRRELVM v)
|
||||
{
|
||||
const SQChar* Sql;
|
||||
sq_getstring(v, 2, &Sql);
|
||||
|
||||
MYSQL* MysqlObject = CConnectPool::GetConnect();
|
||||
mysql_query(MysqlObject, Sql);
|
||||
CConnectPool::PutConnect(MysqlObject);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct CreateSocketInfo
|
||||
{
|
||||
@@ -1179,9 +1148,7 @@ static void RegisterGame(HSQUIRRELVM v)
|
||||
// 通过ID从Pvf中查询Data
|
||||
register_World_func(v, L_GetDataByIdFromPvf, _SC("Sq_GetDataByIdFromPvf"));
|
||||
// 创建数据库连接池
|
||||
register_World_func(v, L_CreatCConnectPool, _SC("Sq_CreatCConnectPool"));
|
||||
// 阻塞线程的数据库操作 无返回值
|
||||
register_World_func(v, L_MysqlExecNoRet, _SC("Sq_MysqlExecNoRet"));
|
||||
// 创建Socket连接
|
||||
register_World_func(v, L_CreatSocketConnect, _SC("Sq_CreatSocketConnect"));
|
||||
// 动态调用Call
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "sqstdmath.h"
|
||||
#include "sqstdstring.h"
|
||||
#include "sqstdsystem.h"
|
||||
#include "CConnectPool.h"
|
||||
#include "inline_hook.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
19
xmake.lua
19
xmake.lua
@@ -48,16 +48,25 @@ target("Aurora")
|
||||
add_ldflags("-Wl,--no-as-needed")
|
||||
|
||||
-- 添加源文件
|
||||
add_files("src/*.cpp")
|
||||
add_files("src/asmjit/core/*.cpp")
|
||||
add_files("src/asmjit/arm/*.cpp")
|
||||
add_files("src/asmjit/x86/*.cpp")
|
||||
add_files("src/core/*.cpp")
|
||||
add_files("src/script/*.cpp")
|
||||
add_files("src/net/*.cpp")
|
||||
add_files("src/utils/*.cpp")
|
||||
add_files("third_party/asmjit/core/*.cpp")
|
||||
add_files("third_party/asmjit/arm/*.cpp")
|
||||
add_files("third_party/asmjit/x86/*.cpp")
|
||||
|
||||
-- 添加头文件搜索路径
|
||||
add_includedirs("include")
|
||||
add_includedirs("src")
|
||||
add_includedirs("src/core")
|
||||
add_includedirs("src/script")
|
||||
add_includedirs("src/net")
|
||||
add_includedirs("src/utils")
|
||||
add_includedirs("src/sdk")
|
||||
add_includedirs("src/sdk")
|
||||
add_includedirs("third_party")
|
||||
add_includedirs("third_party/lua")
|
||||
add_includedirs("third_party/frida")
|
||||
add_includedirs("3rd/squirrel/include")
|
||||
add_includedirs("3rd/asio/include")
|
||||
add_includedirs("3rd/openssl/include")
|
||||
|
||||
Reference in New Issue
Block a user