From c9ce2f54328c780042a001fc717804cf8e0bb6ff Mon Sep 17 00:00:00 2001 From: root Date: Mon, 26 May 2025 13:17:45 +0800 Subject: [PATCH] =?UTF-8?q?docs(server=5F999):=20=E6=B7=BB=E5=8A=A0=20TDR?= =?UTF-8?q?=20=E5=B7=A5=E5=85=B7=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=92=8C=E8=BF=9E=E6=8E=A5=E6=B5=8B=E8=AF=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 csharptdr.md 文件,详细说明了 csharptdr 工具的使用方法和选项 - 新增 test_conn.md 文件,提供了连接测试工具的使用说明和示例 - 在 .gitignore 中添加了忽略项,以防止生成的文件被纳入版本控制 --- .gitignore | 1 + .../zone_svr/cfg/res/ActivityOpenConfig.bin | Bin 45574 -> 45607 bytes .../res/ActivityOpenConfig.bin.bak@all_open | Bin 0 -> 45574 bytes server_999/tools/build/csharptdr.md | 170 ++++++++++++++++++ server_999/tools/test_conn.md | 14 ++ 5 files changed, 185 insertions(+) create mode 100755 server_999/runenv/zone_svr/cfg/res/ActivityOpenConfig.bin.bak@all_open create mode 100644 server_999/tools/build/csharptdr.md create mode 100644 server_999/tools/test_conn.md diff --git a/.gitignore b/.gitignore index 658f4aa..4ff81c4 100755 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ meta.txt nohup.out battle_server_999/runenv/battle_svr/cfg/dump_verify_battle/ .vscode/ +*.tags diff --git a/server_999/runenv/zone_svr/cfg/res/ActivityOpenConfig.bin b/server_999/runenv/zone_svr/cfg/res/ActivityOpenConfig.bin index f83d8b742732d8fc4d73e913e063614dea040cab..412689dce0e7b6f940dbb9f0d103d3d4092fe1ff 100755 GIT binary patch delta 3953 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 diff --git a/server_999/runenv/zone_svr/cfg/res/ActivityOpenConfig.bin.bak@all_open b/server_999/runenv/zone_svr/cfg/res/ActivityOpenConfig.bin.bak@all_open new file mode 100755 index 0000000000000000000000000000000000000000..f83d8b742732d8fc4d73e913e063614dea040cab GIT binary patch literal 45574 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 literal 0 HcmV?d00001 diff --git a/server_999/tools/build/csharptdr.md b/server_999/tools/build/csharptdr.md new file mode 100644 index 0000000..741dd0f --- /dev/null +++ b/server_999/tools/build/csharptdr.md @@ -0,0 +1,170 @@ + +- 将多个XML格式的元数据描述库转换成二进制格式、C语言定义格式描述及生成数据定义的C语言头文件。 + 也可以把多个XML格式的元数据描述库转换成AS3、C++、C#的类文件,这些类文件实现了打解包等接口。 + 如果多个xml文件之间存在依赖关系,则被依赖的xml文件必须放在参数表的前面。 + +用法: +csharptdr (-B,--xml2dr [-o,--out_file=FILE] ) + | (-C,--xml2c [-o,--out_file=FILE]) + | (-H,--xml2h [-p,--no_type_prefix] [-s,--add_custom_prefix=PREFIX] + [-l,--no_lowercase_prefix] [-c,--no_type_declare]) + [-u,--prefix_file=FILE] [-w,--with-namespace]) + | (-A,--as3 [-i,--indent-size=TABSIZE]) + | (-P,--xml2cpp [-i,--indent-size=TABSIZE] [--no_comm_files] + [--only_comm_files] [-p,--no_type_prefix] + [-s,--add_custom_prefix=PREFIX] [-l,--no_lowercase_prefix] + [-c,--no_type_declare] [-u,--prefix_file=FILE] [--no_united_name] + [--common_namespace=NAME] [--capital_macro_name] + [--with_from_xml] [--with_to_xml] + [--no_pack] [--no_unpack] [--no_visualize] + [--no_macro_from_xml] [--no_macro_to_xml] + [--compatible_macro_name] [--no_created_time] + [--use_switch_case_style] [--no_msvc_c1061_error] + | (-S,--xml2csharp [-i,--indent-size=TABSIZE] [--no_error_trace]) + | (-G,--gen_xmltmplt --meta_name=NAME [-e,--meta_version=VERSION] + [-x,--xml_format=formatId] [-n,--encoding=ENCODING] [-o,--out_file=FILE]) + | (-T,--export_prefix --prefix_file=FILE + | (-E,--errorlookup=ERRORCODE) + [-O,--out_path=PATH] [-f,--old_xml_tagset] [-d,--dump_lib ] [-h,--help] [-v -version] xmlfile... + +主要转换操作选项: + -B,--xml2dr 指定使用将多个xml格式的元数据描述库转换成二进制个数描述库的功能(xml2dr)。 + -C,--xml2c 指定使用将多个xml格式的元数据描述库转换成C语言定义格式描述库的功能(xml2c)。 + -H,--xml2h 指定使用将多个xml格式的元数据描述库转换为数据的C语言头文件的功能(xml2h)。 + 每个xml文件会转换为一个相应头文件;除文件后缀外,头文件与xml文件名相同。 + -A,--xml2as3 指定使用将多个xml格式的元数据描述库转换为ActionScript3语言的类文件的功能。 + -P,--xml2cpp 指定使用将多个xml格式的元数据描述库转换为C++语言类文件的功能。 + -S,--xml2csharp 指定使用将多个xml格式的元数据描述库转换为C#语言类文件的功能。 + -G,--gen_xmltmplt 为指定元数据生成xml格式的配置文件模板(gen_xmltmplt)。 + -T,--export_prefix 导出tdr生成.h文件或C++类文件时使用的数据成员前缀表到文件中。 + -E,--errorlookup 根据tdr API接口返回的错误号,查找具体的错误信息。 + + +xml2dr的可选项: + -o,--out_file=FILE + 指定转换出来的二进制描述库的文件名,如果没有指定此选择,则缺省以a.tdr为文件名。 + +xml2c的可选项: + -o,--out_file=FILE + 指定转换出来的C语言定义格式描述库的文件名,如果没有指定此选择,则缺省以a.c为文件名。 + +xml2h的可选项: + -p,--no_type_prefix + 生成的结构体(struct)/联合体(union)成员名不添加表示此成员类型的前缀。 + 如果不指定此选择,缺省会添加表示成员类型的前缀。 + -s,--add_custom_prefix=PREFIX + 生成的结构体(struct)/联合体(union)成员名添加自定义的前缀。 + PREFIX为要添加的前缀串,目前其最多只能包含8个字符。 + -l,--no_lowercase_prefix + 如果指定此选项,则生成的结构体(struct)/联合体(union)成员名不强制将首字母改成小写。 + -c,--no_type_declare + 如果指定了此选项则在元数据的C语句头文件中不生成结构体(struct)/联合体(union)的类型声明。 + -u,--prefix_file=FILE + 如果指定了此选项则使用文件FILE中的前缀规则生成C语言头文件的数据成员前缀。 + 注意,如果指定了此选项,其他关于前缀的选项均被设置为无效。 + -w,--with-namespace + 如果指定此选项,则在生成的头文件中加入namespace(其值为metalib的name属性的值)。 + +xml2as3的可选项: + -i,--indent-size + 指定生成的ActionScript3类文件的缩进大小(必须大于0),默认为 4 个空格。 + +xml2cpp的可选项(同时支持所有xml2h的可选项, -w选项除外): + -i,--indent-size + 指定生成的c++类文件的缩进大小(必须大于0),默认为 4 个空格。 + --no_comm_files + 如果指定了此选项则不生成与协议无关的、公用的C++类文件。 + --only_comm_files + 如果指定了此选项则只生成与协议无关的、公用C++类文件, 此时不需要指定xml描述文件。 + --no_united_name + 如果指定了此选项,根节点的 name 属性值为 "" 的xml描述文件, 生成的代码不指定namespace。 + --common_namespace=NAME + 如果指定了此选项则生成的common文件的namespace为NAME,否则采用默认值"tsf4g_tdr"。 + --capital_macro_name + 如果指定了此选项则生成的C++头文件中防止重复包含的预定义宏采用全大写。 + --with_from_xml + 如果指定了此选则生成输入XML格式数据的成员函数及相关的第三方源代码。 + --with_to_xml + 如果指定了此选则生成输出XML格式数据的成员函数。 + --no_pack + 如果指定了此选则不生成 pack 成员函数。 + --no_unpack + 如果指定了此选则不生成 unpack 成员函数。 + --no_visualize + 如果指定了此选项则不生成visualize成员函数, 默认生成visualize成员函数。 + --no_macro_from_xml + 如果指定了此选项则加载xml格式数据时,不支持整数类型配置成macro名,默认支持。 + --no_macro_to_xml + 如果指定了此选项则输出xml格式数据时,绑定了macrosgroup的类型以数值输出, 默认以macro名输出。 + --compatible_macro_name + 如果指定了此选项则生成的C++代码的头文件中的宏名和枚举名与--xml2h方式一致,默认不一致。 + --no_created_time + 如果指定了此选项则生成的所有文件中不输出时间注释信息,默认输出时间注释。 + --use_switch_case_style + 如果指定了此选项则生成的union方法使用switch case风格分支处理语句,默认if else风格。 + --no_msvc_c1061_error + 如果出现了MSVC的C1061(blocks netsted too deeply)编译错误,请务必打开此选项。 + --with_tlog_util + 如果指定了此选项并且未指定--no_comm_files,则生成与协议无关的、公共的tlog辅助文件。 + +xml2csharp的可选项: + -i,--indent-size + 指定生成的c++类文件的缩进大小(必须大于0),默认为 4 个空格。 + -p,--no_type_prefix + 生成的类成员名不添加表示此成员类型的前缀。 + 如果不指定此选择,缺省会添加表示成员类型的前缀。 + --no_error_trace + 如果指定了此选项则生成的C#类文件中不插入用于跟踪错误的调试代码。 + +gen_xmltmplt的必选项: + -m,--meta_name=NAME 指定要生成模板的元数据名称。 + +gen_xmltmplt的可选项: + -e,--meta_version=VERSION 如果指定此选项,则只输出版本号小于或等于此值的元数据或子成员数据。 + VERSION必须大于元数据的基础版本,且小于TDR支持的最大版本(2147483647)。 + 如果没有指定此选项,或指定的值为0,则取指定元数据的最大版本值。 + -x,--xml_formatID=FORMATID 指定生成的xml文件的格式, 目前支持如下格式: + ATTR: 简单非数组成员以属性方式输出。 + LIST: 简单非数组成员以子节点方式输出。 + 如果没有指定 -x 选项,则缺省输出格式为 LIST。 + -n,--encoding=ENCODING 指定输出的xml模板文件的头部的 encoding 属性的值。 + 如果没有指定 -n 选项,则缺省输出 encoding="GBK"。 + -o,--out_file=FILE 指定生成的配置文件,如果没有指定此选择,则缺省以a.xml为文件名。 + +export_prefix的必选项: + -u,--prefix_file=FILE 指定用于保存导出的数据成员前缀表的文件名。 + +转换公共选项: + -O,--out_path=PATH 指定输出文件的保存路径。 + 如果不指定此选项: + 对于xml2dr和xml2c其输出目录缺省为当前工作目录; + 对于xml2h其输出目录为对应xml所在目录。 + -f,--old_xml_tagset 指明xml元数据描述库是采用FO定义的老的XML标签进行描述的,转换工具必须按照老的格式去解析。 + 如果没有指定此选项,则转换工具会按照TDR定义的xml标签去解析xml元数据描述库。 + -d,--dump_lib 以可视化的方式打印出元数据描述库,并输出到"dump_lib.txt"文件中。 + +其他选项: + -h,--help 输出此工具的帮助列表 + -v,--version 输出此工具的构建版本 + +使用示例: +./csharptdr -B -o ov_res.tdr ov_res.xml + #xml格式元数据库生成.tdr二进制库 +./csharptdr -C -o ov_res.c --old_xml_tagset ov_res.xml + #使用老标签集的xml格式元数据库生成.c文件 +./csharptdr -H -O "include" --add_custom_prefix="m_" --no_type_prefix net_protocol.xml + #xml元数据库生成.h文件,生成的文件保存在include目录 + #结构体(struct)/联合体(union)成员名添加前缀"m_",但不添加类型前缀 +./csharptdr -G -m Pkg -x ATTR -o Pkg.xml net_protocol.xml + #为Pkg生成xml格式的配置文件, 剪切版本为Pkg的最大版本, 文件名为Pkg.xml +./csharptdr -T -u prefixfile + #导出生成.h文件时使用的数据成员前缀表到文件prefixfile中 +./csharptdr -A --indent-size=8 net_protocol.xml + #根据net_protocol.xml中描述的协议生成ActionScript3语言的类文件,缩进大小为8个空格 +./csharptdr -P --indent-size=8 net_protocol.xml + #根据net_protocol.xml中描述的协议生成C++语言的类文件,缩进大小为8个空格 +./csharptdr -S --indent-size=8 net_protocol.xml + #根据net_protocol.xml中描述的协议生成C#语言的类文件,缩进大小为8个空格 +./csharptdr -E 0x83010404 + #查询错误号0x83010404对应的错误信息 + diff --git a/server_999/tools/test_conn.md b/server_999/tools/test_conn.md new file mode 100644 index 0000000..1a6ce11 --- /dev/null +++ b/server_999/tools/test_conn.md @@ -0,0 +1,14 @@ +Usage: +Options: + -d 对应线的 proto_cs.tdr 的路径 + -h 服务器ip + -p 服务器端口 + -t 超时时间 默认2s + -u 登录服务器uin 默认999 + -w 是否使用websocket h5线需要使用 设置-i使用Uri 否则使用ip端口 + -i 使用websocket wss连接的Uri + -v 指定战斗版本号 可以不填 默认被踢 可以通过查看FuncParamConfig.txt中FuncID=500对应的值 +示例: +zone_conn: test_conn -d ~/a5game_server/protocol/tdr/proto_cs.tdr -h 127.0.0.1 -p 17501 +ws_conn: test_conn -d ~/a5game_server/protocol/tdr/proto_cs.tdr -w -h 127.0.0.1 -p 17501 +ws_conn: test_conn -d ~/a5game_server/protocol/tdr/proto_cs.tdr -w -i wss://wss-a5h5.hncqkj.cn/997