游戏服务器部署

#!/bin/bash
#小菜鸟
#挂机
#版本:1.0
#游戏服务器部署
#基础环境:MYSQL数据库svn客户端需部署才能运行此脚本
####################################################
if [ "$UID" = "0" ]
then
	echo "game server install"
else
	exit 1
fi
read -p "Please create the storage game server directory:" directory
mkdir /application/$directory
path="/application/$directory"
svn co http://192.168.0.5:8080/svn/Tools/ops/guaji/game_server/game $path --username baisc --password bsc123 > /dev/null
if [ "$?" = "0" ]
then
	echo "ok"
else
	exit 1
fi

########################服务器配置##################################
echo "game_server configure"
configure="/application/$directory/config/bootconfig.xml"
read -p "Please enter your node_name:" node_name
sed -i ‘s/s111/‘$node_name‘/‘ $configure
if [ "$?" = "0" ]
then
	echo "ok"
else
	exit 1
fi

read -p "Please enter your listen_port: " port
sed -i ‘s/8285/‘$port‘/‘ $configure
if [ "$?" = "0" ]
then
	echo "ok"
else
	exit 1
fi

read -p "Please enter your server_id:" id
sed -i ‘s/111/‘$id‘/‘ $configure
if [ "$?" = "0" ]
then
	echo "ok"
else
	exit 1
fi

read -p "Please enter your publicip:" ip
sed -i ‘s/118.178.130.64/‘$ip‘/‘ $configure
if [ "$?" = "0" ]
then
	echo "ok"
else
	exit 1
fi

######################数据库导入##############################
data="/application/$directory/"
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 < $data/sql/gamedb.sql 
if [ "$?" = "0" ]
then
	echo "import database ok"
else
	echo "import not ok"
	exit 1
fi
######################数据库配置##############################
databaseconfigure="/application/$directory/config/database.xml"
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
        fi 
else
	exit 1
fi
时间: 2024-10-12 15:19:55

游戏服务器部署的相关文章

棋牌游戏服务器架构: 部署

先看一下,下面这张可能的部署图吧. 在这个图中,可以看到,客户端的形式多种多样,可能是pc上的一个可执行文件,也可能是通过浏览器打开的一个网页,甚至于手机客户端.它们都通过internet连接到游戏服务器. 在这个部署中有1个CenterServer,1个LogServer,3个LogonServer和很多个RoomServer(只显示了德州扑克的两个房间).这些Server有可能分布在同一台机器上,也可以分布在不同的机器之上.这对扩容来说是极为方便地.在玩家数量增大,系统不足以承载其网络负载时

游戏服务器开发需要学习的技术

一,游戏服务器编程语言的选择 所谓的游戏服务器编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言.这需要根据自己游戏的类型和要求加以选择.比如C++,Java ,Erlang,go等等.目前我用过的只有C++和Java.但是以Java为主.所以接下来就以自己的经验,谈谈以Java为核心的游戏服务器开发技术体系. Java目前作为游戏服务器开发语言已经很是普遍.但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些.两种语言各有利弊.

minecraft——简单的外网服务器部署

一.背景: 参加工作已久的我与朋友间的联系少了.以往跟朋友们玩惯的网游早已今非昔比,或人去楼空甚至运营已停.节假日难得空闲下来想和朋友们玩下游戏追忆过往.但是个人感觉war3,dota,StarCraft稍重度些,一玩起来耗时长也累人,其他rpg里自己的账号早已被时代抛弃,和朋友们讨论后找了个稍微轻度的游戏"Minecraft",过下家家就好.哈哈,长气了些,Ok,let' s go! 二.实施部署 (1)个人主要的部署步骤: 1.准备java安装包.服务器和客户端文件和配置java环

游戏服务器生成全局唯一ID的几种方法

在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使用全局的唯一id,在游戏服务器中,全局唯一的id可以用于将来合服方便,不会出现键冲突.也可以将来在业务增长的情况下,实现分库分表,比如某一个用户的物品要放在同一个分片内,而这个分片段可能是根据用户id的范围值来确定的,比如用户id大于1000小于100000的用户在一个分片内.目前常用的有以下几种:

游戏服务器监控的设计与实现(二)

结合上一次的拓扑结构,大部分游戏服务器采用C++实现,如果监控亦采用C++来做,在分布式上.web操作上.网络通讯.邮件功能上都得从底层重头开始构建封装并且并不便捷,需求又是不断向前迭代的,由于要保证一定的热部署和跨平台的特性(一些库是为了复用,需要兼顾平台特性),加之C++语言本身特点,开发效率反而会降低.加之本人对于C++熟悉程度不高,对于一些第三方库的不了解很难做一个合理化的选择和封装来确保稳定性,因此这个监控主要采用了Java语言实现. 系统实现目标: 实现游戏服务器的必要信息监控,统计

同一世界服务器架构--Erlang游戏服务器

Erlang最大的优点是方便,很多基础功能都已经集成到Erlang语言中.之前用C++写服务器的时候,管理TCP连接很繁琐,需要写一大堆代码来实现.底层的框架需要写很多代码实现,这样既浪费时间,又会有很多BUG.但是用Erlang就方便多了,底层的一切你都不需要考虑,你只需要考虑,服务器的架构以及业务逻辑.从此让你彻底从底层的泥潭中解脱.我从去年年底开始了解学习Erlang,到现在我已经彻底爱上了Erlang.好了,废话不多说,开始详细介绍下我设计的这个服务器架构吧. 首先看下整个架构的布局,如

游戏服务器主程白皮书-3.1 运行稳定性

3.1 运行稳定性 服务器的运行稳定性的产品展现当然就是7*24小时,甚至更久的不间断运行的产品质量.通俗一点说,就是服务器在7*24小时运行时间内服务器不出现卡顿,不出现宕机. 对于C++来说,宕机的原因99.9%是因为内存问题,内存的直接操作是让C++程序员又爱又恨的东西.其他的可能还包括物理故障.除数为0.系统问题(虚拟机问题)等.而卡顿的原因主要体现在CPU的使用率上.服务器CPU使用率过高了会因为CPU性能瓶颈导致卡顿,这个问题比较直观,但是CPU使用率低了也有可能导致卡顿.现在我把宕

当我设计游戏服务器时,我在想些什么?(1)

机缘巧合的机会,我有幸能够从头开始设计一个游戏的服务器.中间遇到很多欢声笑语和悲伤泪水,这里分享一下. 我之前所在项目组的游戏服务器架构如下图: 这款游戏是一款MMO的端游,GateWay网关的任务是接受客户端的连接,然后通过分发策略,把玩家丢进GameSvr上去,之后玩家的所有请求都直接发给GameSvr,由GameSvr处理了.当然这里的分发策略跟一般的web服务器是不同的,web服务器一般会做成无状态的服务器,也就是对于客户端来说请求到达哪一个服务器都没有关系,都能够被处理,但是游戏服务器

游戏服务器框架概括分析

这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小.选择写这样一个系列的文章,主要是想给工作了两年的自己一个交代,或者说是一个阶段性的总结.两年时间里,房价依然再涨,工资依然跑不赢CPI,某人依然在仰望星空.期间很多梦碎了,很多还在坚持着,生活过得波澜不惊.而我也从刚毕业是的青涩逐步蜕变为"老油条".不知道是一种悲哀.还是一种悲哀.还是一种悲哀....... 庆幸的是梦还在继续,一颗倔强的心还在坚持.希望明天的明天被束缚的心能回到梦开始的地方! ==========