经过一番对比和这一段时间的试用,一番比较下来,发现了一个比较好的VPS服务供应商。
首先是用过一段时间国内的阿里云服务器,但是最主要的问题是:国内的服务器需要备案,如果是个人自定义游戏开发者,那个复杂的备案流程足以让人放弃这个过程了。而且如果不是学生的话,性价比偏低,在有学生优惠的情况下可以考虑,否则不推荐。
Conoha的几个优点:
- 有足够的带宽且不限流量:Conoha提供无限量的流量和上下100Mbps的带宽。
- 价格便宜而且是按小时计费,对于DOTA2自定义游戏来说,Conoha最低的配置(2核1GB内存)已经足够应付绝大多数自定义游戏的储存需求了,对应的费用是一个月900日元(50多块一个月),一小时1.3日元,而且充值之后,只要删除了所有的服务器,就可以暂时停止服务并停止扣费。
- 速度非常OK,目前已经使用过的服务器中,除了国内的阿里云之外,Conoha比绝大多数的供应商速度都要快,ssh连接非常流畅。甚至比起一些国内的VPS还要快,东京服务器国内访问大多数在100ms之内。
第一部分:购买
欢迎大家使用我的推荐链接
点击这里进入Conoha网站
来注册Conoha,这样我也可以获得一些(虽然现在已经暂停了,不过说不定以后哪天人家就会补给我的)优惠券,可以在续费的时候使用。
Conoha官方提供中文的界面,点击右上角的注册并完成登录。
注册登录过程不表。
之后可以选择预充值或者使用信用卡的方式来付款。(信用卡可以先使用后扣款)
创建云服务器并登录
1. 创建云服务器
登录了Conoha的控制面板之后,点击左侧的追加服务器
来创建一个新的云服务器。
套餐内容可以全部默认,当然,你也可以选择更高的配置,不过我觉得就最低配置就足以跑一个不错的自定义游戏服务器还可以额外做一些诸如科学上网,建一个Wordpress博客之类的小事了。
注意点有两个:
- 如果你的游戏的玩家群体主要是国内(美国、欧洲)的玩家,区域推荐选择美国(美国需要一些额外的费用),当然,如果大多数都是国内的玩家,推荐选择东京。
- 操作系统就服务器的需求的话,其实是选择CentOS要更好,不过因为我个人已经非常习惯使用Ubuntu的apt-get之类的了,所以我会选择Ubuntu,同时,由于最新的16.04系统会有一些兼容性问题,这里推荐选择安装Ubuntu14.04(64bit)。
- root密码最好在其他地方确认输入正确时候再粘贴到格子里面(因为这个密码非常重要而且他没有输入两次的设定)。
- 推荐生成一个ssh key来供登录使用,当然,如果你对于ssh key的操作不熟悉,还是只创建一个密码用来登录就足够了。
点击追加
来完成服务器的创建,之后会显示建筑状态(Building还是Constructing?)
,等待一会只要几秒钟,服务器就会创建成功并允许登录了。等待状态变成启动状态之后,点击名称标签进入服务器。
进去之后展开网络信息
,复制IP地址
,之后就可以使用这个IP登录云服务器了。
2. 登录云服务器
登录云服务器,分平台的不同
OSX及Linux
使用自带的终端连接云服务器就足够了。
Windows
在windows下,可以下载一个 Putty 或者 MobaXTerm 来登录云服务器,这里推荐使用 MobaXTerm 来登录,会比较容易。而且功能整合得比较多。
在终端或者MobaXTerm的终端输入
ssh root@你的云服务器IP地址
来登录云服务器,之后会要求你输入密码,完成密码的输入之后就会显示
root@xxx-xxx-xx-xxx:~#
这样你就完成了登录你的云服务器的工作了。
第二部分:环境搭建与Hello World
1.确认python的安装及python版本
在登录云服务器之后,输入python,将会进入python交互界面,如果不出意外,将会出现的是python2.7.6的版本。
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
确认python的安装之后,按Ctrl+D退出python交互模式。
2.安装PIP并安装python扩展
安装PIP
apt-get install python-pip python-dev build-essential
pip install --upgrade pip
pip install --upgrade virtualenv
在终端尝试输入 pip并回车,如果出现了pip的帮助提示,则说明已经装好了pip,如果没有出现,还要麻烦百度一下你所选择的操作系统的pip安装方式,一般都会很简单。
之后在终端输入
pip install flask
pip install trueskill
pip install pymongo
(可以一次性复制上面的所有代码并粘贴到你的终端中,将会自动完成所有的安装工作)。
这里我们安装了几个东西:
- Flask——一个python web框架来作为服务器端脚本
- TrueSkill——一个来自于微软的积分算法用来给我们的玩家们计算积分
- PyMongo——一个python用来操作MongoDB服务器的库
如果安装正确的话,在每个安装完成之后应当显示:
Successfully installed pymongo
Cleaning up...
这样的内容。
3. 安装MongoDB
你当然可以使用apt-get安装mongodb
apt-get install mongodb
不过问题就是,apt-get源里面的mongodb版本会比较低,推荐还是使用官方提供的下载地址下载tar ball之后编译安装,具体安装过程还请自行百度(如果你认为太复杂的话,那就使用apt-get的源安装就够了)
代码编写
新建一个python代码文件夹并打开
mkdir ~/python
cd ~/python
(如果你使用的是windows的MobaXTerm,可以在左边的browser勾选follow terminal,这样就会自动定位到当前的文件夹位置)
vi server.py
进入代码编辑。
按I之后进入代码编辑模式,键入如下内容
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'hello world'
if __name__ == '__main__':
app.run()
输入完成之后,按ESC,之后输入:wq(依次按shift+;,w,q,回车)保存并退出编辑器。
之后在终端输入
python server.py
如果没有报错的话,应该显示这样的内容
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
要注意的是,因为云服务器安全设定的关系,你是无法其他电脑上连接到这个5000端口的,这个时候为了测试,你可以再在MobaXTerm(windows)或者Terminal里面打开一个新的session,用ssh登录服务器,并输入
curl http://localhost:5000
如果返回
curl http://localhost:5000
hello world
的话,就说明你的代码木有写错 xD
当然,这个时候你的服务器一点用都没有,一个无法访问的服务器有什么用呢?
这里我们再输入 vi server.py
将最后一行的
app.run()
改成
app.run(host='0.0.0.0', port=9001, debug=True)
之后再次esc+:wq保存退出,再输入
python server.py
这个时候你再在自己的电脑上打开一个浏览器,输入 你的服务器IP地址:9001
的话,就应该可以在显示器中看到hello world了。
这个部分到此结束。
顺道说一句,为了以后开发的方便,我们总不能一直在终端使用vim写代码,大家可以用MobaXTerm非常方便的文件浏览器,打开服务器的文件,修改之后保存即可,也可以使用FileZilla 之类的软件来完成文件的上传下载。