在Windows(x86)上编译、配置并运行Ryzom Core(服务器/客户端)

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按钮。


 



配置Visual C++ 2008

   
    现在,你创建一个新的文件夹,取名为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中。


 


 



    下载并安装QtSDKhttp://qt.nokia.com/downloads/windows-cpp-vs2008
         在桌面上打开开始菜单,右击我的电脑并打开属性页。在系统设置的高级选项中设置环境变量(Windows XP上的设置界面可能不一样):


 


 


 


         新建一个叫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看能不能解决问题。

posted on 2010-07-23 13:55  X Peng  阅读(2665)  评论(0编辑  收藏  举报

导航