大芒果论坛

 找回密码
 开放注册
查看: 20720|回复: 148

[教程]Linux下编译elysium-project(N服源码),并配置网站环境。

  [复制链接]

27

主题

0

好友

1152

积分

芒果花

打酱油组

Rank: 4

阅读权限
30
注册时间
2009-12-29
积分
1152
精华
1
帖子
354
UID
112608
发表于 2017-3-31 14:55:18 |显示全部楼层
主机要求8g内存,Cpu性能越强越好,这个源码比较吃硬件。
后面提及的工具我在后面提供一部分下载
1.下载Debian发行版镜像,(按照自己喜好)
   这里我推荐debian-8.7.1-amd64-netinst.iso 仅有300M不到
   下载地址:https://mirrors.aliyun.com/debian-cd/8.7.1/amd64/iso-cd/
2.安装VM虚拟机(实装或者其他虚拟机都可以)
   配置虚拟机引导刚才下载的Debian镜像,分配至少5G内存以及20G硬盘,网络模式选择桥接
   我这里分配的192.168.31.88,本机是192.168.31.3,大家根据自己情况来。
  虚拟机开机选择第二项图形安装默认就好了,只安装基本系统就行,否则可能因为网络问题进不去系统。
  
3.安装完成后虚拟机登录Root账户,这里密码是不显示的,输入确定就好了。
  最好先把source.list文件更新为阿里云镜像站,实测163比较慢也容易出问题,阿里云速度比较快。
  http://mirrors.aliyun.com/help/debian这里有更新说明
输入
  1. vi /etc/apt/sources.list
复制代码
i键开启编辑模式将debian 8.x (jessie)需要的地址输入,这里可以使用虚拟机的粘贴功能
  1.   deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
  2.   deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
  3.   deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
  4.   deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
复制代码
并将原来的内容开头用#符号注释掉,按esc键进入命令模式输入
  1. :wq
复制代码
保存退出。
4.安装需要的工具及环境,以下命令开头需要的工具没有的都通过apt-get install 工具名来安装
先升级一下装的软件
  1. apt-get update
复制代码
ssh远程连接工具
  1. apt-get install ssh
复制代码
并在windows客户端下载ssh连接软件,我自己用的是xshell及Winscp文件传输工具。
  文本工具我用的vim
  1. apt-get install vim
复制代码
安装git,下面也带了,先别装,不好用再说。
  1. apt-get install git
复制代码
安装编译环境
  1. sudo apt-get install build-essential gcc g++ automake git-core autoconf make patch libmysql++-dev mysql-server libtool libssl-dev grep binutils zlibc libc6 libbz2-dev cmake subversion libboost-all-dev
复制代码
5.使用mkdir命令建立我们的工作目录zero然后进入。
  1. mkdir zero
  2. cd /root/zero/
复制代码
6. 安装ACE及TBB
   ace:http://download.dre.vanderbilt.edu/
  TBB:https://www.threadingbuildingblocks.org/download
  并将解压后的目录ACE_wrappers及TBB文件夹通过scp放到zero目录。
  ACE安装比较简单,ACE_wrappers文件夹内ACE-INSTALL.html有详细说明,
  大体就是:设置变量,lib也可以设置绝对路径
  1. export ACE_ROOT=/root/zero/ACE_wrappers
  2. export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
复制代码
也可以写到~/.bashrc
编辑设置文件
  1. vim $ACE_ROOT/ace/config.h
复制代码
使用绝对路径也是可以的
内容添加
  1. #include "ace/config-linux.h"
复制代码
新建
  1. vim $ACE_ROOT/include/makeinclude/platform_macros.GNU
复制代码
内容添加
  1. include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
  2. INSTALL_PREFIX = /usr/local
复制代码
然后进入$ACE_ROOT目录内make完成后make install就行了
参考:http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html
TBB下载源码后进入目录后make,然后执行命令
  1. source /root/zero/tbb/build/linux_intel64_gcc_cc4.9.2_libc2.19_kernel3.16.0_release/tbbvars.sh
复制代码
同样的也可以写入~/.bashrc文件
7.进入zero目录clone代码库
  代码地址https://github.com/elysium-project/
  1. git clone https://github.com/elysium-project/server.git
  2. git clone https://github.com/elysium-project/database.git
复制代码
8.编译和安装源码
在zero目录下建立服务端安装目录:
  1. mkdir wowserver
复制代码
然后进入server目录
  1. cd /root/zero/server
