EverythingWindows

Version 20 (zasdman, 05/16/2010 11:39 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 11 zasdman
External_stlport - http://dev.ryzom.com/attachments/download/593/external_stlport_lua51.7z
13 1 Phaelae
Qt - http://qt.nokia.com/downloads/windows-cpp-vs2008
14 10 zasdman
XAMPP - http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe
15 1 Phaelae
Apache - http://apache.mirrors.hoobly.com/httpd/binaries/win32/httpd-2.2.15-win32-x86-no_ssl.msi
16 1 Phaelae
MySQL - http://www.mysql.com/downloads/mysql/
17 1 Phaelae
Visual C++ 2008 (90 Day Trial) - http://download.microsoft.com/download/8/1/d/81d3f35e-fa03-485b-953b-ff952e402520/VS2008ProEdition90dayTrialENUX1435622.iso
18 1 Phaelae
Visual C++ 2008 SP1 - http://www.microsoft.com/downloads/thankyou.aspx?familyId=27673c47-b3b5-4c67-bd99-84e525b5ce61&displayLang=en
19 1 Phaelae
PHP - http://windows.php.net/downloads/releases/php-5.3.2-Win32-VC6-x86.zip
20 1 Phaelae
STLport - http://dev.ryzom.com/attachments/download/492/external_stlport_64.7z
21 1 Phaelae
22 1 Phaelae
23 9 zasdman
24 9 zasdman
h2. *1. Getting the source code*
25 9 zasdman
26 1 Phaelae
Download and install TortoiseHg - http://tortoisehg.bitbucket.org/download/index.html
27 1 Phaelae
28 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).
29 1 Phaelae
30 1 Phaelae
_Example: x:/ryzom_
31 1 Phaelae
32 16 zasdman
33 18 zasdman
> !http://dev.ryzom.com/attachments/648/1.jpg!
34 14 zasdman
35 16 zasdman
36 1 Phaelae
Navigate to this directory and right click on the folder that you just made.
37 1 Phaelae
38 1 Phaelae
Highlight *TortoiseHg* in the menu and select *Clone* from the list that appears to the side.
39 1 Phaelae
40 16 zasdman
41 18 zasdman
> !http://dev.ryzom.com/attachments/649/clone.jpg!
42 16 zasdman
43 15 zasdman
44 1 Phaelae
In the TortoiseHg Clone window, in the *Source path:* box put in
45 1 Phaelae
http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom
46 1 Phaelae
47 1 Phaelae
For destination path, you want the path to the folder you just right clicked on, which it should default to.
48 1 Phaelae
49 1 Phaelae
Leave everything else the default (unchecked) and hit *Clone* at the bottom.
50 1 Phaelae
51 18 zasdman
> !http://dev.ryzom.com/attachments/650/tortoisehg_clone.jpg!
52 17 zasdman
53 1 Phaelae
54 9 zasdman
55 13 zasdman
h2. *2a. Configuring Visual C++ 2008*
56 9 zasdman
57 1 Phaelae
First install the DirectX SDK (February 2010)- http://www.microsoft.com/downloads/details.aspx?FamilyID=2c7da5fb-ffbb-4af6- 8c66-651cbd28ca15&displaylang=en
58 1 Phaelae
59 13 zasdman
Now create a new folder. This can go wherever you want and can be called anything you want, Example x:/external (Replace "x" with your drive letter).
60 1 Phaelae
61 19 zasdman
> !http://dev.ryzom.com/attachments/651/external.jpg! 
62 19 zasdman
63 1 Phaelae
Download this file
64 11 zasdman
http://dev.ryzom.com/attachments/download/593/external_stlport_lua51.7z
65 1 Phaelae
66 12 zasdman
Extract the contents to the folder you just created. _This comes with both x86 and x64 folders, you only *need* "bin", "include", and "lib" for the x86 build._
67 1 Phaelae
68 20 zasdman
> !http://dev.ryzom.com/attachments/652/stlport.jpg!
69 20 zasdman
70 4 kervala
Copy _code\tool\visual_studio_macros\autoexp.dat_ into the following directory: 
71 1 Phaelae
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger
72 1 Phaelae
73 1 Phaelae
Download and install this file
74 1 Phaelae
http://qt.nokia.com/downloads/windows-cpp-vs2008
75 1 Phaelae
76 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.
77 1 Phaelae
78 13 zasdman
Under the second box labeled System variables click 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.
79 1 Phaelae
80 13 zasdman
*_Note: You will need to restart your computer at this point._*
81 1 Phaelae
82 13 zasdman
83 13 zasdman
84 13 zasdman
h2. *2b. Configuring Visual C++ 2008*
85 13 zasdman
86 1 Phaelae
Now navigate to the directory we created at the beginning where all the source code is.
87 1 Phaelae
88 1 Phaelae
Go into _code\nel\_ and double click on *nel.sln*. This should open up the project in Visual V++ 2008.
89 1 Phaelae
90 13 zasdman
Once that opens, go to the Tools drop down menu at the top and select Options at the bottom. On the left side of that window, expand *Projects and Solutions* and then select *VC++ Directories*.
91 1 Phaelae
92 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.
93 1 Phaelae
94 1 Phaelae
Now you want to add a few more lines with the following directories:
95 13 zasdman
_(Note: Your drive letters and folder names may be different than shown here.)_
96 1 Phaelae
x:\external\include\stlport
97 1 Phaelae
x:\external\include
98 1 Phaelae
x:\external\bin
99 1 Phaelae
x:\ryzom\code\nel\src
100 1 Phaelae
x:\ryzom\code\nel\include
101 1 Phaelae
102 1 Phaelae
Now go back to the drop down box under *Show directories for:* and select *Library files*.
103 1 Phaelae
104 1 Phaelae
Add the following lines:
105 13 zasdman
_(Once again your drive letters and the name of your directories may be different than shown here.)_
106 1 Phaelae
C:\Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86
107 1 Phaelae
x:\external\lib
108 1 Phaelae
x:\ryzom\code\nel\lib
109 1 Phaelae
110 13 zasdman
This finishes this part. Go ahead and hit OK at the bottom.
111 1 Phaelae
112 1 Phaelae
113 9 zasdman
114 9 zasdman
h2. *3. Compiling NeL, Client/Server, and Tools.*
115 9 zasdman
116 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.
117 1 Phaelae
118 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*.
119 1 Phaelae
120 1 Phaelae
Now hit F7 and wait. You are now compiling, and this could take awhile…
121 1 Phaelae
122 1 Phaelae
When that’s done, hopefully you will get a message along the bottom saying that everything was successful.
123 1 Phaelae
124 1 Phaelae
Now let’s move on to the Client/Server. 
125 1 Phaelae
126 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.
127 1 Phaelae
128 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.
129 1 Phaelae
130 1 Phaelae
131 9 zasdman
132 9 zasdman
h2. *4. Setting up Apache/MySQL/PHP*
133 9 zasdman
134 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.
135 5 Phaelae
136 5 Phaelae
Download and install this:
137 5 Phaelae
http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe
138 5 Phaelae
139 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:
140 5 Phaelae
_xampplite -> apache -> conf -> extra_
141 5 Phaelae
142 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:
143 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._
144 5 Phaelae
145 6 Phaelae
Listen 40916
146 5 Phaelae
<VirtualHost *:40916>
147 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
148 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
149 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
150 5 Phaelae
     AllowOverride All
