zoukankan      html  css  js  c++  java
  • 在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看能不能解决问题。

  • 相关阅读:
    Codeforces Round #276 (Div. 1) D. Kindergarten dp
    Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序
    hihoCoder Challenge 27 #1469 : 福字 dp
    Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
    Python id() 函数
    Python divmod() 函数
    Python any() 函数
    Python next() 函数
    Python slice() 函数
    Python3 hex() 函数
  • 原文地址:https://www.cnblogs.com/xiaop/p/1783689.html
Copyright © 2011-2022 走看看