惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
IT之家
IT之家
博客园 - 聂微东
The Cloudflare Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
H
Help Net Security
博客园 - 叶小钗
V
V2EX
WordPress大学
WordPress大学
J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
C
Check Point Blog
B
Blog
D
DataBreaches.Net
美团技术团队
罗磊的独立博客

博客园 - X Peng

博客迁址 xpeng.scorpionstudio.com 终于,我们的新产品Fotor Slideshow Maker上线了!! 总结了一下新手学习Windows 8 Metro App 开发的捷径 Ryzom简易汉化教程 在Windows上编译运行Ryzom客户端 关于Ryzom游戏开发的路线图 和Ryzom相关的项目简介 开始研究Ryzom Core! 引擎设计与商业模式 新编辑器即将诞生 专注工具的日子 Tao Project Prototype 0.2.0 Tao Project Prototype 0.1.0 What is Tao Project 进化世界 除了随机还要进化——对Infinity进一步的想法 随机宇宙 EDS(屏幕截图) EDS(实例)
在Windows(x86)上编译、配置并运行Ryzom Core(服务器/客户...
X Peng · 2010-07-23 · via 博客园 - X Peng

Windowsx86)上编译、配置并运行Ryzom Core

英文链接:http://dev.ryzom.com/wiki/7/EverythingWindows

本教程在以下平台上经过验证
    Windows 7 x64 Ultimate

       Windows Vista x64 Home Premium SP2
       Windows XP SP3

你需要下载并安装的软件列表

          XPeng注:Qt是工具编译需要的,ApacheMySQL其实可以不必单独下载安装,按照教程要求下载XAMPP安装即可,对于国内的情况VS 2008 SP1一般是没有问题的,直接一步到位就可以了。

获取Ryzom源代码
         下载并安装TortoiseHg- http://tortoisehg.bitbucket.org/download/index.html
         创建一个代码根目录(本教程中我们使用 x:/ryzom
来举例)。


   进入你刚才创建的目录,右键菜单中选择TortoiseHg,然后选择Clone(克隆)。


         TortoiseHg Clone窗口中的Sourece path编辑框里填写:http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom,注意Destination Path编辑框里现在默认是你右键点击的路径,保持所有选项默认的情况下点击底部的Clone按钮。

   
    现在,你创建一个新的文件夹,取名为x:/externalX是你的盘符)


    下载这个文件:https://sourceforge.net/projects/ryzom/files/external_stlport_lua51.7z/download,论坛上提供的FTP中也有这个文件。
    将它的内容解压到刚才你创建的external目录,里面包含了x86x64的支持,对x86的编译你仅需要“bin”,“include”和“lib”目录就行了。


         把文件code\tool\visual_studio_macros\autoexp.dat拷贝到目录C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger中。


         新建一个叫QTLIB的环境变量指向你Qt安装路径下的\lib目录,例如C:\QT\4.6.2\lib


         注意:你可能需要重启你的计算机来让这些配置生效。

配置编译项目
         现在,进入代码路径中的code\nel\目录,双击nel.sln。将在Visual C++中打开这个项目。


         VSOptions菜单项中,设置Projects and SolutionsVC++ Directories


         设置如下的包含路径(注意你的盘符和路径可能不一样哈):
                  x:\external\include\stlport
                  x:\external\include
                  x:\external\bin
                  x:\ryzom\code\nel\src
                  x:\ryzom\code\nel\include


         现在再设置Library路径:
                  C:\Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86
                  x:\external\lib
                  x:\ryzom\code\nel\lib
         *
注意“\code\nel\lib”目录只有在你编译完Nel后才会出现,这个库目录虽然对Nel的编译没有什么作用,但它是编译Ryzom客户端必须的。


         结束后按OK键退出配置页面。

编译NelNel ToolsClient/ServerRyzom Tools
         打开nel.sln,按照Release版本编译(你可以按F7键开始)。
    如果你对世界编辑器感兴趣,你可以编译Nel Tools。在code\net\tools目录,双击all.sln,然后和上面一样按Release编译整个项目。
    现在我们来编译客户端和服务器:
        在code\ryzom\server目录中,以Release版本编译server.sln,这将是一个很长的过程。
        在code\ryzom\client目录中,以Release版本编译client.sln
                   code\ryzom\tools目录中,以Release版本编译all.sln
         注意,在当前代码库的情况下,Ryzom tools有一些项目编译不过,这是正常的,可以不管他,当然这方面详细信息可以参考http://dev.ryzom.com/boards/17/topics/2666,里面解决了一些问题。

设置Apache/PHP
         为了简化操作,我们使用一个叫XAMPP Lite的软件包,它内置了ApacheMySQLPHPphpMyAdmin,使得你可以方便的配置MySQL服务器。
         下载并安装它:http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe
         默认安装完毕后,进入到目录xampplite\apache\conf\extra中(注意在vista或者win7中需要以管理员模式来操作),在文本编辑器中打开httpd-vhosts.conf,在结尾处增加如下文本:

Listen 40916
<VirtualHost *:40916>
  <Directory "x:/source/code/ryzom/tools/server/">
     Options -Indexes FollowSymLinks MultiViews
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
     AllowOverride All
     Order allow,deny
     Allow from all

     AddType text/html .php .phps
     AddHandler application/x-httpd-php .php
     AddHandler application/x-httpd-php-source .phps   
  </Directory>
  ServerAdmin admin@localhost
  DocumentRoot "x:/source/code/ryzom/tools/server/www"
  ServerName localhost
