EverythingWindows

Version 9 (zasdman, 05/16/2010 10:34 pm)

1 9 zasdman
h1. *BuildConfRunWindows*
2 1 Phaelae
3 9 zasdman
h1. Building, Configuring and Running the Ryzom Core for Windows(x86)
4 1 Phaelae
5 9 zasdman
_This guide is intended to give a step by step process for setting up and running the Ryzom Core for those that may not be as technically gifted as others, This is being written assuming that the reader isn't familiar with the tools and software used here._
6 1 Phaelae
7 1 Phaelae
8 9 zasdman
h2. *The following is a list of everything you will need to download.*
9 9 zasdman
10 1 Phaelae
TortoiseHg - http://tortoisehg.bitbucket.org/download/index.html
11 1 Phaelae
DirectX SDK (February 2010) - http://www.microsoft.com/downloads/details.aspx?FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15&displaylang=en
12 1 Phaelae
Qt - http://qt.nokia.com/downloads/windows-cpp-vs2008
13 1 Phaelae
Apache - http://apache.mirrors.hoobly.com/httpd/binaries/win32/httpd-2.2.15-win32-x86-no_ssl.msi
14 1 Phaelae
MySQL - http://www.mysql.com/downloads/mysql/
15 1 Phaelae
Visual C++ 2008 (90 Day Trial) - http://download.microsoft.com/download/8/1/d/81d3f35e-fa03-485b-953b-ff952e402520/VS2008ProEdition90dayTrialENUX1435622.iso
16 1 Phaelae
Visual C++ 2008 SP1 - http://www.microsoft.com/downloads/thankyou.aspx?familyId=27673c47-b3b5-4c67-bd99-84e525b5ce61&displayLang=en
17 1 Phaelae
PHP - http://windows.php.net/downloads/releases/php-5.3.2-Win32-VC6-x86.zip
18 1 Phaelae
STLport - http://dev.ryzom.com/attachments/download/492/external_stlport_64.7z
19 1 Phaelae
20 1 Phaelae
21 9 zasdman
22 9 zasdman
h2. *1. Getting the source code*
23 9 zasdman
24 1 Phaelae
Download and install TortoiseHg - http://tortoisehg.bitbucket.org/download/index.html
25 1 Phaelae
26 1 Phaelae
Create a folder on your computer and name it whatever you want (choose something easy to remember and easy to get to because you will be referring to this a lot).
27 1 Phaelae
28 1 Phaelae
_Example: x:/ryzom_
29 1 Phaelae
30 1 Phaelae
Navigate to this directory and right click on the folder that you just made.
31 1 Phaelae
32 1 Phaelae
Highlight *TortoiseHg* in the menu and select *Clone* from the list that appears to the side.
33 1 Phaelae
34 1 Phaelae
In the TortoiseHg Clone window, in the *Source path:* box put in
35 1 Phaelae
http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom
36 1 Phaelae
37 1 Phaelae
For destination path, you want the path to the folder you just right clicked on, which it should default to.
38 1 Phaelae
39 1 Phaelae
Leave everything else the default (unchecked) and hit *Clone* at the bottom.
40 1 Phaelae
41 1 Phaelae
42 9 zasdman
43 9 zasdman
h2. *2. Configuring Visual C++ 2008*
44 9 zasdman
45 1 Phaelae
First install the DirectX SDK (February 2010)- http://www.microsoft.com/downloads/details.aspx?FamilyID=2c7da5fb-ffbb-4af6- 8c66-651cbd28ca15&displaylang=en
46 1 Phaelae
47 1 Phaelae
Now create a new folder. This can go wherever you want and can be called anything you want. For organizational purposes, I made mine x:/external.
48 1 Phaelae
49 1 Phaelae
Download this file
50 1 Phaelae
http://dev.ryzom.com/attachments/download/492/external_stlport_64.7z
51 1 Phaelae
52 1 Phaelae
Extract the contents to the folder you just created.
53 1 Phaelae
54 4 kervala
Copy _code\tool\visual_studio_macros\autoexp.dat_ into the following directory: 
55 1 Phaelae
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger
56 1 Phaelae
57 1 Phaelae
Download and install this file
58 1 Phaelae
http://qt.nokia.com/downloads/windows-cpp-vs2008
59 1 Phaelae
60 1 Phaelae
On your desktop or in your start menu, right click on My Computer and go to Properties. On the left side go to *Advanced System Settings* and in that window click on *Environment Variables…* at the bottom.
61 1 Phaelae
62 1 Phaelae
Under the second box labeled System variables you want to hit the *New…* button. In the box that pops up type in *QTLIB* for the variable name and put in the directory where Qt installed and \lib after that. So it should look something like _C:\QT\4.6.2\lib_ in the Variable value: field.
63 1 Phaelae
64 1 Phaelae
_Note: You will need to restart your computer at this point._
65 1 Phaelae
66 1 Phaelae
Now navigate to the directory we created at the beginning where all the source code is.
67 1 Phaelae
68 1 Phaelae
Go into _code\nel\_ and double click on *nel.sln*. This should open up the project in Visual V++ 2008.
69 1 Phaelae
70 1 Phaelae
Once that opens, you want to go to the Tools drop down menu at the top and select Options at the bottom. On the left side of that window you want to expand *Projects and Solutions* and then select *VC++ Directories*.
71 1 Phaelae
72 3 Phaelae
On the right side where it says Show directories for: click on the drop down list there and select Include files. Below that click on the icon that looks like a yellow folder (when you hover over it, it says New Line. A new line pops up at the top of the list down below. You want to hit the *…* button to the right of that whitespace. Browse to the include directory where the DirectX SDK installed. By default, it installs to C:\Program Files\Microsoft DirectX SDK (February 2010)\Include.
73 1 Phaelae
74 1 Phaelae
Now you want to add a few more lines with the following directories:
75 1 Phaelae
_(Note: Your drive letters and folder names may be different than mine)_
76 1 Phaelae
x:\external\include\stlport
77 1 Phaelae
x:\external\include
78 1 Phaelae
x:\external\bin
79 1 Phaelae
x:\ryzom\code\nel\src
80 1 Phaelae
x:\ryzom\code\nel\include
81 1 Phaelae
82 1 Phaelae
Now go back to the drop down box under *Show directories for:* and select *Library files*.
83 1 Phaelae
84 1 Phaelae
Add the following lines:
85 1 Phaelae
_(Once again your drive letters and the name of your directories may be different than mine)_
86 1 Phaelae
C:\Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86
87 1 Phaelae
x:\external\lib
88 1 Phaelae
x:\ryzom\code\nel\lib
89 1 Phaelae
90 1 Phaelae
Now you are done with that part. Go ahead and hit OK at the bottom.
91 1 Phaelae
92 1 Phaelae
93 9 zasdman
94 9 zasdman
h2. *3. Compiling NeL, Client/Server, and Tools.*
95 9 zasdman
96 1 Phaelae
If you don’t already have *nel.sln* open, navigate to _code\nel\_ directory in the source code we downloaded earlier and open it.
97 1 Phaelae
98 1 Phaelae
Along the top of your Visual C++ 2008 window below the Help drop down menu click on the arrow next to where it says *Debug* and select *Release*.
99 1 Phaelae
100 1 Phaelae
Now hit F7 and wait. You are now compiling, and this could take awhile…
101 1 Phaelae
102 1 Phaelae
When that’s done, hopefully you will get a message along the bottom saying that everything was successful.
103 1 Phaelae
104 1 Phaelae
Now let’s move on to the Client/Server. 
105 1 Phaelae
106 1 Phaelae
Navigate to the directory you have the source code and go to _code\ryzom\server_. Double click on *server.sln*. Make sure to change *Debug* to *Release* like we did before in this project and then press F7 once again to compile. This will take even longer than when you compiled NeL.
107 1 Phaelae
108 3 Phaelae
When that’s done, go ahead and exit out and navigate once again to your source code directory and browse to _code\ryzom\tools_. Double click on *all.sln*. Once again change *Debug* to *Release* and hit F7. Once again wait and it should all compile successfully.
109 1 Phaelae
110 1 Phaelae
111 9 zasdman
112 9 zasdman
h2. *4. Setting up Apache/MySQL/PHP*
113 9 zasdman
114 5 Phaelae
To make things less complicated, we're going to use a piece of software called XAMPP Lite that comes pre-configured with Apache, MySQL, and PHP with phpMyAdmin that gives you a web interface to your MySQL server.
115 5 Phaelae
116 5 Phaelae
Download and install this:
117 5 Phaelae
http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe
118 5 Phaelae
119 5 Phaelae
After it's installed I want you to run XAMPP Lite. With the control panel open you want to click on the *Explore* button on the right side. This should open up the XAMPP directory. Navigate to:
120 5 Phaelae
_xampplite -> apache -> conf -> extra_
121 5 Phaelae
122 5 Phaelae
Open the file called *httpd-vhosts.conf* with your favorite text editor. At the very bottom of that document I want you to copy and paste these lines into it:
123 5 Phaelae
_Note: The drive letter and directory may be different then mine so you may need to change the the directory and documentroot lines to match what you have._
124 5 Phaelae
125 6 Phaelae
Listen 40916
126 5 Phaelae
<VirtualHost *:40916>
127 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
128 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
129 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
130 5 Phaelae
     AllowOverride All
131 5 Phaelae
     Order allow,deny
132 5 Phaelae
     Allow from all
133 5 Phaelae
  </Directory> 
134 5 Phaelae
  ServerAdmin admin@localhost
135 8 MMOInteractive
  DocumentRoot "x:/source/code/ryzom/tools/server/www"
136 5 Phaelae
  ServerName localhost
137 5 Phaelae
</VirtualHost>
138 5 Phaelae
<VirtualHost *:80>
139 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
140 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
141 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
142 5 Phaelae
     AllowOverride All
143 5 Phaelae
     Order allow,deny
144 1 Phaelae
     Allow from all
145 1 Phaelae
  </Directory> 
146 1 Phaelae
  ServerAdmin admin@localhost
147 5 Phaelae
  DocumentRoot "x:/source/code/ryzom/tools/server/admin"
148 5 Phaelae
  ServerName localhost
149 8 MMOInteractive
</VirtualHost>
150 5 Phaelae
151 6 Phaelae
Save that file and you are done configuring Apache. Now I want you to open up the XAMPP Control Panel again (there should be an icon for it down by your clock).
152 5 Phaelae
153 9 zasdman
This time click on the *Start* button to the right of where it says *Apache*.
154 9 zasdman
155 9 zasdman
When that is done hit the *Start* button next to MySQL. Now you should be able to click on the *Admin* button next to that Start button you just clicked on for MySQL. A web browser should open up taking you to your phpMyAdmin website.
156 5 Phaelae
157 5 Phaelae
On that main screen in phpMyAdmin underneath where it says *MySQL localhost* you should see something that says *Create new database*. In the box below that type in _nel_ and hit the *Create* button over to the right. Now go to the top of the screen and click on *Server: localhost* and it will take you back to the main screen. In the Create new database field put in _nel_tool_. Once again go back to the main screen and this time create _ring_open_.
158 5 Phaelae
159 7 Phaelae
Minimize your browser now and navigate to your source code folder and go to _code/ryzom/tools/server/sql_. Open up *ryzom_admin_default_data.sql* in a text editor. Do a search for _/home/nevrax/code/ryzom/server/save_shard/rrd_graphs_ and change that so it matches your source code directory. I changed mine to: _x:/source/code/ryzom/server/save_shard/rrd_graphs_. Save and close out of that file.
160 7 Phaelae
161 7 Phaelae
Now go to your source code directory and navigate to _code/ryzom/server/save_shard_ and create a new folder in there and call it _rrd_graphs_.
162 7 Phaelae
163 7 Phaelae
Open back up your browser that you minimized earlier that is open to phpMyAdmin. On the left pane click on where it says _nel_ click on that. Along the top now you will see a bunch of tabs. You want to click on the Import tab. Under *File to import* click on the *Choose File* button. In the window that pops up browse to your source code directory and to _code/ryzom/tools/server/sql_ and select the one called *ryzom_tables.sql* and hit *Open* at the bottom. Now at the bottom right of that screen hit the *Go* button and it will import the file. Now go back to the Import tab once again under the *nel* database and do the same process but this time import *ryzom_default_data.sql* which is in the same directory. Now go to the nel_tool database and Import the file called _ryzom_admin_default_data.sql_.
164 7 Phaelae
165 7 Phaelae
166 7 Phaelae
*To be continued...*