151 5 Phaelae
     Order allow,deny
152 5 Phaelae
     Allow from all
153 5 Phaelae
  </Directory> 
154 5 Phaelae
  ServerAdmin admin@localhost
155 8 MMOInteractive
  DocumentRoot "x:/source/code/ryzom/tools/server/www"
156 5 Phaelae
  ServerName localhost
157 5 Phaelae
</VirtualHost>
158 5 Phaelae
<VirtualHost *:80>
159 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
160 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
161 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
162 5 Phaelae
     AllowOverride All
163 5 Phaelae
     Order allow,deny
164 1 Phaelae
     Allow from all
165 1 Phaelae
  </Directory> 
166 1 Phaelae
  ServerAdmin admin@localhost
167 5 Phaelae
  DocumentRoot "x:/source/code/ryzom/tools/server/admin"
168 5 Phaelae
  ServerName localhost
169 8 MMOInteractive
</VirtualHost>
170 5 Phaelae
171 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).
172 5 Phaelae
173 9 zasdman
This time click on the *Start* button to the right of where it says *Apache*.
174 9 zasdman
175 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.
176 5 Phaelae
177 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_.
178 5 Phaelae
179 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.
180 7 Phaelae
181 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_.
182 7 Phaelae
183 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_.
184 7 Phaelae
185 7 Phaelae
186 7 Phaelae
*To be continued...*