天天看點

Kbengine遊戲引擎-【1】kbengine安裝二.安裝:

原文:https://www.cnblogs.com/geekmao/p/7885022.html

本文主要介紹如何在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,編譯成功

Kbengine遊戲引擎-【1】kbengine安裝二.安裝:
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      
Kbengine遊戲引擎-【1】kbengine安裝二.安裝:

情況好的是上述這種沒有錯誤的安裝;

但有時是這樣的

它就會問你 : 

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]   詢問你本地還是遠端

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

是否安裝成功

找到你的kbe根目錄, 然後進入根目錄, 比如你的kbe根目錄是kbengine, 則

      1. 進入kbe根目錄下的assets目錄 : cd kbengine/assets
      2. 運作啟動腳本 : sh ./start_server.sh
(注意: 初次啟動KBEngine時,mysql需要初始化一些表結構,可能會花上幾分鐘請耐心等待完成。)
           

用ps檢查一下是否有以下程序再跑

[[email protected] 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               |
+---------------------------+
rows in set (0.00 sec)
           

繼續閱讀