对战平台代码开源

The_518651 一级用户组 2022-9-11 1888

代码已上传在论坛QQ群,需要下载的各位请群(文件居多,无法上传GIT)

2T对战平台UI界面请看

 

请注意:代码虽然开源了,但你至少必须要会懂基本的C++/C#,多线程并发编写,不然玩不起来!!!!!!

请注意:代码虽然开源了,但你至少必须要会懂基本的C++/C#,多线程并发编写,不然玩不起来!!!!!!

请注意:代码虽然开源了,但你至少必须要会懂基本的C++/C#,多线程并发编写,不然玩不起来!!!!!!

重要事情说三遍!!!!!

本项目编译流程:

需具备:最好VS2022 带C++/C#工作负载,

后端服务器用的是C++ spdlog做log 多线程TCP,每次只链接10个Client,可以自己设置数量.每次API请求为加密json数据,需要使用0X7E9FB开头DLL调用解密函数解密,加密/解密Key可以自己设置,项目为Dll1(好像是这个名词,现在没有电脑).2T开头的C++项目为对战平台的简配Match系统.需要配合宝塔使用,Client链接url获取Matchinfo.

主要对战平台客户端使用C#/WPF为主要界面设计,通过创建Json格式经0X7E9FB加密DLL发送给SERVER完成交互.在后端代码中,我仅仅完成对房间创建、玩家进入\退出房间、房间内消息做了事件,更多事件受于甲方跑路停止开发.现由子项目-联合社区对战平台继续完成技术迭代

服务器1号:Windows操作系统,搭配Mincraft_Socket_TCP_Server,2T_Socket_Room_Server项目完成用户登录及其注册、用户匹配

注:受甲方当时选择技术框架问题:多核性能无法打开,请各位自行升级多线程框架以完成多用户并发I/O.

服务器2号:Windows操作系统,搭配smartfoxserver.完成用户Info.

数据库:Mysql,使用前请百度C#/C++连接Mysql数据库字符串配置.

 

此代码开源原因为:当时框架真的太乱了,我不好继续维护,随后创建Public Community将把第三方对战平台推向对高可用性、高拓展、高性能等类一线平台.

对于后期建议开发者可以向以下方向发展:

第一个:匹配系统

匹配系统是一个对战平台必须具备的功能之一,可以直接影响整个平台用户群体.

此项目的匹配系统写的为DEMO形式,无法完成实时匹配人群数量适配,必须要多人同时在线匹配才能保障运作(在线匹配人数:20+)

在这里我建议各位用:

贝叶斯推断,每秒根据数据库存的玩家Skill,匹配玩家,游戏后结算.只有一个条件概率的朴素贝叶斯,如果有多个条件概率就会构成贝叶斯网络.

代码实现:首先用对手的胜率,和玩家的胜率(先验概率,这个先验概率存在数据库里),列出一个长长的概率推理图,用高斯贝叶斯推断在匹配了对手和玩家的情况下,玩家的胜率(后验概率)。高斯贝叶斯就是假设随机变量是正态分布,用正态分布计算后验概率

技术文档:贝叶斯推断匹配系统

高斯代表玩家水平(Skill)正态,μ平均值 σ不确定性。然后Predict出0.0-1.0   从玩家池里找到两个最接近0.5的 匹配上.

 

第二个用户系统:

这里可以直接使用steam的WEBAPI,短时间内收集到大量的用户基本信息,可以直接将Steam长ID作为平台的门槛,防止小号捣乱.

 

最后欢迎技术流进群提出更多意见,搭建遇到问题可以找我,我会全力提供解答.

 

 

 


CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (5)
返回