#!/bin/bash
#小菜鳥
#掛機#版本:1.0
#遊戲伺服器部署
#基礎環境:mysql資料庫svn客戶端需部署才能執行此指令碼
if [ "$uid" = "0" ]
then
echo "game server install"
else
exit 1
firead -p "please create the storage game server directory:" directory
svn co $path --username baisc --password bsc123 > /dev/null
if [ "$?" = "0" ]
then
echo "ok"
else
exit 1
fi########################伺服器配置##################################
echo "game_server configure"
read -p "please enter your node_name:" node_name
sed -i 's/s111/'$node_name'/' $configure
if [ "$?" = "0" ]
then
echo "ok"
else
exit 1
firead -p "please enter your listen_port: " port
sed -i 's/8285/'$port'/' $configure
if [ "$?" = "0" ]
then
echo "ok"
else
exit 1
firead -p "please enter your server_id:" id
sed -i 's/111/'$id'/' $configure
if [ "$?" = "0" ]
then
echo "ok"
else
exit 1
firead -p "please enter your publicip:" ip
sed -i 's/118.178.130.64/'$ip'/' $configure
if [ "$?" = "0" ]
then
echo "ok"
else
exit 1
fi######################資料庫匯入##############################
echo "database configure"
read -p "please enter database ip:" address
read -p "please enter database name:" databasename
read -p "please enter database user:" user
stty -echo
read -p "please enter database password:" password
stty echo
echo "being import database"
mysql -h $address -u root -p$password -e "create database $databasename character set 'utf8';"
mysql -h $address -u$user -p$password $databasename
if [ "$?" = "0" ]
then
echo "import database ok"
else
echo "import not ok"
exit 1
fi######################資料庫配置##############################
sed -i 's/gamedbtest/'$databasename'/' $databaseconfigure #資料庫名
sed -i 's/127.0.0.1/'$address'/' $databaseconfigure #資料庫ip
sed -i 's/root/'$user'/' $databaseconfigure #資料庫使用者名稱
sed -i 's/test/'$password'/' $databaseconfigure #資料庫密碼
########################啟動伺服器################################
read -p "please enter servername:" servername
read -p "do you want to start the server now?(yes/no)" start
if [ "$start" = "yes" ]
then
chmod a+x $data/gameserver
mv $data/gameserver $data/$servername
cd $data/ && ./$servername -d
if [ "$?" = "0" ]
then
echo "gameserver is ok"
else
echo "not ok "
exit 1
fielse
exit 1
fi
mysql遊戲伺服器快取 遊戲伺服器快取策略
1 什麼是快取 在資料庫與伺服器邏輯之間加入的資料層 2 作用 減少資料庫操作 伺服器使用mysql作為資料庫,mysql每秒鐘併發數量有限,所以我們要減少mysql的操作。3 erlang的快取 erlang 在記憶體中可用 程序字典 gen state ets 儲存變數,理論上三種方式都可以作為...
遊戲伺服器架構
登陸伺服器判斷賬戶合法性,如果合法的話,把session資訊寫入memcache,閘道器伺服器收到玩家連線請求後,在memcache裡查詢是否合法玩家,防止非法連線。閘道器伺服器要管理玩家連線,需要高併發,可以開多個 scene mgr純粹的 訊息功能 資料庫伺服器純粹的查詢修改資料功能,如果成為瓶...
遊戲伺服器程式設計
參考書籍 linux 多執行緒伺服器端程式設計 網路遊戲伺服器程式設計 unix網路程式設計 鳥哥的linux私房菜 unix環境高階程式設計 developing online games cnv1 cnv2 ice我參與專案已經用了ice,比ace corba這樣的中介軟體簡單。1 linux系...