复制代码
编辑配置文件(一般默认)
nano CMakeLists.txt
本目录下创建一个文件夹
mkdir build
进入文件夹
cd build
生成配置,并指定安装目录
cmake /root/zero/server -DPREFIX=/root/zero/wowserver
编译
make
等待编译完成后
make install
这样服务端就编译安装完成在你的wowserver目录,成功后进入wowserver目录应该会有以下几个文件夹:
bin etc
bin里是服务器执行程序,etc里是配置文件
进入etc文件夹,然后复制,去掉.dist后缀
cp mangosd.conf.dist /root/zero/wowserver/etc/mangosd.conf
cp realmd.conf.dist /root/zero/wowserver/etc/realmd.conf
然后创建一个文件夹,用来存放提取的地图文件
cd /root/zero/wowserver
mkdir data 建立这个文件夹,用来存放提取的地图文件
关于如何提取地图文件,
这个端我实测有点问题,工具在server/contrib目录下面,我只生成了ad解压dbc跟maps其他都报错。
有能力的话自己捣鼓,不行的话就下Bunny现成的把mmap,vmaps,maps,dbc  四个文件夹拷到data目录下
然后进入/root/zero/wowserver/etc/mangosd.conf配置文件修改“data=”项,填写上data文件夹即可。

到此,服务器配置编译安装完成
9. 安装网站环境,这里我选的是xampp,选择5.6版本的就好,php7不能识别我写的注册页。
下载地址:https://www.apachefriends.org/zh_cn/download.html
首先把刚才装的mysql关上,
  1. /etc/init.d/mysql stop
复制代码
这个mysql会自己启动的,用chkconfig --level 2345 mysql off 关闭,没有chkconfig的用apt-get安装一下。
xampp.run文件放到zero文件夹就好
用chmod赋予权限,并运行
  1. chmod a+x xampp.run
  2. ./xampp.run
复制代码
一路y回车就好。
安装好环境在/opt/lampp目录下
使用命令启动
  1. /opt/lampp/lampp start
复制代码
关闭是
  1. /opt/lampp/lampp stop
复制代码
这时候就可以访问了192.168.31.88
将注册页放到/opt/lampp/lampp目录下面
conf.php是参数设置
xammp自带的phpmyadmin是不能远程访问的
进入/opt/lampp/etc修改httpd.conf,改成我这样
  1. <Directory />
  2.     #AllowOverride none
  3.     #Require all denied
  4.     order deny,allow
  5.     allow from all
  6. </Directory>
复制代码
进入/opt/lampp/etc/extra,这里的httpd-xampp.conf有两处都改成跟上面一样
然后重启下xampp服务就好了
10.利用phpmyadmin或者navicat导入数据库
    phpmyadmin登录后默认root是空密码,修改mysql库的user表修改root用户的localhost为%
  然后就可以用n8登陆了,添加用户mangos,密码mangos。
新建数据库logon,world,logs,characters,编码选择utf8,不然有可能中文不能正常显示。
然后将/root/zero/server/sql目录下的数据统统导入,文件名要对应相对的数据库名
最后将大家伙/root/zero/server/database下的sql文件解压并导入,比较漫长,建议网页导入或者自己优化下速度。
11.这时候就可以启动服务器了
这时要确保/root/zero/wowserver/etc目录下的配置文件都正确,什么数据库名,loglevel建议为1,不然看花眼。
进入logon数据库打开realmlist表配置服务器信息
设置服务器名,设置ip地址为192.168.31.88(自己虚拟机的局域网地址)
进入/root/zero/wowserver/bin目录
先开启realmd,ctrl+c可以停止
  1. ./realmd
复制代码
xshell登录第二的会话
同样进入/root/zero/wowserver/bin目录启动mangosd
  1. ./mangosd
复制代码
启动的日志默认都在这个目录里面了
12.进入游戏
先注册个帐号
进入魔兽世界客户端
修改realmlist.wtf内容为
  1. SET realmlist "192.168.31.88"
复制代码
启动游戏就行了。(好像目前只支持1.12.1客户端)

游戏倒是很多报错,这就得大家来一起完善了,我这有个讨论群75902909。
以上就是大略的编译安装过程了
下面附了用到的一些工具
链接:http://pan.baidu.com/s/1i5t9vrn 密码:
游客,如果您要查看本帖隐藏内容请回复
ㄚi直被乆糢仿 至玪无乆超越

251

主题

0

好友

3万

积分

大芒果

