Centos部署KBengine

Kbernetes搭建集群|亲测,不报错|万字总结 Kubernetes搭建集群一、项目环境准备*安装docker二、K8s集群搭建三、测试|在K8s集群中部署Nginx 硬件环境的要求: (1)一台或多台机器,操作系统CentOS 8.x-86_x64(7或Ubuntu都可以)【尽量环境统一】 (2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+; (3)集群内各个机器之间能相互通信; (4)集群内各个机器可以访问外网,需要拉取镜像; (5)禁止swap分区; 建议: 先在一台master上执行完成相关安装,最后node节点再加入集群 [ 阅读详情

Centos部署KBengine

安装Mysql5.7

建议只使用5.7版本,其他版本不建议使用。

添加仓库

sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

确认

sudo yum repolist all | grep mysql | grep enabled

安装

sudo yum -y install mysql-community-server

如果出现这个

The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: mysql-community-common-5.7.42-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

用这个修复

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

然后从新安装
启动

sudo systemctl start mysqld

设置系统启动时自动启动

sudo systemctl enable mysqld

查看启动状态

sudo systemctl status mysqld

CentOS上的root默认密码可以在文件/var/log/mysqld.log找到,通过下面命令可以打印出来

cat /var/log/mysqld.log | grep -i 'temporary password'

执行下面命令进行安全设置,这个命令会进行设置root密码设置,移除匿名用户,禁止root用户远程连接等

mysql_secure_installation

第一步输入密码,用刚才查到的密码
第二步输入新密码,注意强度
第三步移除匿名用户,回答Y
第四允许远程登录,这个可以后面改。
第五测试数据库,点Y

修改my.cnf

vim /etc/my.cnf

设置数据库编码为utf8
在[mysqld],[client],[mysql]节点下添加编码设置

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

如果需要更改保存位置,可以修改datadir的路径

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[client]
default-character-set=utf8
socket=/mnt/mysql/mysql_data/mysql/mysql.sock

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/mnt/mysql/mysql_data/mysql
socket=/mnt/mysql/mysql_data/mysql/mysql.sock



# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



重启Mysql即可

systemctl restart mysqld

如果要设置root远程登录可以:

mysql -u root -p
use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码!!' WITH GRANT OPTION;


mysql> FLUSH PRIVILEGES;

执行如下语句,如果能成功连接上就证明远程登录可用,注意把密码和IP换成你实际的密码和IP。

[root@localhost ~]# mysql -uroot -p密码 -h 192.168.170.128
技巧

查询数据库安装位置可以用 where mysql

添加Centos用户

配置用户
添加kbe1用户

adduser kbe1
passwd kbe1

密码设置:kbeuser1234567
设置uid,同组游戏服设置相同的uid
之后我们就可以使用这个密码来登录linux了。

usermod -u 101 kbe1

配置KBEngine

上传kbe引擎
解压

tar -zxvf kbengine-2.5.12.tar.gz  -C /mnt

把kbengine-2.5.12目录改成server
进入server目录
修改vim .bashrc

vim /mnt/server/.bashrc

放入如下内容

ulimit -c unlimited
export KBE_ROOT=/mnt/server/
export KBE_RES_PATH=$KBE_ROOT/kbe/res/:$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/
export KBE_BIN_PATH=$KBE_ROOT/kbe/bin/server/

生效

source /mnt/server/.bashrc

添加数据库用户:

grant all privileges on . to kbe1@'%' identified by 'Pd123456';
grant select,insert,update,delete,create,drop on . to kbe1@'%' identified by 'Pd123456';
FLUSH PRIVILEGES;
set password for kbe1 = password('Pd123456'); 
quit;

测试是否可以连接可以用下面的语法

mysql -ukbe1 -p'Pd123456 -hlocalhost -P3306

优化Centos网络

用引擎自带的py脚本优化
kbe\tools\server\linux\socket_optimization.sh

服务端脚本

把最新代码(scripts)从assets拷贝到assets-server
修改游戏配置
asserts-server/res/server/kbengine.xml

            <externalAddress> 你的IP地址 </externalAddress>                                                        <!-- Type: String -->
            <!-- 自动备份的时间(秒)
                    (Automatic backup time period(secs)) 
            -->
            <backupPeriod> 500 </backupPeriod>

    </baseapp>
    <loginapp>
            <externalAddress> 你的IP地址 </externalAddress>                                                        <!-- Type: String -->
    
    </loginapp>

还有数据库部分的用户kbe1和密码
还要批量修改kbe引擎目录配表kbe\res\server\kbengine_defaults.xml,更改其他pwd123456的默认密码为用户密码。

编译引擎

查看openssl version -a,是否安装, 如果没有自行安装
如果没有gcc,需要安装

yum -y install gcc
yum -y install gcc-c++

安装auto

yum install autoconf

安装automake

yum install automake

安装libtool

yum install libtool

安装mysql-devel

yum install mysql-devel

安装zlib-devel

yum install zlib-devel

进入引擎的src目录

cd /mnt/server/kbe/src

chmod -R 755 .

开始编译

make

注意:

1: 如果使用了其他版本的编译器最好重编译openssl、log4cxx与其他(kbengine/kbe/src/libs/*a.)。
2: mysql_config在某些操作系统版本上可能不是这个路径地址 /usr/bin/mysql_config
你可以手动修改kbengine/kbe/src/build/common.mak其中MYSQL_CONFIG_PATH=/usr/bin/mysql_config。
3: 在Linux上编译之后可能会出现Python解释器无法初始化而导致无法启动服务端的问题 (这是一个Python的bug,参看:http://bugs.python.org/issue11320)
你可以执行如下命令解决这个问题

[root @ localhost ~] cd kbengine/src/lib/python
[root @ localhost ~] ./configure
[root @ localhost ~] make
[root @ localhost ~] make install

开服的sh脚本,首行添加

cd /mnt/server/assets

开服请使用kbe1用户开服,另外使用xshell方便快捷,可以编辑按钮执行命令。
开服指令

sh /mnt/server/assets/start_server.sh

关服指令

sh /mnt/server/assets/safe_kill.sh

查询指令

python /mnt/server/kbe/tools/server/pycluster/cluster_controller.py

杀死服务

sh /mnt/server/assets/kill_server.sh

技巧

查看某个端口谁使用 netstat -alnp |grep 20005

LOG4配置
正式开服后。log太大,可以修改kbe/res/server/log4xx_properties_defaults/baseapp等
把log4j.rootLogger=debug, R改为更高级的log4j.rootLogger=WARN, R

部署完毕后,要把目录权限给kbe,之后的维护最好使用kbe用户来操作,防止kbe没文件读写权限。

对于配置文件UDP设置,我们可以增大BUF的大小到512(默认128),根据自己的需求。

			<readPacketsQueueSize>
				<internal>				1024		</internal>
				<external>				512			</external>
			</readPacketsQueueSize>

			<!-- Equivalent to TCP SND_BU, unit is the number of UDP-packages -->
			<writePacketsQueueSize>
				<internal>				1024		</internal>
				<external>				512			</external>
			</writePacketsQueueSize>

windowOverflow的大小也可以增加receive的bytes/external

常见错误

防火墙错误

machine-1: [ERROR]: BundleBroadcast::receive: failed! It can be caused by the firewall, the broadcastaddr, etc.Maybe broadcastaddr is not a LAN ADDR, or the Machine process is not running.
   machine-1: [ERROR]: Machine::findBroadcastInterface: Broadcast discovery [0.0.0.0] not a valid interface. available interfaces:	[127.0.0.1, 172.31.126.28, ]
   machine-1: [ERROR]: Machine::initNetwork: Failed to determine default broadcast interface. Make sure that your broadcast route is set correctly. e.g. /sbin/ip route add broadcast 255.255.255.255 dev eth0, eth0 is internalInterface!
   machine-1: [ERROR]: app::initialize(): initialization failed!

出现这个可能是防火墙,你可以关闭

systemctl stop firewalld
systemctl disable firewalld

kbengine引擎的安装 安装 在Linux上安装(Centos/Debian/Ubuntu etc.) 服务端, 请在终端输入: python kbengine/kbe/tools/server/install/installer.py install 如果你不信任脚本, 你也可以选择手动安装。 手动安装 1. 创建kbe系统用户 创建一个独立的用户来运行KBEngine将会更加安全可靠以及便于维护。 阅读详情

相关推荐

[KBEngine]安装及第一次启动

用Unity3d写了一段时间的单机游戏,觉得还是多人联机好玩有挑战一些,而游戏服务器从头开始写又是很麻烦的,于是在网上查了一下游戏服务器引擎后发现了几个免费开源的,如KBEngine、Pomelo等。对比了一下,觉得KBEngine的资料详细一些,便开始着手学习起来。 这篇文章主要讲解的是如何在Ubuntu上布置引擎环境及首次启动。如果需要详细了解KBEngine的可以在http://kbengi

星空不语 6791

kbengine 开发(一) 环境安装

kbengine 安装 1. 什么是ComblockEngine? 一款开源的游戏服务端引擎,客户端通过简单的约定协议就能与服务端通讯, 使用ComblockEngine插件能够快速与(Unity3D, OGRE, Cocos2d-x, HTML5, 等等)技术结合形成一个完整的客户端。 服务端底层框架使用C++编写,游戏逻辑层使用Python(支持热更新),开发者无需重...

省粮 1830

KBEngine使用-1(初步了解)

下载服务源码https://github.com/kbengine/kbengine/releases/tag/v2.3.3 安装和启动https://www.comblockengine.com/docs/1.0/install/index/ 检查MFC模块是否安装了,先编译sln,结果是这样的========== 全部重新生成: 成功 31 个,失败 2 个,跳过 0 个 ========== 查看失败的,重新编译 Error报错 找不到exe的话,用编辑器修改server_start.ba..

qq_41179365的博客 8701

u3d mysql_学习笔记(1) mysql + kbengine-0.8.2+U3D_demo详细搭建过程个人记录_mysql

学习笔记(一) mysql + kbengine-0.8.2+U3D_demo详细搭建过程个人记录最近在无意间得知KBEngine是一个开源以及可以支持U3D的一个服务,萌新我屁颠屁颠的跑去KBengine.org官方网站看怎么搭建一个服务器出来,由于我没有学习过mysql,所以花了很多时间才正确的搭建好mysql环境,在此记录下mysql+KBengine+U3D_Demo详细搭建过程。mysq...

weixin_39608300的博客 255

linux_kbengine_docker_config:linux环境从svn或下载源码配置多个相互独立kbengine docker工程

需要修改configurate.py文件的192.168.1.52,修改成服务器本地地址;修改download.py 192.168.1.11:8088改成window开发机地址 在linux上使用docker配置独立kbengine服务 使用docker-compose工具配置 分布式部署应该使用相同的UID 独立部署应该使用不同的UID Docker中的root用户和父内核共享内核,UID一致,所以在Dockerfile中使用新建用户设置不同的UID启动kbengine服务

国密(3)- 预主密钥/主密钥计算和Finished消息的加解密

国密的ECC-SM3-SM4-CBC模式下的预主密钥和主密钥的生成过程介绍,以及Finished消息的加解密介绍

weixin_43408952的博客 6513

开始架设kbengine

下载地址 http://www.kbengine.org/ 这货不错 安装 在Linux上安装(Centos/Debian/Ubuntu etc.) 服务端, 请在终端输入: python kbengine/kbe/tools/server/install/installer.py install 如果你不信任脚本, 你也可以选择手动安装。 手动安装 1. 创...

weixin_30664051的博客 89

图学习——04.HAN(异构图注意力网络)

什么是异构图,什么是元路径,什么是HAN,怎么计算attention,节点级别的attention和语义级别的attention

m0_51474171的博客 3001

[KBEngine] 云服务器搭建KBEngine v1.1.0与远程连接调试 —— 详细流程记录

学习记录

BeiJiaan的博客 4546

Surface Go 2 变身 Linux 开发本:保姆级 Ubuntu 20.04 双系统安装与驱动配置全攻略

本文详细介绍了如何将 Surface Go 2 变身为高效的 Linux 开发本,涵盖 Ubuntu 20.04 双系统安装、专用内核配置、驱动优化等全流程。通过 linux-surface 内核安装和硬件驱动优化,确保 Surface Go 2 的触控、笔输入、摄像头等功能完美运行,适合开发者打造便携生产力工具。

weixin_30596165的博客 616

别再乱用标签了!深度解析Unity Addressables标签(Labels)的三种高级用法与性能影响

本文深度解析Unity Addressables标签(Labels)的三种高级用法与性能影响,包括标签组合查询、Pack Together by Label打包策略及运行时性能优化。通过实战代码示例和性能数据对比,帮助开发者实现精细化资源加载控制与包体优化,提升项目效率。

weixin_30500105的博客 509

KBEngine下载和安装

KBEngine下载和安装

qq_53302267的博客 984

1000Base-T1协议解读(基于802.3bq-2016 和Test Suite)

1000Base-T1是由一对双绞线实现全双工传输的以太网标准,采用PAM3编码方式(-1,0,1),编码后的实际传输符号速率为750Mbps。该标准的车载最大传输距离可达15米,主要应用于汽车产品开发过程。测试过程示波器要求带宽≥2G,采样率≥7.5Gbps,网分带宽≥1G。

qflook的博客 5336

CentOS6.5安装KBEngine1.x

​​​经过无数次的踩坑、崩溃,终于在CentOS6.5上把KBEngine1.x编译成功了! 首先说明,我的CentOS6.5是一个新安装的纯净系统。 步骤如下: 1、安装autoconf(按顺序执行) yum install autoconf rpm -qf /usr/bin/autoconf rpm -e --nodeps autoconf-2.63 wget ftp://...

我的技术总结 403

18、深入解析航空飞行数据中的秘密:从数据清理到高级分析

本文详细解析了如何使用R语言处理和分析航空飞行数据,从基础的数据清理到复杂的回归分析和机器学习模型构建。文章涵盖了探索性数据分析、天气数据的整合、地理信息可视化、时间序列预测以及航班延误的优化策略等内容,展示了如何通过数据挖掘技术提高航空运营效率和乘客满意度,并探讨了数据质量评估与隐私保护的重要性。

convnet3designer的博客 107

SAP CDS View 教程里的标准视图:SEPM_I_SalesOrderItem_E 当成一张表来用之前,你需要先弄清它到底是什么

摘要:SEPM_I_SalesOrderItem_E 是 SAP EPM demo 中的预交付 CDS 视图,用于表示销售订单行项目数据。它采用 VDM 命名规范,_E 后缀表示对外隐藏内部 UUID 键,提供业务友好的外部 ID 接口。该视图常见于 ABAP Platform 7.50+、开发版系统及 Gateway 教程中,可像表一样通过 Open SQL 查询。实际项目中,这类视图能有效解决内外系统键值映射问题,示例代码展示了如何查询其数据。使用时需注意系统是否安装了 EPM demo 内容。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 557

KBEngine搭建环境windows

1.安装mysql数据库my.ini文件中添加如下代码[mysqld] lower_case_table_names=0新建查询中添加如下默认sqluse mysql; delete from user where user=''; FLUSH PRIVILEGES; grant all privileges on *.* to kbe@'%' identified by 'kbe'; gran...

hk52222的专栏 967

Android Input——输入系统介绍(一)

Input 系统对于提供流畅、灵敏和一致的用户交互体验至关重要,它需要在不同的设备、场景和应用中保证输入事件的正确性、及时性和安全性。Android 输入系统是一个复杂但高效的设计,旨在处理来自各种输入设备(如触摸屏、键盘等)的用户交互,并将这些交互转换为应用程序可以理解和响应的形式。EventHub:输入系统的最底层,直接与硬件通信,监听和读取输入设备的原始事件。:从 EventHub 获取原始输入事件,对其进行解析,转化为更高层次的事件,以便上层应用或服务能够理解。

小旭的专栏 1714

kbengine学习1 安装

KBengine一年前就知道了,但是没来得及学(只记得是C++ + python脚本),前一个项目unity3d+fkask+socketio+sqlite硬怼出来的。这半年也没来得及管。(好像当时看,还只是python2) 最近看了ECS架构的文章 《守望先锋》架构设计与网络同步 -- GDC2017 精品分享实录 《守望先锋》中的网络脚本化的武器和技能系统 忽然想起了KBEngine,...

weixin_30367945的博客 274

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Kbengine游戏引擎-【4】demo-kbengine_unity3d_demo 在容器docker上安装测试

git地址:https://github.com/kbengine/kbengine_unity3d_demo Demo中文地址:https://github.com/kbengine/kbengine_unity3d_demo/blob/master/README_CN.md QQ交流群:461368412 实验的版本为:kengine 1.0.0 资产库;kbengine_unity3...

weixin_30679823的博客 295

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

MySQL数据库管理在CentOS系统安装部署——图文详解

MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。MySQL 5.7版本安装MySQL 8.x版本安装由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍,大家自行选择。注意:MySQL的安装过程中,除了会使用Linux命令外,还会使用到少量的数据库专用的:SQL语句。

邹么的博客 857

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Kbengine游戏引擎-【1】kbengine安装

原文:https://www.cnblogs.com/geekmao/p/7885022.html 本文主要介绍如何在Linux上安装 官网环境要求:Centos &gt;= 5.x, Debian &gt;= 5.x GCC版本: &gt;= 4.4.x 官网链接 本文的安装环境介绍:Centos =6.9, GCC版本: = 4.4.7 Mysql =5.6  ,python =2...

wonder 1243

搭建UE5+KBEngine服务器(1):windows系统下的安装

选择单个组件,找到对应版本和平台的(这里我用windows安装,一般是x86 x64)MFC和ATL,例如我这里选择的(17.6)对应紫色圈圈住的我的版本号17.6.2,如果安装了不止一个版本的生成工具,要看看KBEngine.sln是用什么版本的(如我这里是v143)找到kbengine-2.5.12\kbe\src\kbengine.sln,用vs打开,进行构建,找到生成->生成解决方案。,不过其实也没什么要注意的,安装时一路next也差不多。2.安装mysql,我看的是这个教程。点击获取工具与功能,

lglight的博客 729

Linux之CentOS_7.9部署MySQL_5.7静默安装实测验证安装以及测试连接全过程实操手册

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。##进入/data/mysql/mysql5.7/bin/目录 cd /data/mysql/mysql5.7/bin/

物似人非 情有何堪 1901

KBEngine使用记录

部分引用KBEngine官网的一些句段,感谢kbe。 下列符号解释 =:继承 ==:等同 +:与上具有子关系 CellAppMgr:管理多个CellApp +CellApp:管理多个区域 + Cell:一个区域 ==Space:等同Cell +此区域上的玩家entity:代表玩家 +Witness(对象):监视周围的玩家entity,将发生的事件消息同步给客户端 +AOI(兴趣...

八零点点 4255
上一篇: Python可以追加生成数字数组并随机打乱
下一篇: Unity中通过字符串获得Type.GetType
Thinbug
博客等级 码龄22年 2万+粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thinbug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值