2.1 MangosZero服务器端需要安装以下软件:
- 用于MangosZero保存游戏数据的数据库——mySQL或者MariaDB。MariaDB是mySQL被大鳄收购后,新的替代免费数据库软件,其版本和mySQL功能无二。本文采用MariaDB,如果用mySQL是没有区别的。
- Nginx软件,该软件为目前最有效、最好的网页服务器支持软件。不需要Apache支持。
- PHP软件,如果您的网站需要用户注册、修改密码等任何操作数据库的操作,您都需要添加PHP软件。如果您网站不需要这些功能,可以不安装。您可以自己通过数据库直接进行相应操作。
- 上述在[L]inux平台的软件[m]ySQL、Nginx、PHP可以采用一键安装包“LNMP”进行安装。本文采用分布安装,希望能对大家了解这3中软件的关系能更进一层。
- ACE支持软件,该软件为Mangos支持软件,用于服务器对地形的深度操作,如果不安装,服务器也可以使用,但是会在地形上有bug。比如怪物穿墙、寻路、高程错误等。
2.2 数据库MariaDB安装
sudo su -root
yum -y install mariadb-server
切换到root用户(如果是root用户,可以不切换)
安装MariaDB数据库服务器版本,并且所有问答回复YES,即可开始。安装过程中,会让输入数据库root密码,第一次为空,直接回车即可。然后系统询问是否设置密码
Set root password? [Y/n]y //让输入数据库root密码,第一次为空,直接回车即可。然后系统询问是否设置密码
Set root password
Remove anonymous users? [Y/n]Y 移除匿名用户
Disallow root login remotely? [Y/n]n //输入yes禁止root远程登陆
Remove test database and access to it? [Y/n]Y //删除测试数据库
Reload Privilege tables now? [Y/n]Y //重新整理数据表
Set root password
Remove anonymous users? [Y/n]Y 移除匿名用户
Disallow root login remotely? [Y/n]n //输入yes禁止root远程登陆
Remove test database and access to it? [Y/n]Y //删除测试数据库
Reload Privilege tables now? [Y/n]Y //重新整理数据表
直至安装完成。
mysqladmin -u root -p version
查看已安装数据库版本,这里是
Server version 5.5.56-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime 12 min 14 sec
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime 12 min 14 sec
进入数据库,建立mangos用户。
mysql -u root -p
CREATE USER 'mangos'@'localhost' IDENTIFIED BY 'mangos'; //建立账号和密码
GRANT ALL PRIVILEGES ON *.* TO 'mangos'@'localhost'; //账号附权
quit
建立数据库账号mangos/mangos。数据库root账户已经在安装数据库时设置。
2.2 ACE软件安装
安装wget软件,一边采用wget模式(http)模式从网站下载文件。
yum -y install wget
下载ACE软件
cd /home
wget http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-6.4.7.tar.gz
该文件下载后为多级压缩文件,解压软件
gzip -d ACE+TAO-6.4.7.tar.gz
tar xvf ACE+TAO-6.4.7.tar
安装到了/ACE_wrappers里面,本机在/home/ACE_wrappers里面
此时,虽然ACE已经解压到指定目录,还需要进行配置:
vi /etc/profile //配置ACE目录环境变量
---------------------------------------------
export ACE_ROOT=/home/ACE_wrappers
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
---------------------------------------------
# source /etc/profile 执行source命令更新
新建文件 $ACE_ROOT/ace/config.h 里面写上一行:
#include "ace/config-linux.h"
新建文件 $ACE_ROOT/include/makeinclude/platform_macros.GNU, 里面写上两行
----------------------------------------
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX = /usr/local
----------------------------------------
在ACE_Wrappers目录下执行:
make install
如果出现如下错误,据此办理:(本人没有出现1错误。)
1,error while loading shared libraries: libACE
解决办法
cp -a lib/libACE.so.6.4.0 /usr/lib/libACE.so.6.4.0
cp -a lib/libACE.so.6.4.0 /usr/local/lib/libACE.so.6.4.0
2,/usr/local/ACE_wrappers/apps/gperf/tests/test.cpp:28: undefined reference to
`in_word_set(char const *, unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [cppout] Error 1
make[4]: Leaving directory `/usr/local/ACE_wrappers/apps/gperf/tests'
解决办法
我直接改了这个test.cpp文件,修改in_word_set函数(函数名也改了,new_in_word_set),完善定义与调用。
直至make install 成功。
# vi /etc/ld.so.conf.d/ace.conf
在文件中增加如下信息:
/usr/local/ACE/lib 【改为/home/ACE_wrappers/lib】
2.3 网站和数据库操作软件nginx 和PHP见后。该内容不影响服务器编译和安装。