RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

RunUO 2.2 with Nerun's Distro for openSUSE 12.1 with mono

Ixtabay

Sorceror
This is a brief guide to getting RunUO 2.2 (latest as of 9 Feb, 2012) along with Nerun's Distro up and running on an old/extra computer using openSUSE Linux and Mono. I followed these steps last night and was able to get RunUO up and running from scratch in about an hour.

You will need:
  • Patience
  • An old computer, herein after referred to as “Your RunUO Server,” with at least 512kb and P4 (or AMD equivalent),at least 1 USB port, an ethernet port, and a DVD drive. You can also use the DVD image to create a bootable USB drive, but we will not cover that in this guide. (You should be able to find that information quickly if you google it.)
  • A blank DVD
  • A USB dive with at least 2GB of free space.
  • Internet connection
  • Ultima Online installed on your client/main computer patched up to 7.0.19.0
1. Dust off your RunUO Server, connect it to your router/hub for internet/network access, and backup any files on it you wish to keep, because the hard drive will be wiped during installation.
2. On your main computer, download the openSUSE 12.1 DVD (4.7GB) and burn it. Here is the URL: http://software.opensuse.org/121/en
3. Boot your RunUO Server from the openSUSE DVD you just burned and install with defaults. I recommend using the default KDE desktop.
4. After about 10-20 minutes, depending on the speed of your RunUO Server, installation will complete and reboot. Remove the openSUSE boot DVD for now and let your RunUO Server boot with the new installation of openSUSE 12.1.
5. Once you are logged in to openSUSE, click openSUSE's equivalent to the windows START button, in the lower left corner of the screen. This little green circle emblazoned with a chameleon head is called the “Kickoff Application Launcher.” Select “Computer,” and then “Install/Remove Software.” You will be prompted for your user password. Search for “mono,” and then click the box next to “mono-complete.” Then, click the “Accept” button. You will be prompted to reinsert your openSUSE 12.1 installation DVD. The installation will take a few minutes.
6. Next, you will need to copy the UO client from your main PC to your RunUO Server. For this, use a USB drive. Copy your Ultima Online folder with all contents to your USB drive, then copy from your USB drive to your home folder.
7. Now you are ready to download and compile RunUO. Launch “Konsole” on your RunUO Server and enter the command “pwd” to verify you are in your home folder. You should see the command return “/home/<yourUserName>.” If not, enter “cd /home/<yourUserName>” (i.e. “cd /home/ixtabay”)
8. Download the latest RunUO source with the following command:
svn export http://svn.runuo.com/repos/runuo/devel/

9. This will export the code to a folder called “devel.” Rename this folder to runuo with the following commend:
Code:
mv devel runuo
10. Change to the runuo folder by entering the command:
Code:
cd runuo

11. Now compile RunUO.exe with the following command:


