EverythingWindows

Version 17 (zasdman, 05/16/2010 11:28 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 14 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 15 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 17 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 1 Phaelae
Download this file
62 11 zasdman
http://dev.ryzom.com/attachments/download/593/external_stlport_lua51.7z
63 1 Phaelae
64 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._
65 1 Phaelae
66 4 kervala
Copy _code\tool\visual_studio_macros\autoexp.dat_ into the following directory: 
67 1 Phaelae
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger
68 1 Phaelae
69 1 Phaelae
Download and install this file
70 1 Phaelae
http://qt.nokia.com/downloads/windows-cpp-vs2008
71 1 Phaelae
72 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.
73 1 Phaelae
74 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.
75 1 Phaelae
76 13 zasdman
*_Note: You will need to restart your computer at this point._*
77 1 Phaelae
78 13 zasdman
79 13 zasdman
80 13 zasdman
h2. *2b. Configuring Visual C++ 2008*
81 13 zasdman
82 1 Phaelae
Now navigate to the directory we created at the beginning where all the source code is.
83 1 Phaelae
84 1 Phaelae
Go into _code\nel\_ and double click on *nel.sln*. This should open up the project in Visual V++ 2008.
85 1 Phaelae
86 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*.
87 1 Phaelae
88 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.
89 1 Phaelae
90 1 Phaelae
Now you want to add a few more lines with the following directories:
91 13 zasdman
_(Note: Your drive letters and folder names may be different than shown here.)_
92 1 Phaelae
x:\external\include\stlport
93 1 Phaelae
x:\external\include
94 1 Phaelae
x:\external\bin
95 1 Phaelae
x:\ryzom\code\nel\src
96 1 Phaelae
x:\ryzom\code\nel\include
97 1 Phaelae
98 1 Phaelae
Now go back to the drop down box under *Show directories for:* and select *Library files*.
99 1 Phaelae
100 1 Phaelae
Add the following lines:
101 13 zasdman
_(Once again your drive letters and the name of your directories may be different than shown here.)_
102 1 Phaelae
C:\Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86
103 1 Phaelae
x:\external\lib
104 1 Phaelae
x:\ryzom\code\nel\lib
105 1 Phaelae
106 13 zasdman
This finishes this part. Go ahead and hit OK at the bottom.
107 1 Phaelae
108 1 Phaelae
109 9 zasdman
110 9 zasdman
h2. *3. Compiling NeL, Client/Server, and Tools.*
111 9 zasdman
112 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.
113 1 Phaelae
114 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*.
115 1 Phaelae
116 1 Phaelae
Now hit F7 and wait. You are now compiling, and this could take awhile…
117 1 Phaelae
118 1 Phaelae
When that’s done, hopefully you will get a message along the bottom saying that everything was successful.
119 1 Phaelae
120 1 Phaelae
Now let’s move on to the Client/Server. 
121 1 Phaelae
122 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.
123 1 Phaelae
124 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.
125 1 Phaelae
126 1 Phaelae
127 9 zasdman
128 9 zasdman
h2. *4. Setting up Apache/MySQL/PHP*
129 9 zasdman
130 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.
131 5 Phaelae
132 5 Phaelae
Download and install this:
133 5 Phaelae
http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe
134 5 Phaelae
135 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:
136 5 Phaelae
_xampplite -> apache -> conf -> extra_
137 5 Phaelae
138 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:
139 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._
140 5 Phaelae
141 6 Phaelae
Listen 40916
142 5 Phaelae
<VirtualHost *:40916>
143 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
144 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
145 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
146 5 Phaelae
     AllowOverride All
147 5 Phaelae
     Order allow,deny
148 5 Phaelae
     Allow from all
149 5 Phaelae
  </Directory> 
150 5 Phaelae
  ServerAdmin admin@localhost
151 8 MMOInteractive
  DocumentRoot "x:/source/code/ryzom/tools/server/www"
152 5 Phaelae
  ServerName localhost
153 5 Phaelae
</VirtualHost>
154 5 Phaelae
<VirtualHost *:80>
155 5 Phaelae
  <Directory "x:/source/code/ryzom/tools/server/">
156 5 Phaelae
     Options -Indexes FollowSymLinks MultiViews
157 5 Phaelae
     IndexOptions FancyIndexing FoldersFirst NameWidth=*
158 5 Phaelae
     AllowOverride All
159 5 Phaelae
     Order allow,deny
160 1 Phaelae
     Allow from all
161 1 Phaelae
  </Directory> 
162 1 Phaelae
  ServerAdmin admin@localhost
163 5 Phaelae
  DocumentRoot "x:/source/code/ryzom/tools/server/admin"
164 5 Phaelae
  ServerName localhost
165 8 MMOInteractive
</VirtualHost>
166 5 Phaelae
167 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).
168 5 Phaelae
169 9 zasdman
This time click on the *Start* button to the right of where it says *Apache*.
170 9 zasdman
171 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.
172 5 Phaelae
173 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_.
174 5 Phaelae
175 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.
176 7 Phaelae
177 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_.
178 7 Phaelae
179 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_.
180 7 Phaelae
181 7 Phaelae
182 7 Phaelae
*To be continued...*