大大大大大坏人

Rank: 6Rank: 6

阅读权限
50
注册时间
2010-3-15
积分
33127
精华
0
帖子
2627
UID
144579
发表于 2017-3-31 15:33:46 |显示全部楼层
厉害,能否出个windows系统的教程?
大大大大大坏人
回复

使用道具 举报

27

主题

0

好友

1152

积分

芒果花

打酱油组

Rank: 4

阅读权限
30
注册时间
2009-12-29
积分
1152
精华
1
帖子
354
UID
112608
发表于 2017-3-31 15:57:30 |显示全部楼层
hero_2880 发表于 2017-3-31 15:33
厉害,能否出个windows系统的教程?

Windows简单直接编译sln文件就好了
ㄚi直被乆糢仿 至玪无乆超越
回复

使用道具 举报

0

主题

0

好友

6107

积分

大芒果

Rank: 6Rank: 6

阅读权限
50
注册时间
2008-2-10
积分
6107
精华
0
帖子
847
UID
198
发表于 2017-3-31 16:17:04 |显示全部楼层
用centos可以吗。。。。
回复

使用道具 举报

27

主题

0

好友

1152

积分

芒果花

打酱油组

Rank: 4

阅读权限
30
注册时间
2009-12-29
积分
1152
精华
1
帖子
354
UID
112608
发表于 2017-3-31 16:21:21 |显示全部楼层
halo 发表于 2017-3-31 16:17
用centos可以吗。。。。

必须可以 ,土豪拿服务器都行,我这是最低限度降低硬件需求
ㄚi直被乆糢仿 至玪无乆超越
回复

使用道具 举报

251

主题

0

好友

3万

积分

大芒果

大大大大大坏人

Rank: 6Rank: 6

阅读权限
50
注册时间
2010-3-15
积分
33127
精华
0
帖子
2627
UID
144579
发表于 2017-3-31 17:11:21 |显示全部楼层
master 发表于 2017-3-31 15:57
Windows简单直接编译sln文件就好了

但是貌似地图文件有问题,世界服务器启动时老读vmap...
大大大大大坏人
回复

使用道具 举报

2

主题

0

好友

4634

积分

小芒果

Rank: 5Rank: 5

阅读权限
40
注册时间
2008-7-16
积分
4634
精华
0
帖子
897
UID
10156
发表于 2017-3-31 19:44:57 |显示全部楼层
hero_2880 发表于 2017-3-31 17:11
但是貌似地图文件有问题,世界服务器启动时老读vmap...

我的也是读了几个小时都没完~~
回复

使用道具 举报

251

主题

0

好友

3万

积分

大芒果

大大大大大坏人

Rank: 6Rank: 6

阅读权限
50
注册时间
2010-3-15
积分
33127
精华
0
帖子
2627
UID
144579
发表于 2017-3-31 19:49:09 |显示全部楼层
foxooo 发表于 2017-3-31 19:44
我的也是读了几个小时都没完~~

我已经放弃了,在安心玩玩别人的端,体验体验得了
大大大大大坏人
回复

使用道具 举报

2

主题

0

好友

4634

积分

小芒果

Rank: 5Rank: 5

阅读权限
40
注册时间
2008-7-16
积分
4634
精华
0
帖子
897
UID
10156
发表于 2017-3-31 19:55:15 |显示全部楼层
hero_2880 发表于 2017-3-31 19:49
我已经放弃了,在安心玩玩别人的端,体验体验得了

后面用H大的那个mangosd.conf替换了 原来的。启动就很快了。地图好像不全部读取了,不懂什么原因
回复

使用道具 举报

251

主题

0

好友

3万

积分

大芒果

大大大大大坏人

Rank: 6Rank: 6

阅读权限
50
注册时间
2010-3-15
积分
33127
精华
0
帖子
2627
UID
144579
发表于 2017-3-31 20:19:08 |显示全部楼层
本帖最后由 hero_2880 于 2017-3-31 23:17 编辑
foxooo 发表于 2017-3-31 19:55
后面用H大的那个mangosd.conf替换了 原来的。启动就很快了。地图好像不全部读取了,不懂什么原因 ...


我懒得在自己搞了,也在玩H大昨天版本,很奇怪,这个帖子没有了。





大大大大大坏人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 开放注册

手机版|Archiver|大芒果中国 ( 苏ICP备14024044号 )|人工智能

GMT+8, 2023-6-1 21:12 , Processed in 2.149361 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部