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


    本文主要介绍如何在Linux上安装

    官网环境要求:Centos >= 5.x, Debian >= 5.x GCC版本: >= 4.4.x

    官网链接

    本文的安装环境介绍:Centos =6.9, GCC版本: = 4.4.7

    Mysql =5.6  ,python =2.6   kbengine= v1.0.0

    一.编译:

    [root @ localhost ~]# yum install openssl-devel (在Ubuntu类系统上, 使用 "apt-get install libssl-dev")
    [root @ localhost ~]# yum install mysql-server (在Ubuntu类系统上, 使用 "apt-get install mysql-server")
    [root @ localhost ~]# yum install mysql-devel (在Ubuntu类系统上, 使用 "apt-get install libmysql-dev")
    [root @ localhost ~]# yum install gcc+ gcc-c++(在Ubuntu类系统上, 使用 "apt-get install gcc
    下载源码包:
    root @ localhost ~]# wget -c https://github.com/kbengine/kbengine/archive/v1.0.0.zip
    root @ localhost ~]# unzip v1.0.0.zip
    [root @ localhost ~]# cd kbengine/kbe/src
    [root @ localhost/ src]# chmod -R 755 .
    [root @ localhost/ src]# make

    编译会因为服务器的性能有所不同,一般10多分钟左右

    完成如图:或者输入echo $? 如果返回为0,编译成功

     

    注意:

    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
    注意事项

    二.安装:

     (注意:使用这种方式安装必须已经完成建立步骤)

    在一个(Windows/Centos/Redhat/Debian/Ubuntu 等等)系统中安装KBEngine服务端, 请在命令行输入:

    python kbengine/kbe/tools/server/install/installer.py instal

    官方是有自动化的安装py脚本的, 不过还是有很多小坑的. (官方并没有写提前要建立数据库)
    不过其实脚本主要也就是只做两件事, 其他都是可选的:

      • 配置环境变量
      • 安装配置mysql

    2.1.数据库操作:

    安装kbe之前请提前在mysql里

    • 建一个数据库(比如建一个数据库kbe_database)
    • 一个至少拥有select,insert,update,delete,create,drop权限的用户(比如这个用户是kbe_user)

    数据库命令:先进入数据库

    create database kbe_database;   创建数据库
    grant all privileges on *.* to 'kbe'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;          
    grant all privileges on *.* to 'kbe'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
    flush privileges;

    2.2.脚本安装

    进入kbe的根目录

    cd kbengine
    python kbengine/kbe/tools/server/install/installer.py install

    情况好的是上述这种没有错误的安装;

    但有时是这样的

    它就会问你 : 

    Install KBEngine to Linux-account(No input is kbe):kbe     #请创建一个账号

    not found system-user[kbe], create new user?: [yes|no]yes   #是否创建
    Please enter the Linux-account passwd(No input is kbe):123456    #输入密码
    
    Check the dependences:
    - kbe_environment: checking...
    ERROR: KBE_ROOT: is error! The directory or file not found:
    KBE_ROOT//kbe
    KBE_ROOT=
    
    KBE_ROOT current:    现在的引擎根目录
    reset KBE_ROOT(No input is [/kbengine/]): 敲回车

    之后显示的都直接敲回车, 用默认的就可以, 直到他开始问你mysql的东西, 到mysql他会问

    KBE_RES_PATH current: $KBE_ROOT/kbe/res/:$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/    #现在引擎的资源路径 和用户脚本的资源路径
    reset KBE_RES_PATH(No input is [$KBE_ROOT/kbe/res/:$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/]): 敲回车

    KBE_BIN_PATH current: $KBE_ROOT
    /kbe/bin/server/ #引擎可执行文件所在目录。
    reset KBE_BIN_PATH(No input
    is [$KBE_ROOT/kbe/bin/server/]): 敲回车

    KBE_UID current: 0
    备注:uid必须大于0, 小于32767.
    os system-username(kbe):kbe
    usermod -u [No input is 0] kbe, Enter new uid:1314

    这是最重要的部分

    - mysql: checking...
    - MySQL is installed on the remote machine?[yes/no]   询问你本地还是远程

    1 - Enter mysql ip-address:127.0.0.1
    2 - Enter mysql ip-port:3306
    3 - Enter mysql-account:kbe
    4 - Enter mysql-password:123456
    5 - Enter mysql-databaseName:kbe_database
    6 - mysql: yes
    7 Modified: /home/b/kbengine-0.9.18//kbe/res/server/kbengine_defs.xml
    8 KBEngine has been successfully installed!

    是否安装成功

    找到你的kbe根目录, 然后进入根目录, 比如你的kbe根目录是kbengine, 则

        1. 进入kbe根目录下的assets目录 : cd kbengine/assets
        2. 运行启动脚本 : sh ./start_server.sh
    (注意: 初次启动KBEngine时,mysql需要初始化一些表结构,可能会花上几分钟请耐心等待完成。)

    用ps检查一下是否有以下进程再跑

    [root@424439a6674e assets]# ps -ef | grep -v grep | grep -i kbe
    root      5916     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//machine --cid=2129652375332859700 --gus=1
    root      5917     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//logger --cid=1129653375331859700 --gus=2
    root      5918     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//interfaces --cid=1129652375332859700 --gus=3
    root      5919     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//dbmgr --cid=3129652375332859700 --gus=4
    root      5920     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//baseappmgr --cid=4129652375332859700 --gus=5
    root      5921     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//cellappmgr --cid=5129652375332859700 --gus=6
    root      5922     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//baseapp --cid=6129652375332859700 --gus=7
    root      5923     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//cellapp --cid=7129652375332859700 --gus=8
    root      5924     0  0 05:42 pts/1    00:00:00 /kbengine/kbe/bin/server//loginapp --cid=8129652375332859700 --gus=9

    检查我们mysql中的kbe_database数据库里是否多了几个表

    mysql> show tables;
    +---------------------------+
    | Tables_in_b_test_database |
    +---------------------------+
    | kbe_accountinfos          |
    | kbe_email_verification    |
    | kbe_entitylog             |
    | kbe_serverlog             |
    | tbl_Account               |
    +---------------------------+
    5 rows in set (0.00 sec)

     待续


    文章出处:

    http://blog.csdn.net/nosix/article/details/77104859

     

  • 相关阅读:
    HDU 1002 A + B Problem II
    leetcode 42.接雨水
    无向图 及其术语
    C++优先队列详解
    C++优先队列详解
    最短路
    最短路
    CF DP练习题
    CF DP练习题
    干货
  • 原文地址:https://www.cnblogs.com/geekmao/p/7885022.html
Copyright © 2020-2023  润新知