</VirtualHost>
<VirtualHost *:80>
  <Directory "x:/source/code/ryzom/tools/server/">
     Options -Indexes FollowSymLinks MultiViews
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
     AllowOverride All
     Order allow,deny
     Allow from all

     AddType text/html .php .phps
     AddHandler application/x-httpd-php .php
     AddHandler application/x-httpd-php-source .phps   
  </Directory>
  ServerAdmin admin@localhost
  DocumentRoot "x:/source/code/ryzom/tools/server/admin"
  ServerName localhost
</VirtualHost>


         注意里面的路径应该改为你自己的适当路径。
         保存这个文件然后启动XAMPP控制面板,点击Apache旁边的Start按钮。

         接着,在x:/source/code/ryzom/tools/server/admin/config.php文件中把NELTOOL_SITEBASE设置为你的服务器地址,把NELTOOL_SYSTEMBASE设置为你的对应路径。
         创建一个目录:x:/source/code/ryzom/server/save_shard/rrd_graphs/
         x:/source/code/ryzom/tools/server/www/login/config.php文件中把$LogRelativePath项的值改为’logs/’,即:
                                     $LogRelativePath = 'logs/';
         接着创建目录:x:/source/code/ryzom/tools/server/www/login/logs/

设置MySQL
         再次打开XAMPP控制面板,点击MySQL旁的Start按钮启动它。现在,你可以点击旁边的Admin按钮来启动浏览器进入phpMyAdmin站点。
         phpMyAdmin站点的主页面上部应该有显示MySQL localhost,在中间一个Create new database的地方填入nel然后点击Create按钮。再次点击Server:localhost回到主页面,用同样的方法创建nel_tool,再创建ring_open库。
         接下来,你需要创建对这些库的用户和用户权限。注意,code/ryzom/server目录下的配置文件中均使用“shard”作为默认的用户名,默认是没有密码的,如果你要在MySQL中配置其他的用户,请在这些.cfg文件中作相应的修改。
         使用phpMyAdmin配置的步骤如下:

  • 在页面顶部,点击Server: localhost进入主页面
  • localhost下面,找到Privilges并点击它,然后你会看到一个显示用户帐号的表格
  • 在顶部的Tab列中点击SQL
  • 现在你看到一个大的编辑框,标题是Run SQL query/queries on server "localhost": @. 输入如下的文本:

             GRANT ALL ON nel.* TO shard@localhost;

             GRANT ALL ON nel_tool.* TO shard@localhost;

             GRANT ALL ON ring_open.* TO shard@localhost;

  • 点击右边底部的Go按钮
  • 现在你在主页面能看到信息"Your SQL query has been executed successfully..."
  • 找到名叫Reload Privileges
    的链接然后点击它
  • 现在你会再次回到主页并且有信息: "The privileges were reloaded successfully..."

    到此为止你在Ryzom数据库中的用户和权限就建立完毕了。注意你也可以直接使用MySQL的命令行达到这个目的,这个在英文链接上有写,自己去看吧。

关于MySQL中全局变量sql_mode的问题
    如果sql_mode中包含STRICT_TRANS_TABLES值,则你必须去掉它。
    打开MySQL下面的my.ini文件(一般在XAMPP\xampplite\mysql\bin下),找到“sql-mode=”这行(如果没有就在[mysqld]下增加一项),改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"就行了。
    重启MySQL服务器

导入数据库默认数据
         code/ryzom/tools/server/sql目录下,做如下事情:

  • 打开ryzom_admin_default_data.sql文件(我使用的是UE),找到/home/nevrax/code/ryzom/server/save_shard/rrd_graphs并改为你自己的代码路径,例如x:/source/code/ryzom/server/save_shard/rrd_graphs,保存文件。
  • 打开ryzom_default_data.sql文件,把所有open.ryzom.com改为你自己机器的地址(例如192.168.0.1或者127.0.0.1),但是注意保持好那些端口号不要变 (比如:4999 等等)


  现在复制拷贝code/ryzom/tools/server/admin/templates/default文件为code/ryzom/tools/server/admin/templates/default_c

    接下来再次进入phpMyAdmin页面,做如下事情:

  • 在左边面板上点击nel
  • 在顶端的Tab页上点击Import
  • File to import旁点击Choose File(浏览)按钮。浏览到代码路径code/ryzom/tools/server/sql然后选择文件ryzom_tables.sql后打开
  • 现在点击Go按钮将导入这个文件
  • 现在回到nel数据库下的Import页,再次导入ryzom_default_data.sql文件
  • 回到nel_tool数据库下导入ryzom_admin_default_data.sql文件

  
  导入数据库文件之后你还要修改一些内容,使用phpMyAdmin按下面的步骤做:

  • 进入nel_tool数据库页面上,选择neltool_domains,找到一个domain_id12的记录
  • 然后点击笔形图标编辑这个记录,把domain_as_host
    域的值设置为你的服务器地址


编辑配置文件
         一旦数据库建立起来,你还需要小小修改一下code/ryzom/server目录中的.cfg文件:

  • 用文本编辑器打开文件code/ryzom/server/frontend_service.cfg然后找到 FSListenHost项(没有就添加这项)
  • FSListenHost设置为等于你的服务器地址(192.168.0.1或者127.0.0.1)


启动Ryzom服务器
         到此为止,你应该能够启动Ryzom服务器了,执行code/ryzom/server目录下的shard_start.bat文件。
         多个控制台会出现,过一段时间等所有服务器都启动好了以后,你就可以启动你的客户端来链接你自建的服务器了。
         客户端运行请参考:http://ryzomcn.5d6d.com/thread-20-1-1.html

客户端登录问题
         如果客户端连接服务器时报错,参考http://dev.ryzom.com/wiki/ryzom/ClientConnectErrors看能不能解决问题。