標籤:http io os 使用 ar for 檔案 資料 div
http://www.kbengine.org/
這貨不錯
安裝
在Linux上安裝(Centos/Debian/Ubuntu etc.) 服務端, 請在終端輸入:
python kbengine/kbe/tools/server/install/installer.py install
如果你不信任指令碼, 你也可以選擇手動安裝。
手動安裝1. 建立kbe系統使用者
建立一個獨立的使用者來運行KBEngine將會更加安全可靠以及便於維護。
如果您對此比較瞭解也可以省略這一步, 直接使用您的目前使用者。
Linux:[[email protected] ~]# useradd kbe[[email protected] ~]# passwd kbeNew UNIX password: ******Retype new UNIX password: ******passwd: all authentication tokens updated successfully Windows:"控制台" -> "使用者帳戶" -> "建立一個新帳戶"
2. 設定環境變數:
KBEngine會讀取系統中設定的(KBE_ROOT, KBE_RES_PATH, KBE_HYBRID_PATH)環境變數, 按照如下步驟設定環境變數。
Linux: (假如kbe被安裝在~/目錄)[[email protected] ~]$ vim ~/.bashrculimit -c unlimitedexport KBE_ROOT=~/kbengine/export KBE_RES_PATH=$KBE_ROOT/kbe/res/:$KBE_ROOT/demo/:$KBE_ROOT/demo/res/export KBE_HYBRID_PATH=$KBE_ROOT/kbe/bin/Hybrid64/使環境變數生效:[[email protected] ~]$ source ~/.bashrcroot使用權限設定使用者kbe的uid:[[email protected] ~]# usermod -u 10103 kbe作業系統帳號的uid將被用於不同的伺服器組來區分, 如果是多台硬體伺服器共同維護一組服務,那麼每一台機器上的系統uid環境變數都應該保持一致,否則無法形成服務組。另外uid必須大於0, 小於32767.Windows:滑鼠右鍵點擊: "我的電腦"->"進階"->"環境變數", 然後設定(假如安裝在C盤)KBE_ROOT = C:/kbengine/KBE_RES_PATH =%KBE_ROOT%/kbe/res;%KBE_ROOT%/demo/;%KBE_ROOT%/demo/res/KBE_HYBRID_PATH = %KBE_ROOT%/kbe/bin/Hybrid64/(注意: Windows系統帳號沒有UID屬性, 需要使用者自己添加這個環境變數, UID必須大於0, 小於32767)UID = 1
環境變數的意義
KBE_ROOT:引擎根目錄。KBE_RES_PATH:不同路徑使用‘:‘或者‘;‘分隔, Windows由於作業系統規則必須使用‘;‘分隔,預設情況下資源路徑中第一個資源路徑是引擎的資源路徑, 第二個資源路徑是使用者指令碼的資源路徑。KBE_HYBRID_PATH:引擎二進位檔案所在目錄。
3. 安裝資料庫:
安裝Mysql:
Linux:安裝[root @ localhost ~]# yum install mysql-server設定為開機自動啟動[root @ localhost ~]# chkconfig mysqld on啟動mysql服務[root @ localhost ~]# /etc/init.d/mysqld start檢查是否啟動成功[[email protected] ~]# /etc/init.d/mysqld statusmysqld (pid 9234) is running...Windows:下載並安裝最新版本:http://dev.mysql.com/downloads/windows/Windows環境,Mysql預設是忽略大小寫,請在my.ini添加如下命令設定大小寫敏感[mysqld]lower_case_table_names = 0(重啟Mysql, CMD輸入如下命令:)net stop mysqlnet start mysql檢查Mysql大小寫是否敏感:mysql> create database NEWTEST;mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || NEWTEST || mysql || test |+--------------------+4 row in set (0.00 sec)
建立資料庫,假設是資料庫名為”kbe”
mysql> create database kbe;
刪除匿名使用者
mysql> use mysql mysql> delete from user where user=‘‘; mysql> FLUSH PRIVILEGES;
建立資料庫使用者,使用者名稱和密碼假設是”kbe”
mysql> grant all privileges on *.* to [email protected]‘%‘ identified by ‘kbe‘;mysql> grant select,insert,update,delete,create,drop on *.* to [email protected]‘%‘ identified by ‘kbe‘;mysql> FLUSH PRIVILEGES;在CMD中測試一下是否能使用這個帳號登陸Mysql(請注意預設Mysql連接埠為3306, 如不一致請修改kbengine_defs.xml->dbmgr-><port>330x</port>), 如果沒有提示錯誤則帳號配置完畢, 有錯誤請google進入你的mysql安裝目錄找到mysql.exe所在目錄, 然後cmd進入這個目錄中執行如下語句:Windows:進入你的mysql安裝目錄找到mysql.exe, 然後在CMD執行如下命令:C:\mysql\bin> mysql -ukbe -pkbe -hlocalhost -P3306Linux:[[email protected] ~] mysql -ukbe -pkbe -hlocalhost -P3306
如果要修改資料庫名稱請修改res\server[kbengine_defs.xml]配置中dbmgr段的databaseName參數 (建議在demo\res\server[kbengine.xml]中進行重載修改,這樣kbengine在做改動後開發人員更新時不會發生衝突)。
4. 最佳化作業系統(僅Linux) (可選)
設定允許開啟的最大檔案數 /etc/security/limits.conf:
soft nofile 65535hard nofile 65535
修改socket發送視窗與接收視窗最大緩衝:
[[email protected] ~]# echo 524288 > /proc/sys/net/core/rmem_max[[email protected] ~]# echo 524288 > /proc/sys/net/core/wmem_max
參考: 高效能Linux伺服器配置
5: 多網卡環境配置: (可選)
如果eth0是外部網卡地址, eth1是內部網卡地址執行如下命令設定廣播位址為內部網卡地址:
/sbin/ip route del broadcast 255.255.255.255 dev eth0/sbin/ip route add broadcast 255.255.255.255 dev eth1
| 同時請設定引擎配置(kbengine.xml |
kbengine_defs.xml)中的相關選項為如下: |
baseapp : externalInterface = eth0, internalInterface = eth1loginapp: externalInterface = eth0, internalInterface = eth1billingsystem : externalInterface = eth0, internalInterface = eth1[others]: externalInterface = eth1, internalInterface = eth1
6. Linux 防火牆設定: (可選)
參考: Linux防火牆設定
7. 區域網路內部署多組KBE伺服器設定: (可選)
何為一組KBE伺服器? 共同維護一個遊戲世界的伺服器組, 這些伺服器上包含了整個KBE架構。
多個使用者在同一個區域網路, 並且都想部署一套自己的KBE伺服器,那麼需要注意兩個地方:
1: 環境變數中的UID必須不能相同(查看系統中是否有設定過UID)UID用於區分不同的服務組。2: 啟動指令碼中的cid必須唯一(kbengine\kbe\bin\Hybrid\start***)*** --cid=必須唯一 --grouporder=1 --globalorder=1cid既componentID, 用於標識一個KBE-APP, 如果探測到2個一樣的cid必然會引起衝突。
開始架設kbengine