Code:
gmcs -optimize -unsafe -d:MONO -out:RunUO.exe -win32icon:Server/runuo.ico -recurse:Server/*.cs

12. Create the RunUO.exe.config file with the following commands:
Code:
echo "<configuration>" >> RunUO.exe.config
echo " <dllmap dll=\"libz\" target=\"libz.so.1.2.5\"/>" >> RunUO.exe.config
echo "</configuration>" >> RunUO.exe.config
13. Now, your server is ready to run, but you will have no NPCs, monsters, etc. So, let's grab NERUN's latest. For more information about Nerun's Distro check here (http://www.runuo.com/community/threads/runuo-2-1-neruns-distro.457586/) Go back to your home folder, back up your current work, then create and enter a folder called “neruns” with the following commands:

Code:
cd ..
tar -cvxf runuo-backup.tar /runuo
 
mkdir neruns
cd neruns
svn export http://runuo-nerun-distro.googlecode.com/svn/trunk/Distro%20for%20RunUO%202.2/Data/
svn export http://runuo-nerun-distro.googlecode.com/svn/trunk/Distro%20for%20RunUO%202.2/Scripts/

14. Now that you have downloaded the Data and Scripts folders from Nerun's repository, you will need to copy then to your runuo folder, overwriting any existing. You can do this graphically with openSUSE by copying Data and Scripts from the neruns folder and pasting them into your runuo folder, or via command (note, replace <yourUserName> with your user name i.e. “bob”)

Code:
cp -rf /home/<yourUserName>/neruns/ /home/<yourUserName>/runuo/

15. You will need to update one additional file to avoid crash due to a known issue. In your runuo/Scripts/Mobiles folder, replace the existing BaseCreature.cs with the one Nerun links in this post: http://www.runuo.com/community/threads/runuo-2-1-neruns-distro.457586/page-8
16. Now, you will need to open your openSUSE firewall in order to allow connection from your client. Click the “Kickoff Application Launcher” (little green circle bottom left like START button on Windows) and enter “firewall” in the search box. Select the Firewall application and you will be prompted for your password. Enter your password, then click “Custom Rules” for “Internal Zone” and click “Add.” Enter the following values:

Source Network: 0/0
Protocol: TCP
Destination Port: 2593
Source Port: 2593
Additional Options: (just leave this blank)

Then click “Add,” “Next,” and “Finish.”

17. One more step before you launch. You will need to set the Data path to the “Ultima Online” folder (the UO client your copied over in Step 6.) To do this, browse to /home/<yourUserName>/runuo/Scripts/Misc and edit the file DataPath.cs. On line 16, change to:
private static string CustomPath = @"/home/<yourUserName>/Ultima Online";
18. Save DataPath.cs, change to your runuo folder and launch! From Konsole:
Code:
cd /home/<yourUserName>/runuo
mono RunUO.exe
19. RunUO will launch and begin listening. Now connect with your client from your main computer using Razor.

If you experience any errors, please post here.

Cheers,

Ixtabay


--------------------------- added 2/9/2012

You will need to edit: /runuo/Scripts/Customs/Nerun's Distro/New/Engines/Staff Runebook/Main.cs

Find:
Code:
        public static string SavePath = "Saves\\Staff Runebook"; // "ROOT\..."

Change to:
Code:
        public static string SavePath = "Saves/Staff Runebook"; // "ROOT\..."

The original code will create a folder named "Saves/Staff Runebook" instead of creating nested a folder named "Staff Runebook" within the existing "Saves" folder.
 

berlinuo

Wanderer
according to this
Code:
cp -rf /home/<yourUserName>/neruns/ /home/<yourUserName>/runuo/
I should copy the neruns-folder into the root directory of RunUO. Is that correct?
 

berlinuo

Wanderer
[EDIT]
This command in the tutorial is wrong
cp -rf /home/<yourUserName>/neruns/ /home/<yourUserName>/runuo
This results in having a new folder called "neruns" in/home/<yourUserName>/runuo
It doesn't merge anything, it just copies the folder to another location

The correct syntax to merge files is:
cp -rf /home/<yourUserName>/neruns/* /home/<yourUserName>/runuo
 

berlinuo

Wanderer
after merging files you will have to delete nerun's dupicate in runuo/Scripts/Custom/Nerun's Distro/ML
I used the following command to find&delete every duplicate
Code:
find . -name "FILE-TO-DELETE"-exec rm {} \;
 

piggysmc

Sorceror
Ok so i tryed to use this guide to set up a sever and i get this
Scripts: Compiling C# scripts...failed (36 errors, 0 warnings)
Errors:
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/LadyJennifyr.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `LadyJennifyr'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/LadyMarai.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `LadyMarai'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/MasterJonath.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `MasterJonath'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/MasterMikael.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `MasterMikael'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/MasterTheophilus.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `MasterTheophilus'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/RedDeath.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `RedDeath'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Bedlam/SirPatrick.cs:
CS0101: Line 10: The namespace `Server.Mobiles' already contains a definition for `SirPatrick'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Labyrinth/Miasma.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Miasma'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Labyrinth/Pyre.cs:
CS0101: Line 11: The namespace `Server.Mobiles' already contains a definition for `Pyre'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Labyrinth/Rend.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Rend'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Painted Caves/Grobu.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Grobu'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Painted Caves/Lurg.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Lurg'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Palace of Paroxysmus/Putrefier.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Putrefier'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CorporealBrume.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `CorporealBrume'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CrystalDaemon.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `CrystalDaemon'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CrystalLatticeSeeker.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `CrystalLatticeSeeker'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CrystalSeaSerpent.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `CrystalSeaSerpent'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CrystalVortex.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `CrystalVortex'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/CrystalWisp.cs:
CS0101: Line 7: The namespace `Server.Mobiles' already contains a definition for `CrystalWisp'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/MantraEffervescence.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `MantraEffervescence'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/Protector.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Protector'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Prism of Light/UnfrozenMummy.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `UnfrozenMummy'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Sanctuary/Chiikkaha.cs:
CS0101: Line 10: The namespace `Server.Mobiles' already contains a definition for `Chiikkaha'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Sanctuary/MougGuur.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `MougGuur'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Sanctuary/Szavetra.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `Szavetra'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Changeling.cs:
CS0101: Line 15: The namespace `Server.Mobiles' already contains a definition for `Changeling'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Gnaw.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Gnaw'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Guile.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Guile'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Irk.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Irk'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/LadyLissith.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `LadyLissith'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/LadySabrix.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `LadySabrix'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Malefic.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Malefic'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Silk.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Silk'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Spite.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Spite'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Swoop.cs:
CS0101: Line 9: The namespace `Server.Mobiles' already contains a definition for `Swoop'
+ ../.local/share/Trash/files/runuo 3/Scripts/Mobiles/Monsters/ML/Twisted Weald/Virulent.cs:
CS0101: Line 8: The namespace `Server.Mobiles' already contains a definition for `Virulent'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again
any one know why
 

piggysmc

Sorceror
yah u undr stand tha just can find the scripts emtied the trash re installed and moved all other ruo folders to a jump drive still same prob gerr

i think i foun the prob
 
this is all most confusing what ever happened to self extracting modifications, all this code but they neglect the one piece of the puzzle that would make it all work with one download
 
Top