- Joined
- Sep 26, 2010
- Messages
- 22
- Reaction score
- 17
Here is my guide to running the Talisman Online server from a Windows machine with Linux in a VM. All links will be posted at the end instead of scattered throughout the guide so you can download all them at once or one at a time, which ever you choose. This is basically a 4 stage project:
1. Setting up the Virtual Server
2. Setting up MYSQL
3. Setting up the network so you can see the Virtual Server
4. Setting up the game server
Those are the steps you will need to follow and in that order to set up this game. Step one can be skipped if you are running this from a separate computer and step 3 becomes super easy also if you are doing this since you don't have to play with any network settings. Lets get started!
First of all if you already feel confident and are just using this guide to figure out what mistakes you made, here is a breakdown of all the sections:
Introduction
Setup Windows
Setup Virtual Box
Installing program in Ubuntu
Network Setup
Windows 7 Network Setup
Windows XP Netowrk Setup
Ubuntu Network Setup
Testing Network
Alternate was using NAT
Setup MySQL
Game Server
Account Creating in Navicat
Downloads
Credits
Possible Errors
So if you already know you have the network up and MySQL runs perfectly, then you can skip right to the Game Server part. Just remember though that by skipping parts you could be missing something that is causing your error. I took two whole days writing this tutorial and trying to make it as detailed as possible, so take advantage of all the information in here if you are stuck before asking questions. If you are stuck though I will be happy to address your questions!
ENTER is assumed to be pressed for each command unless I specifiy otherwise. When I want to point out specific menu names, I will put them in all
caps so when I say click FILE, that means you are looking for FILE and not for file or file and. I wanted to make this as simple as possible and this is the general format I use for all my tutorals. Hopefully everyone understands this and it makes it easier for them to follow. I am actually starting from scratch and typing this as I go so that my guide doesn't miss anything, if I do for some reason miss something please feel free to let me know because the point of this is to make sure everyone can setup the server
When I say something like Ctrl+t, shirt+y, or Ctrl+Alt+del this means that you hold down every key and press the last key. so Ctrl+t means to hold Ctrl down and press the t key whild Ctrl+Alt+Del means to hold down Ctrl and Alt at the same time and press Delete. I use these terms quite a bit so get use to them.
First we need a folder to work from. Hold the WINDOWS button and press R, this brings up the run command. Type in "Explorer". It doesn't matter where you create the folder as long as you know how to access it. I will make it simple for those who struggle with guides so if you do put the folder somewhere else, please make sure you remember where you placed it or else you will have problems. I also used this folder to put all my downloaded files into so that everything was in one place. For this guild, click on MY COMPUTER if you are in WIN XP or if you are in Windows 7 click OS(C which is under Computer. In win XP once you click on MY COMPUTER you click on C:. Now for both Windows version this will bring up folders and files on the right side. Right Click anywhere in that window and then on that menu goto NEW and then FOLDER. Click on that and a new folder with the name NEW FOLDER will be created but you can rename that immediately as it will be highlighted. Rename it to TOServer!
Now that you have this nice folder setup, you have a place to put all the files you will be using. This is a good time to move all the downloaded files to it. The files you want to put in here are Database files and your Ubuntu ISO there. I won't explain how to do this since this is basic Windows 101 but if you struggle with this you should ask someone you know first since most people generally know how to do this and it is a pain to explain over a forum, it will benefit you from not having to wait so long for a reply this way. If you don't know anyone, I will of course assist you.
Now install Virtual Box on your computer. This will allow you to run Linux. You can also install Navicat if you like, you won't be using it just yet but at least you can have it ready for when we will use it. Navicat will go on Windows for this tutoral.
Now that you setup Virtual Box, it is time to install Ubuntu onto your new blank operating system. Click on your newly created space (mine says Talisman Server) and then click START at the top. A new box will open and you will need to remember to press the RIGHT CTRL to leave the window if you are a keyboard shortcut user like me, your mouse though will go between the window and your WIndows Operating System without a problem once you get it setup. You will get a first run window appear, click NEXT. Now you need to point to the file you downloaded for Ubuntu, click the folder icon on the right. At the top, cllick ADD. Wow, the same window again, go to your folder and choose the "ubuntu-10.04.1-desktop-i386" file. I put this one in quotes. Once you double click it, click SELECT. Now you see it in the edit box, click NEXT and then click FINISH.
You will get messages now you can read and click ok too. These are reminder messages to how Virtual Box works. I suggest getting use to them.
Now as your new operating system loads, you will have different options for the installation. The first one I choose INSTALL UBUNTU 10.01.1 LTS and
English was already highlighted on the left. THe rest are all generic questions you can answer yourself like what timezone you are in and what keyboard you are using. You will get to an option you want to choose ERASE AND USE THE ENTIRE DISK. This doesn't touch your main operating system, just the virtual file you created. Mine was 8 GB even though it says 8.6 GB. Once you are finished with the questions, your operating system will install!
Note - You may also go in settings while Linux is closed and remove the ISO file from the virtual CD-ROM / DVD so that it doesn't always try to install each time, clicking cancel every time I reboot got annoying to me.
"ps aux | less" (Tell you which processes are running)
this means you type ps aux | less and the () tells you what it is doing. This way you are not lost. Remember that this guide is for those who don't know anything about Linux so they can follow. Now that my explanation is complete, lets start setting up Linux to host the server. once your operating system reboots (had to do it twice for me) log in using the password you created. Click on APPLICATIONS, ACCESSORIES, and then TERMINAL. Now the real work begins.
"sudo apt-get install mysql-server" (This installs mysql. sudo is the command to run something as root user so you will need to put in your password each time you use it, but this is to make sure you don't do anything that could mess up Linux so it is a good thing. The apt-get allows you to install, remove, or update programs just like Windows uses the Program Manager in the Control Panel, except this is easier once you get the hang of it because it also auto-updates in one command every program for you! It will also ask you for a password for mysql. This is important to remember as it is your root password so don't forget it!)
"mysql -u root -p" (Log into mysql. -u is saying you want to log in as user root and -p means you want to log in using a password, without a password you can't log in unless the password field is blank for a user so for root you have to have it. you can type -ppassword if password is your password, -p alone is easier for this guild because it will ask you for the password instead. Type in your password so you are at the mysql> prompt.)
"create user 'navicat'@'%' identified by 'password';" (This is a temporary account we are creating to install the database. We will be deleting it so don't worry about changing the password to something else, leave it as password!)
"grant all on *.* to 'navicat'@'%' identified by 'password';" (This allows the user navicat to do everything we need it to do!)
"flush privileges;" (This updates the grants for all users!)
"exit" (Leave mysql for now)
"gedit sudo /etc/mysql/my.cnf" (We need to edit the configuration so that our host can access the network)
Now scroll down to where you see bind-address and put a "#" in the very front of this line. It should read:
#bind-address = 127.0.0.1
This makes it so it binds to all the addresses so every network card it will bind to port 3306. You could always change this port and this is actually a good idea if you host it publically. But for simplicity, we are leaving it at 3306! CTRL+S to save and CTRL+Q to quit the application in that order. Now type "sudo /etc/init.d/mysql restart" and this concludes this section, onward to networking which will ne the biggest pain!
For the first method we first must setup windows because we need the new adapter for the Linux settings! This is an important step because you need Windows to talk to your Virtual Machine across the internet because Linux will be hosting your server while you will be connecting to it from Windows. There are other ways to create an internet connection with your Virtual Machine which you can search for on the internet. I personally like this way because it is easiest I found to set up but you can explore other ways. I split this into sections, first the windows version you have, then the Ubuntu section. After these three sections I explain how to test to make sure these connections works. This way if something goes wrong you can play around with your settings to get it working.
Because I was using a wireless connection on my computer I couldn't use a bridge, so instead I did a feature in Windows 7 called connection sharing. If you right click on the adapter and choose PROPERTIES, it will bring up a new window. Then I clicked SHARING. Clicking the first box and put VIRTUAL HOST-ONLY NETWORK in the Home Network Connection drop box. Then clicking OK allowed me to give Ubuntu internet while keeping internet myself. This is because the bridge would think for some reason that my Virtual Machine is the main internet connection before the wireless can reconnect. This is a setting that needs to be fixed in a Windows 7 update. For now, connection sharing works for me.
Enable it and put NAT in that box. Click ADAPTER 3 and after enabling that put the option of VIRTUAL HOST-ONLY ETHERNET ADAPTER. Then click OK. I do this so that if something goes wrong, NAT will still give you internet but you want to get internet through the first option. All 3 though will try so this gives us 3 different attempts to gain internet but NAT will not allow us to talk to our Windows system so we need one of the other 2 to work by getting an IP address. YOu can now click on START to restart your Virtual Box now.
In Ubuntu you will use "ifconfig" to see your IP Address and settings. The settings to release your network adapters is "sudo dhclient -r" and then to renew them is "sudo dhclient". You will have to do this often since playing with the windows settings will not be automatically detected inside the Virtual Machine.
What I did was I played around with my settings until I could access
To test to see if you have a connection, go back into your windows command prompt and type the line I am about to give you. Change the IP I put in as 0.0.0.0 to the IP address you got from the Virtual Host-Only Network ip address. Type "mysql -h 0.0.0.0 -u navicat -p" and see if you get the password prompt from mysql. If you do, you have a connection, if not try all the other IP addresses. You definitly have a connection with both computers so one of them should work. If not, play with your settings and try again. When you got a connection, write this IP Address down as VIRTUAL HOST IP ADDRESS. You will need it for the settings for Navicat.
This will work in both Windows XP and Windows 7. Instead of doing ANYTHING from above, from windows go to place where you can see your adapters. Right click VIRTUAL HOST-ONLY NETWORK and then click PROPERTIES. Now there should be a list of connections for your adapter. You want to highlight Internet Protocol Version 4(TCP IPv4). Then click PROPERTIES. In windows XP it might be something similiar to that name but generally the PROPERTIES button is shaded out so you can't click it unless you highlight this Protocol or the version 6 protocall which is rarely used. Now a new windows open and what you want to do is create one of 2 things, you can either use the settings I am about to give you or you can create your own based on your network Most networks use 192.168.1.X as an IP Address with the router being 192.168.1.1, if this is the case you can choose an IP address in this range that isn't part of the DHCP settings of the router. If you don't know your routers setting like I don't since I am sitting at a bar as a write this, choose something far from the range. I got 192.168.100.100 where I am at and I am the only laptop here which leads me to believe the DHCP is is choosing numbers from 100 on up. So I went with 192.168.100.69 for the host and 192.168.100.70 for the Virtual Linux. Doing this with Windows 7 and using sharing connection (not bridging) would allow your Virtual Machine to still access the network since it has an IP address in the range of the router. Yes, I am a sly person! If you get 192.168.1.5 as an IP address on your host computer, then pick something really high like 192.168.1.240 (Don't go above 255 as 255 is the highest number you can use like 255.255.255.255). Here are the generic settings:
IP Address 192.168.69.1
Subnet mask 255.255.255.0
To be able to edit these boxes you will have to click USE THE FOLLOWING IP. Then click OK and this will be the IP that your Virtual Box will use to connect to your host!
Now go to linux and type in the following commands
"sudo nano /ect/network/interfaces" (This will open a new window)
Now the next section I am going to put spaces in front to signify the start and end so you can easily see better how it works. Just make sure you get everything in exactly as I type it remembering case sensitivity!
auto lo etho2
iface lo inet loopback
iface eth0 inet static
address 192.168.69.69
netmask 255.255.255.0
gateway 192.168.69.1
To save this you must hold the LEFT CTRL and press X. Then it will ask you if you want to save (Y or N), press Y and you will will be returned to the terminal screen. Remember you can changed the IP Address and gateway, the gateway MUST match the IP you set for the windows IP for VIRTUAL
HOST-ONLY NETWORK. That is the most important thing to remember if you create your own settings. Now for the next file, type "sudo nano /etc/resolv.conf" and then put this in there
nameserver 192.168.69.1
put it after the other nameservers but do not remove anything else or you will not be able to access the internet anymore. I made this mistake the first time so you are learning from my mistakes! Press the LEFT CTRL+X to save again and then Y return to the terminal. You are almost done, type "sudo /etc/init.d/networking restart" to restart your connection. If you want to see if it worked, you can type "ifconfig" but we have a better way. Return to your windows now. If the command prompt window is open, go to it or do the WINDOWS KEY + R to bring up the run box. Type "cmd" and this will bring up the command prompt. In the command prompt type "ping 192.168.69.69" and see if you get something like this:
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
This means we can see the virtual machine, PERFECT!!!!!!!
Just to be safe, if you can't connect you can go to the COMMAND PROMPT in Windows and type "mysql -h 192.168.69.69 -u navicat -ppassword" and see if you can get a connection. If it says "Can't connect to MySQL server on ..." it means you can't see mysql. You need to type "ping 192.168.69.69" and see if you get the Reply statement which is typed above. If you do, then you need to go back to the setting up mysql because you made a mistake, if you don't get the Reply, you are not pinging your network properly. Remember that if you used a different IP address to use that specific IP Address instead of 192.168.69.69!
Now back to Navicat. You will eventually get Connection Successful. It won't happen instantly, so it it hangs for a moment, be patient! Then click OK! We are ready to setup the databases! Double click on VIRTUAL HOST TALISMAN (or whatever you named it) and it will expand. Now you want to right click it. We double clicked it so that we could connect to it, now that we are connected we can do the work.
Right click the server name (VIRTUAL HOST TALISMAN) and then left click NEW DATABASE. A new window will open up. Now this first time type in the first edit box "db_account" and click OK! Now repeat this three more times and create "db_gmtool", "db_game", and "db_log". Simple enough, right?
Remember those files I said to put in C:\TOServer? Well, this is how we use those files. Double click "db_account" and the blue symbol will turn yellow! ACCESS! Now we right click it and click on EXECUTE SQL FILE! You will see the little folder with the ... in it on the right of the edit box, click that! Navigate to C:\TOServer and notice you will see 4 files there. Guess which one you click ... if you said db_account then you were right! But notice the other 4 names before you click it because you are going to repeat this process for the other 3 databases for those files.
Each one is named exactly how the file is named. Looks like our friend made this VERY easy for you! Double click the "db_account" now and click START. This one is the largest of the files and takes the longest to update. You can run the others while this one is running or wait, whichever you choose. When they are done, click CLOSE and the window will close.
Now the database is setup, lets close the root access to navicat because it isn't a good idea to have it. We only did it to setup the database from windows. Close out Navicat and return to Linux. Type "mysql -u root -p" and then put in your password for root (hope you didn't lost it at this point because if you did, you should not be hosting a server)! Now that you are in mysql.
We don't want navicat to have super access, if we need it we can use root on the virtual machine. We don't need kids logging in using our navicat account to change things on us or mess up mysql. So type these instructions:
"revoke all privileges from 'navicat'@'%';"
"grant all privileges on db_account.* to 'navicat'@'%' identified by 'password';"
"create user 'talismangame'@'localhost' identified by 'gameaccess';" (You can change gameaccess to anything you like, just remember the password for later)
"grant all privileges on *.* to 'talismangame'@'localhost identified by 'gameaccess';"
"grant grant option on *.* to 'talismangame'@'localhost' identified by 'gameaccess';"
"flush privileges;"
First of all you NEVER use root to connect to mysql as a user and the game is considered a user. The game DOES need root privileges which I learned from the errors I got so this solves this problem. You learned again from my mistakes. But since this account is @localhost, someone outside the network can't log in. Only someone with the account name and password on the actual computer (not windows either but inside Virtual Box on Linux) can actually log in so it isn't too bad.
Now navicat can only access the one database, db_account. This is so that we can add users with navicat at will but at the same time no give access to anything else. We also created an account for the game server (talismangame) which we will need for the server files! One last thing we will do is change the password to Navicat so that no kiddie will access your server since it is open for network connections. type "set password for 'navicat'@'%' = password('new password');" where "new password" is something of your choosing! I don't like leaving anything forgotten and this is why this tutorial is VERY LONG! Oh, don't forget to type "exit" to get out of mysql.
"mkdir talisman"
"sudo apt-get install unrar-free"
"mv ./Downloads/* ./talisman"
"cd talisman"
"unrar x game.rar"
Now we have 4 new directories (db, game, login, and files). Lets work on the server settings!
"cd db"
"gedit db_server_user.ini"
In this file you want to change all the UserName from "root" to "talismangame" and talismangame must be inside the "" like root is. Then the password fields need to read whatever password you choose earlier for your password for the talismangame account you created in myswl. This is so that your game server can access the mysql server and make changes as needed. You also need to add the following information which is is indented for easy reading.
[db_login]
Server = "localhost"
Port = 3306
Database = "db_account"
UserName = "talismangame"
Password = "new password"
The password field won't say "new password", it will be your self created password for this project. Now Ctrl+S and press Ctrl+Q to exit. Now lets continue ...
"gedit guard_user.ini"
Change the PublishServerIP to "127.0.0.1" because this is the universal loopback. You could also name it your IP Address (192.168.69.69 or whatever it is but using 127.0.0.1 will be easier because it is universal). Ctrl+S and then Ctrl+Q.
"pwd"
This will tell you the absolute path to your current directory, it will same something like "/home/OWNER/talisman/db" and you need to write this down because you will need it. Everytime I say OWNER you need to replace it with whatever name your terminal just told you so please make sure you pay close attention to this because your server will not run unless you do this properly!
"gedit run.sh"
This is the final file for this directory, put in this information
#!/bin/sh
cd /home/OWNER/talisman/db
ulimit -c unlimited
rm *.pid -f
/home/OWNER/db/guard -c /home/OWNER/db/guard_user.ini
What this does is basically goes to the directory and runs the guard with the guard_user settings. Press Ctrl+s and Ctrl+Q. Onward to the next directory!
"cd ../game"
"gedit server_user.ini"
Replace every ConnectIP with "localhost". Replace ListenPortal and Location with your IP address. If you put 127.0.0.1 as as the ListenPortal you won't be able to connect, you need the 192.168.69.70 number or the one you used. You will also put this IP Address at the bottom in the last section next to all the sv. You can change the Description and name to anything you like, whatever you change the name to will appear on your server list like Brilliant Diamond or Big Fish. For the sake of this guide I will say "Dark" as the name.
"gedit guard_user.ini"
Same as before, only value to change is the PublishServerIP to "127.0.0.1". Ctrl+S and Ctrl+Q!
"gedit run.sh"
Make this read:
#!/bin/bash
cd /home/OWNER/talisman/game
ulimit *.pid -f
rm *.pid -f
/home/glenn/talisman/game/guard -c /home/glenn/talisman/game/guard_user.ini
Now Ctrl+S and Ctrl+Q. I don't think I need to continue telling you to do that so I will just say save and quit from this point on.
"mv game_server.evp game_server.evp.old"
"mv ../game_server.evp ./"
"cd ../login"
"gedit guard_user.ini"
Same thing, change PublishServerIP to "127.0.0.1" and Save/Quit.
"gedit login_user.ini"
Change all the IP Addresses to "127.0.0.1" and at the bottom sv1 and sv2 values to also to "127.0.0.1" and Save/Quit.
"gedit run.sh"
Here you go:
#!/bin/sh
cd /home/OWNER/talisman/login/
ulimit -c unlimited
rm *.pid -f
/home/glenn/talisman/guard -c /home/glenn/talisman/guard_user.ini
Save and Quit!
"cd .."
"chmod 777 ./db/*"
"chmod 777 ./game/*"
"chmod 777 ./login/*"
"sudo apt-get upgrade --" (This ugrades all installed packages, takes about 20 minutes so play Plants vs Zombies while you wait)
At this point I ran into an error with the login/run.sh file stating .run.sh: /bin/sh^M: bad interpreter: No such file or directory. This error means that original file was not converted correctly to linux/unix from the original operating system, so we do this:
"cd login"
"gedit run2.sh"
Now type in all the details for the login/run.sh from above. Once you are done Save and Quit. Then typing "./run2.sh" should run properly. Easy fix but I like things uniform so so will do this:
"mv run2.sh run.sh"
Now we need to fix another problem. Go to Firefox and put in the the website
Now the system will reboot. We created run_server.sh so that we can type it to start the server but for the first run we are going to do it manually to make sure there are no types and everything was done correctly. I did this myself and found out I accidently forgot to give talismangame privileges to one of the databases because of an error I got and this guarantees that everything is up and running. If you get errors you can work them out based on the type of error you get. For now lets start
"cd talisman"
"cd db"
"rm *.pid -f"
"./run.sh"
Now you will need to open up another terminal since this one will be locked in the db function. Then continue:
"cd talisman"
"cd login"
"./run.sh"
Now the login server should run and this doesn't tell you anything so just continue.
"cd ../game"
"./run.sh"
Now this will say it is not connected for a while, but eventually it will connect! Give it about 2 minutes. Then it will eventually start saying "server tock time = " and then a bunch of numbers. Time to go to windows!
Goto Windows and install the client. When it asked me for a folder and suggested "TalismanOnline", I added Private to the end "TalismanOnlinePrivate" and finished the install
The final chapter of this tutorial! Go back into Navicat and if you changed the password, make sure you changed it in the settings. Go to "db_account" by double clicking it and then select "tables" from the stuff that drops down. On the right side double click "t_account". A new window opens up. First of all you can get rid of all the accounts from 2 - 25. Just keep 1 in there because you will just edit it. Under name put your account name and leave pwd untouched. take test001 out of pw2 because that won't be your password. Now click on FILE and then QUERY TABLE. Now you will see only one line there that says "SELECT * FROM 't_account';" Replace that with this line and replace the words NEW PASSWORD with a password of your choosing!
"UPDATE t_account set pwd=MD5('shield0') where accountid='1';"
Now click RUN and it should open up a little box at the bottom that says Affected row: 1 meaning it worked. The password in mysql is usually password('password') but the game itself decided to use MD5('password') instead. This was a VERY GOOD pick up by the original writer which made it very easy for me to tell you what to write! Now close it out and click on on t_account again. Notive the pwd column is different. It worked and we have a login!
Virtual Box ~
Navicat Lite ~
Database Files ~
Talisman Client ~
English Server Files ~
libmysqlclient15 Files ~
English Server Files ~ Don't click any of the big buttons that say DOWNLOAD, this is a trick. Scroll to the bottom and there will be in VERY SMALL lettering "Save file to your PC: click here", well click the CLICK HERE part and it will allow you to download! I had to search for this and almost missed this!
Navicat Lite ~ When you originally go to this web page you will see tabs. You need to click on SQLite or else you will be downloading their premium trail version. The SQLite doesn't have as much features but has exactly what we need to make this easy and fast. The premium trial will expire and then you won't be able to use Navicat Lite to add users later if you choose. I don't like complications, download SQLite!
alonew ~ The person who made all this possible! (talisman online Full server+client files - RaGEZONE - MMORPG server development forums)
alladyn5 ~ Compiled the English Server Files for us! (http://forum.ragezone.com/f603/talisman-online-full-server-client-files-656662/index7.html)
saccydog ~ Translated everything to English which wasn't easy! (http://forum.ragezone.com/f603/talisman-online-full-server-client-files-656662/index6.html)
The first error that comes to mind and that I got myself was the libmysqlclient.so.15 shared library error. This is an easy fix though. I tried many methods only to learn that the upgraded libmysqlclient.so.16 was not backwards compatible and creating a symlink proved that. So you need to download and install the files. You can download them through firefox at the link provided in the download section and firefox will give you the option to automatically install so you have very little work to do! This error took me a lot of time to figure out as I had to do a lot of research online and tested out many ideas people posted before someone came up with the right solution. So I am not surprised I didn't see a solution in the forum topic about this and no one should be ashamed of not finding this because I have UNIX experience and I am a computer programmers; it took me a while to figure this out! So someone new to Linux I would be shocked and impressed if they found the answer themselves.
1. Setting up the Virtual Server
2. Setting up MYSQL
3. Setting up the network so you can see the Virtual Server
4. Setting up the game server
Those are the steps you will need to follow and in that order to set up this game. Step one can be skipped if you are running this from a separate computer and step 3 becomes super easy also if you are doing this since you don't have to play with any network settings. Lets get started!
First of all if you already feel confident and are just using this guide to figure out what mistakes you made, here is a breakdown of all the sections:
Introduction
Setup Windows
Setup Virtual Box
Installing program in Ubuntu
Network Setup
Windows 7 Network Setup
Windows XP Netowrk Setup
Ubuntu Network Setup
Testing Network
Alternate was using NAT
Setup MySQL
Game Server
Account Creating in Navicat
Downloads
Credits
Possible Errors
So if you already know you have the network up and MySQL runs perfectly, then you can skip right to the Game Server part. Just remember though that by skipping parts you could be missing something that is causing your error. I took two whole days writing this tutorial and trying to make it as detailed as possible, so take advantage of all the information in here if you are stuck before asking questions. If you are stuck though I will be happy to address your questions!
Introduction
Some common things you will need to know, when I give instructions to type I will always place them in "". This is so that there is no confusion.
ENTER is assumed to be pressed for each command unless I specifiy otherwise. When I want to point out specific menu names, I will put them in all
caps so when I say click FILE, that means you are looking for FILE and not for file or file and. I wanted to make this as simple as possible and this is the general format I use for all my tutorals. Hopefully everyone understands this and it makes it easier for them to follow. I am actually starting from scratch and typing this as I go so that my guide doesn't miss anything, if I do for some reason miss something please feel free to let me know because the point of this is to make sure everyone can setup the server
When I say something like Ctrl+t, shirt+y, or Ctrl+Alt+del this means that you hold down every key and press the last key. so Ctrl+t means to hold Ctrl down and press the t key whild Ctrl+Alt+Del means to hold down Ctrl and Alt at the same time and press Delete. I use these terms quite a bit so get use to them.
Setup Windows!
First we need a folder to work from. Hold the WINDOWS button and press R, this brings up the run command. Type in "Explorer". It doesn't matter where you create the folder as long as you know how to access it. I will make it simple for those who struggle with guides so if you do put the folder somewhere else, please make sure you remember where you placed it or else you will have problems. I also used this folder to put all my downloaded files into so that everything was in one place. For this guild, click on MY COMPUTER if you are in WIN XP or if you are in Windows 7 click OS(C which is under Computer. In win XP once you click on MY COMPUTER you click on C:. Now for both Windows version this will bring up folders and files on the right side. Right Click anywhere in that window and then on that menu goto NEW and then FOLDER. Click on that and a new folder with the name NEW FOLDER will be created but you can rename that immediately as it will be highlighted. Rename it to TOServer!
Now that you have this nice folder setup, you have a place to put all the files you will be using. This is a good time to move all the downloaded files to it. The files you want to put in here are Database files and your Ubuntu ISO there. I won't explain how to do this since this is basic Windows 101 but if you struggle with this you should ask someone you know first since most people generally know how to do this and it is a pain to explain over a forum, it will benefit you from not having to wait so long for a reply this way. If you don't know anyone, I will of course assist you.
Now install Virtual Box on your computer. This will allow you to run Linux. You can also install Navicat if you like, you won't be using it just yet but at least you can have it ready for when we will use it. Navicat will go on Windows for this tutoral.
Setup Virtual Box
This section we will discuss setting up Virtual Box now that you have it installed. Run Virtual Box. Click NEW and then NEXT. Type in any name you like, I went with Talisman Server. Click on the Drop Box that says Microsoft Windows and then click Linux. Then click on the Drop Box under it and makes sure it says Ubuntu (remember if you use another Linux you will need to make sure you put the proper version). Click NEXT. Now this next box is tricky because you have to determine how much RAM you want to use for the operating system. I went with 1024 (1 gig) because I have 4 gigs of ram on my laptop. Obviously a lot of you won't have this much so you will have to go with a lower value. Remember that your Virtual Box will actually use the full amount of the ram you set to it so this is an important decision. A safe decision is to go with 512 MB. After you make your decision, click NEXT. Now the option next to CREATE NEW HARD DISK should already be selected, if it isn't for some reason click it now. click NEXT, then click NEXT again. You want to select Dynamically expanding storage (this means if we select a size too big or too small, we can adjust it later). click NEXT. Remember that folder (c:\TOServer) that we created, well click on the little folder icon next to the edit box so we can point to this folder or if you choose another folder, that folder. The EXACT same instructions we used above for setting up the folder we will use now to select the folder, just instead of right clicking the right side, we will find the folder on the right and double left click it. Once you do and it opens up the folder, click on SAVE. Now our box says "C:\TOServer\Talisman Server.vdi", everything is done for us! The size I left at 8.00 GB but you can adjust that to any size you like. Remember we can change this later if we choose because of how we set up the file. This means that our operating system will only have 8.00 GB of Hard Drive space to save things too, the file itself will actually be slightly bigger then 8.00 GB because it will have our settings and other information saved in it. Remember this when deciding. I have 250 GB on my Hard Drive so I could easily make it 20 GB without touching the room I have on my laptop. Click NEXT, click FINISH, then click FINISH again.
Now that you setup Virtual Box, it is time to install Ubuntu onto your new blank operating system. Click on your newly created space (mine says Talisman Server) and then click START at the top. A new box will open and you will need to remember to press the RIGHT CTRL to leave the window if you are a keyboard shortcut user like me, your mouse though will go between the window and your WIndows Operating System without a problem once you get it setup. You will get a first run window appear, click NEXT. Now you need to point to the file you downloaded for Ubuntu, click the folder icon on the right. At the top, cllick ADD. Wow, the same window again, go to your folder and choose the "ubuntu-10.04.1-desktop-i386" file. I put this one in quotes. Once you double click it, click SELECT. Now you see it in the edit box, click NEXT and then click FINISH.
You will get messages now you can read and click ok too. These are reminder messages to how Virtual Box works. I suggest getting use to them.
Now as your new operating system loads, you will have different options for the installation. The first one I choose INSTALL UBUNTU 10.01.1 LTS and
English was already highlighted on the left. THe rest are all generic questions you can answer yourself like what timezone you are in and what keyboard you are using. You will get to an option you want to choose ERASE AND USE THE ENTIRE DISK. This doesn't touch your main operating system, just the virtual file you created. Mine was 8 GB even though it says 8.6 GB. Once you are finished with the questions, your operating system will install!
Note - You may also go in settings while Linux is closed and remove the ISO file from the virtual CD-ROM / DVD so that it doesn't always try to install each time, clicking cancel every time I reboot got annoying to me.
Installing programs in Ubuntu
I originally used Ubuntu server addition so I had to manually install things like Firefox and and the GUI. Since I had you choose Desktop, all this comes with it. Isn't life grand! Now lets start setting up your new linux operating system to run the server. First we will install MYSQL and set it up. Because of how many commands we will be using, I will type them line by line and after the command you type I will put in () any comments I have about the command. Since commands are case sensative, you will need to type them exact but I will place them in "" to make them easier to decypher. so ..
"ps aux | less" (Tell you which processes are running)
this means you type ps aux | less and the () tells you what it is doing. This way you are not lost. Remember that this guide is for those who don't know anything about Linux so they can follow. Now that my explanation is complete, lets start setting up Linux to host the server. once your operating system reboots (had to do it twice for me) log in using the password you created. Click on APPLICATIONS, ACCESSORIES, and then TERMINAL. Now the real work begins.
"sudo apt-get install mysql-server" (This installs mysql. sudo is the command to run something as root user so you will need to put in your password each time you use it, but this is to make sure you don't do anything that could mess up Linux so it is a good thing. The apt-get allows you to install, remove, or update programs just like Windows uses the Program Manager in the Control Panel, except this is easier once you get the hang of it because it also auto-updates in one command every program for you! It will also ask you for a password for mysql. This is important to remember as it is your root password so don't forget it!)
"mysql -u root -p" (Log into mysql. -u is saying you want to log in as user root and -p means you want to log in using a password, without a password you can't log in unless the password field is blank for a user so for root you have to have it. you can type -ppassword if password is your password, -p alone is easier for this guild because it will ask you for the password instead. Type in your password so you are at the mysql> prompt.)
"create user 'navicat'@'%' identified by 'password';" (This is a temporary account we are creating to install the database. We will be deleting it so don't worry about changing the password to something else, leave it as password!)
"grant all on *.* to 'navicat'@'%' identified by 'password';" (This allows the user navicat to do everything we need it to do!)
"flush privileges;" (This updates the grants for all users!)
"exit" (Leave mysql for now)
"gedit sudo /etc/mysql/my.cnf" (We need to edit the configuration so that our host can access the network)
Now scroll down to where you see bind-address and put a "#" in the very front of this line. It should read:
#bind-address = 127.0.0.1
This makes it so it binds to all the addresses so every network card it will bind to port 3306. You could always change this port and this is actually a good idea if you host it publically. But for simplicity, we are leaving it at 3306! CTRL+S to save and CTRL+Q to quit the application in that order. Now type "sudo /etc/init.d/mysql restart" and this concludes this section, onward to networking which will ne the biggest pain!
Network Setup
There are 2 ways I will show you how to do this. The easiest is the second way of using NAT to access the internet. I recommend doing it that way but the first is better if you can get the settings right. I am doing this on a laptop and my main connection is a wireless card so I used the second method even though I got the first to work. Both will work, the second gives you less problems.
For the first method we first must setup windows because we need the new adapter for the Linux settings! This is an important step because you need Windows to talk to your Virtual Machine across the internet because Linux will be hosting your server while you will be connecting to it from Windows. There are other ways to create an internet connection with your Virtual Machine which you can search for on the internet. I personally like this way because it is easiest I found to set up but you can explore other ways. I split this into sections, first the windows version you have, then the Ubuntu section. After these three sections I explain how to test to make sure these connections works. This way if something goes wrong you can play around with your settings to get it working.
Windows 7 Network Setup
Click START then CONTROL PANEL. Then click NETWORK AND SHARING CENTER. Click CHANGE ADAPTER SETTINGS. You should see at least 2 adapters in there, I have 4. You want the one that connects you to the internet. Hold down the CTRL key and click on your main internet connection and then click on VIRTUAL HOST-ONLY NETWORK. You can release CTRL now. This allows you to select both connections which you have to do. Then right click one of them and select ENABLE BRIDGE. This will create a NEtwork bridge so that your bridged connections can use your internet and get an IP address straight from the router. This is important because you will use the router's assigned IP address to talk to your Virtual Machine. You also need the new adapter that was created usually named MAC BRIDGE MINIPORT for Virtual Machine.
Because I was using a wireless connection on my computer I couldn't use a bridge, so instead I did a feature in Windows 7 called connection sharing. If you right click on the adapter and choose PROPERTIES, it will bring up a new window. Then I clicked SHARING. Clicking the first box and put VIRTUAL HOST-ONLY NETWORK in the Home Network Connection drop box. Then clicking OK allowed me to give Ubuntu internet while keeping internet myself. This is because the bridge would think for some reason that my Virtual Machine is the main internet connection before the wireless can reconnect. This is a setting that needs to be fixed in a Windows 7 update. For now, connection sharing works for me.
Windows XP Network Setup
I am sorry I won't have anything in front of me to confirm my instructions. So you may need to improvise. You will have to play with your settings until you get it setup right. The NAT will allow you to get internet through your current setup without a bridge, what you need though is for your Virtual Box to actually get an IP address your Windows can see. Once you create the bridge you can follow the diections for the Ubuntu setup. Then scroll down to the Testing connection to see if you can establish a connection
Ubuntu Network Setup
Now at this point we need to close down the Linux operating system because we need to setup the network. Click MACHING and then click CLOSE. Select POWER OFF THE MACHINE and click OK. Now go back to your Virtual Box window and click SETTINGS, then click NETWORK. I do this a little crazy so bare with me. Click the box that says NAT and select BRIDGED ADAPTER as the first drop box and the second drop box you want the name of your bridge (MAC BRIDGE MINIPORT for Windows 7, it will be the new adapter name created for XP that appeared when you created the bridge), then click ADAPTER 2.
Enable it and put NAT in that box. Click ADAPTER 3 and after enabling that put the option of VIRTUAL HOST-ONLY ETHERNET ADAPTER. Then click OK. I do this so that if something goes wrong, NAT will still give you internet but you want to get internet through the first option. All 3 though will try so this gives us 3 different attempts to gain internet but NAT will not allow us to talk to our Windows system so we need one of the other 2 to work by getting an IP address. YOu can now click on START to restart your Virtual Box now.
Network Test Windows
For windows I like using the command prompt. So hold down the Windows key and press R. Type "cmd" and click OK. This will open up the command prompt for windows. Typing "ipconfig" will give you a list of all your adapters and the data for them including the IP address for each one. This information is important. After making any changes in Windows sometimes things lock up so you will want to type "ipconfig /release" and then "ipconfig /renew" to reset the network connectins. These are important commands if you are playing with the network settings and can't seem to get both internet and a connection to the Virtual Machine at the same time.
In Ubuntu you will use "ifconfig" to see your IP Address and settings. The settings to release your network adapters is "sudo dhclient -r" and then to renew them is "sudo dhclient". You will have to do this often since playing with the windows settings will not be automatically detected inside the Virtual Machine.
What I did was I played around with my settings until I could access
You must be registered to see links
from both computers. Once I was able to, I went into windows and typed ipconfig. My IP address was on the wireless card and the IP address for the VirtualBox Host-Only Network I tested to see if it was my Virtual Network address and it worked.To test to see if you have a connection, go back into your windows command prompt and type the line I am about to give you. Change the IP I put in as 0.0.0.0 to the IP address you got from the Virtual Host-Only Network ip address. Type "mysql -h 0.0.0.0 -u navicat -p" and see if you get the password prompt from mysql. If you do, you have a connection, if not try all the other IP addresses. You definitly have a connection with both computers so one of them should work. If not, play with your settings and try again. When you got a connection, write this IP Address down as VIRTUAL HOST IP ADDRESS. You will need it for the settings for Navicat.
Alternate way using NAT (Second Method)!
Obviously if you want to host alot of people then Virtual Boxing really isn't the way to go, you should have a whole computer system dedicated to this. So since I am assuming you are only doing this to host from your host computer, this is an alternative method which I feel is the EASIEST to do and I didn't learn to do until after I did the complicated way above. The way above though allows you to port forward from the router so people from outside your network can access your server, this way will make it so only you can access your server from the host computer.
This will work in both Windows XP and Windows 7. Instead of doing ANYTHING from above, from windows go to place where you can see your adapters. Right click VIRTUAL HOST-ONLY NETWORK and then click PROPERTIES. Now there should be a list of connections for your adapter. You want to highlight Internet Protocol Version 4(TCP IPv4). Then click PROPERTIES. In windows XP it might be something similiar to that name but generally the PROPERTIES button is shaded out so you can't click it unless you highlight this Protocol or the version 6 protocall which is rarely used. Now a new windows open and what you want to do is create one of 2 things, you can either use the settings I am about to give you or you can create your own based on your network Most networks use 192.168.1.X as an IP Address with the router being 192.168.1.1, if this is the case you can choose an IP address in this range that isn't part of the DHCP settings of the router. If you don't know your routers setting like I don't since I am sitting at a bar as a write this, choose something far from the range. I got 192.168.100.100 where I am at and I am the only laptop here which leads me to believe the DHCP is is choosing numbers from 100 on up. So I went with 192.168.100.69 for the host and 192.168.100.70 for the Virtual Linux. Doing this with Windows 7 and using sharing connection (not bridging) would allow your Virtual Machine to still access the network since it has an IP address in the range of the router. Yes, I am a sly person! If you get 192.168.1.5 as an IP address on your host computer, then pick something really high like 192.168.1.240 (Don't go above 255 as 255 is the highest number you can use like 255.255.255.255). Here are the generic settings:
IP Address 192.168.69.1
Subnet mask 255.255.255.0
To be able to edit these boxes you will have to click USE THE FOLLOWING IP. Then click OK and this will be the IP that your Virtual Box will use to connect to your host!
Now go to linux and type in the following commands
"sudo nano /ect/network/interfaces" (This will open a new window)
Now the next section I am going to put spaces in front to signify the start and end so you can easily see better how it works. Just make sure you get everything in exactly as I type it remembering case sensitivity!
auto lo etho2
iface lo inet loopback
iface eth0 inet static
address 192.168.69.69
netmask 255.255.255.0
gateway 192.168.69.1
To save this you must hold the LEFT CTRL and press X. Then it will ask you if you want to save (Y or N), press Y and you will will be returned to the terminal screen. Remember you can changed the IP Address and gateway, the gateway MUST match the IP you set for the windows IP for VIRTUAL
HOST-ONLY NETWORK. That is the most important thing to remember if you create your own settings. Now for the next file, type "sudo nano /etc/resolv.conf" and then put this in there
nameserver 192.168.69.1
put it after the other nameservers but do not remove anything else or you will not be able to access the internet anymore. I made this mistake the first time so you are learning from my mistakes! Press the LEFT CTRL+X to save again and then Y return to the terminal. You are almost done, type "sudo /etc/init.d/networking restart" to restart your connection. If you want to see if it worked, you can type "ifconfig" but we have a better way. Return to your windows now. If the command prompt window is open, go to it or do the WINDOWS KEY + R to bring up the run box. Type "cmd" and this will bring up the command prompt. In the command prompt type "ping 192.168.69.69" and see if you get something like this:
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
Reply from 192.168.69.69: bytes-32 time =1ms TTL=64
This means we can see the virtual machine, PERFECT!!!!!!!
Setting up the MYSQL Database
Now that we have internet and we can see the Virtual Machine, it is time to setup the database. Go to windows and run Navicat. After Navicat is open we need to setup Navicat to talk to MYSQL on your virtual machine. Click on CONNECTION and then MYSQL from the drop down menu. A new window will open. You can put any name you like in Connection Name, I put "Virtual Host Talisman" for my connection. Then under Host Name/IP Address you want to put in the IP Address you earlier wrote down as VIRTUAL HOST IP ADDRESS. Leave port as 3306. User Name you want to put in "Navicat" and the Password field you want to put in "password" remembering it is case sensitive. Click TEST CONNECTION! It took me 4 attempts because I mistyped info while typing this tutorial so double check your fields, don't make my mistake. You get an error like ACcess denited for user blah blah@192.168.100.69 (using password: YES) it means you messed up either the User Name or Password. This is a good thing, you have a network connection to mysql meaning all the hard work is done, so either you did a type on the USER NAME or PASSWORD fields or when you created the account in mysql you did a typo with either the USER or PASSWORD. Either way it isn't too bad, just repeat the steps. Anything else went wrong, well check your fields again and click TEST CONNECTION because if you got the Reply then you know you can access the Virtual Machine, so it is a matter of seeing mysql or typing the right info in the fields.
Just to be safe, if you can't connect you can go to the COMMAND PROMPT in Windows and type "mysql -h 192.168.69.69 -u navicat -ppassword" and see if you can get a connection. If it says "Can't connect to MySQL server on ..." it means you can't see mysql. You need to type "ping 192.168.69.69" and see if you get the Reply statement which is typed above. If you do, then you need to go back to the setting up mysql because you made a mistake, if you don't get the Reply, you are not pinging your network properly. Remember that if you used a different IP address to use that specific IP Address instead of 192.168.69.69!
Now back to Navicat. You will eventually get Connection Successful. It won't happen instantly, so it it hangs for a moment, be patient! Then click OK! We are ready to setup the databases! Double click on VIRTUAL HOST TALISMAN (or whatever you named it) and it will expand. Now you want to right click it. We double clicked it so that we could connect to it, now that we are connected we can do the work.
Right click the server name (VIRTUAL HOST TALISMAN) and then left click NEW DATABASE. A new window will open up. Now this first time type in the first edit box "db_account" and click OK! Now repeat this three more times and create "db_gmtool", "db_game", and "db_log". Simple enough, right?
Remember those files I said to put in C:\TOServer? Well, this is how we use those files. Double click "db_account" and the blue symbol will turn yellow! ACCESS! Now we right click it and click on EXECUTE SQL FILE! You will see the little folder with the ... in it on the right of the edit box, click that! Navigate to C:\TOServer and notice you will see 4 files there. Guess which one you click ... if you said db_account then you were right! But notice the other 4 names before you click it because you are going to repeat this process for the other 3 databases for those files.
Each one is named exactly how the file is named. Looks like our friend made this VERY easy for you! Double click the "db_account" now and click START. This one is the largest of the files and takes the longest to update. You can run the others while this one is running or wait, whichever you choose. When they are done, click CLOSE and the window will close.
Now the database is setup, lets close the root access to navicat because it isn't a good idea to have it. We only did it to setup the database from windows. Close out Navicat and return to Linux. Type "mysql -u root -p" and then put in your password for root (hope you didn't lost it at this point because if you did, you should not be hosting a server)! Now that you are in mysql.
We don't want navicat to have super access, if we need it we can use root on the virtual machine. We don't need kids logging in using our navicat account to change things on us or mess up mysql. So type these instructions:
"revoke all privileges from 'navicat'@'%';"
"grant all privileges on db_account.* to 'navicat'@'%' identified by 'password';"
"create user 'talismangame'@'localhost' identified by 'gameaccess';" (You can change gameaccess to anything you like, just remember the password for later)
"grant all privileges on *.* to 'talismangame'@'localhost identified by 'gameaccess';"
"grant grant option on *.* to 'talismangame'@'localhost' identified by 'gameaccess';"
"flush privileges;"
First of all you NEVER use root to connect to mysql as a user and the game is considered a user. The game DOES need root privileges which I learned from the errors I got so this solves this problem. You learned again from my mistakes. But since this account is @localhost, someone outside the network can't log in. Only someone with the account name and password on the actual computer (not windows either but inside Virtual Box on Linux) can actually log in so it isn't too bad.
Now navicat can only access the one database, db_account. This is so that we can add users with navicat at will but at the same time no give access to anything else. We also created an account for the game server (talismangame) which we will need for the server files! One last thing we will do is change the password to Navicat so that no kiddie will access your server since it is open for network connections. type "set password for 'navicat'@'%' = password('new password');" where "new password" is something of your choosing! I don't like leaving anything forgotten and this is why this tutorial is VERY LONG! Oh, don't forget to type "exit" to get out of mysql.
Game Server!
This is the final stage of the project. MYSQL is setup and you can see Linux from Windows, so lets get the game server set up! You will need to download the game server files to the linux box so lets open Firefox and download them real fast. Also while you are at it download the English Server File so that we can do that one at the same time. Then you want to return to the Linux terminal and type these commands:
"mkdir talisman"
"sudo apt-get install unrar-free"
"mv ./Downloads/* ./talisman"
"cd talisman"
"unrar x game.rar"
Now we have 4 new directories (db, game, login, and files). Lets work on the server settings!
"cd db"
"gedit db_server_user.ini"
In this file you want to change all the UserName from "root" to "talismangame" and talismangame must be inside the "" like root is. Then the password fields need to read whatever password you choose earlier for your password for the talismangame account you created in myswl. This is so that your game server can access the mysql server and make changes as needed. You also need to add the following information which is is indented for easy reading.
[db_login]
Server = "localhost"
Port = 3306
Database = "db_account"
UserName = "talismangame"
Password = "new password"
The password field won't say "new password", it will be your self created password for this project. Now Ctrl+S and press Ctrl+Q to exit. Now lets continue ...
"gedit guard_user.ini"
Change the PublishServerIP to "127.0.0.1" because this is the universal loopback. You could also name it your IP Address (192.168.69.69 or whatever it is but using 127.0.0.1 will be easier because it is universal). Ctrl+S and then Ctrl+Q.
"pwd"
This will tell you the absolute path to your current directory, it will same something like "/home/OWNER/talisman/db" and you need to write this down because you will need it. Everytime I say OWNER you need to replace it with whatever name your terminal just told you so please make sure you pay close attention to this because your server will not run unless you do this properly!
"gedit run.sh"
This is the final file for this directory, put in this information
#!/bin/sh
cd /home/OWNER/talisman/db
ulimit -c unlimited
rm *.pid -f
/home/OWNER/db/guard -c /home/OWNER/db/guard_user.ini
What this does is basically goes to the directory and runs the guard with the guard_user settings. Press Ctrl+s and Ctrl+Q. Onward to the next directory!
"cd ../game"
"gedit server_user.ini"
Replace every ConnectIP with "localhost". Replace ListenPortal and Location with your IP address. If you put 127.0.0.1 as as the ListenPortal you won't be able to connect, you need the 192.168.69.70 number or the one you used. You will also put this IP Address at the bottom in the last section next to all the sv. You can change the Description and name to anything you like, whatever you change the name to will appear on your server list like Brilliant Diamond or Big Fish. For the sake of this guide I will say "Dark" as the name.
"gedit guard_user.ini"
Same as before, only value to change is the PublishServerIP to "127.0.0.1". Ctrl+S and Ctrl+Q!
"gedit run.sh"
Make this read:
#!/bin/bash
cd /home/OWNER/talisman/game
ulimit *.pid -f
rm *.pid -f
/home/glenn/talisman/game/guard -c /home/glenn/talisman/game/guard_user.ini
Now Ctrl+S and Ctrl+Q. I don't think I need to continue telling you to do that so I will just say save and quit from this point on.
"mv game_server.evp game_server.evp.old"
"mv ../game_server.evp ./"
"cd ../login"
"gedit guard_user.ini"
Same thing, change PublishServerIP to "127.0.0.1" and Save/Quit.
"gedit login_user.ini"
Change all the IP Addresses to "127.0.0.1" and at the bottom sv1 and sv2 values to also to "127.0.0.1" and Save/Quit.
"gedit run.sh"
Here you go:
#!/bin/sh
cd /home/OWNER/talisman/login/
ulimit -c unlimited
rm *.pid -f
/home/glenn/talisman/guard -c /home/glenn/talisman/guard_user.ini
Save and Quit!
"cd .."
"chmod 777 ./db/*"
"chmod 777 ./game/*"
"chmod 777 ./login/*"
"sudo apt-get upgrade --" (This ugrades all installed packages, takes about 20 minutes so play Plants vs Zombies while you wait)
At this point I ran into an error with the login/run.sh file stating .run.sh: /bin/sh^M: bad interpreter: No such file or directory. This error means that original file was not converted correctly to linux/unix from the original operating system, so we do this:
"cd login"
"gedit run2.sh"
Now type in all the details for the login/run.sh from above. Once you are done Save and Quit. Then typing "./run2.sh" should run properly. Easy fix but I like things uniform so so will do this:
"mv run2.sh run.sh"
Now we need to fix another problem. Go to Firefox and put in the the website
You must be registered to see links
and click the i386 version to download at the bottom. A new web page opens up and you can choose a mirror from the North America list (I choose the first one) and it will open up the download box with the option to install immediately. Why deal with more work, let it install. Then onces it is done, click FINISH and go back to your terminal.Now the system will reboot. We created run_server.sh so that we can type it to start the server but for the first run we are going to do it manually to make sure there are no types and everything was done correctly. I did this myself and found out I accidently forgot to give talismangame privileges to one of the databases because of an error I got and this guarantees that everything is up and running. If you get errors you can work them out based on the type of error you get. For now lets start
"cd talisman"
"cd db"
"rm *.pid -f"
"./run.sh"
Now you will need to open up another terminal since this one will be locked in the db function. Then continue:
"cd talisman"
"cd login"
"./run.sh"
Now the login server should run and this doesn't tell you anything so just continue.
"cd ../game"
"./run.sh"
Now this will say it is not connected for a while, but eventually it will connect! Give it about 2 minutes. Then it will eventually start saying "server tock time = " and then a bunch of numbers. Time to go to windows!
Goto Windows and install the client. When it asked me for a folder and suggested "TalismanOnline", I added Private to the end "TalismanOnlinePrivate" and finished the install
Account Creating in Navicat
The final chapter of this tutorial! Go back into Navicat and if you changed the password, make sure you changed it in the settings. Go to "db_account" by double clicking it and then select "tables" from the stuff that drops down. On the right side double click "t_account". A new window opens up. First of all you can get rid of all the accounts from 2 - 25. Just keep 1 in there because you will just edit it. Under name put your account name and leave pwd untouched. take test001 out of pw2 because that won't be your password. Now click on FILE and then QUERY TABLE. Now you will see only one line there that says "SELECT * FROM 't_account';" Replace that with this line and replace the words NEW PASSWORD with a password of your choosing!
"UPDATE t_account set pwd=MD5('shield0') where accountid='1';"
Now click RUN and it should open up a little box at the bottom that says Affected row: 1 meaning it worked. The password in mysql is usually password('password') but the game itself decided to use MD5('password') instead. This was a VERY GOOD pick up by the original writer which made it very easy for me to tell you what to write! Now close it out and click on on t_account again. Notive the pwd column is different. It worked and we have a login!
Downloads
Save to Windows
Ubuntu Desktop ~
Save to Windows
You must be registered to see links
(Read note below before downloading)Virtual Box ~
You must be registered to see links
Navicat Lite ~
You must be registered to see links
(Read note below before doanloading)Database Files ~
You must be registered to see links
Talisman Client ~
You must be registered to see links
Save to Linux
Server Files ~
You must be registered to see links
English Server Files ~
You must be registered to see links
libmysqlclient15 Files ~
You must be registered to see links
Download Notes
Ubuntu ~ I had problems emulating the 64 bit version of Ubuntu because the different emulators I used VMware / Virtual Box didn't seem to register that I had a 64 bit system. So I recommend just going with the 32 bit version to save yourself the troubles of 2 downloads.
English Server Files ~ Don't click any of the big buttons that say DOWNLOAD, this is a trick. Scroll to the bottom and there will be in VERY SMALL lettering "Save file to your PC: click here", well click the CLICK HERE part and it will allow you to download! I had to search for this and almost missed this!
Navicat Lite ~ When you originally go to this web page you will see tabs. You need to click on SQLite or else you will be downloading their premium trail version. The SQLite doesn't have as much features but has exactly what we need to make this easy and fast. The premium trial will expire and then you won't be able to use Navicat Lite to add users later if you choose. I don't like complications, download SQLite!
Credits
If I miss anyone let me know and I will update
alonew ~ The person who made all this possible! (talisman online Full server+client files - RaGEZONE - MMORPG server development forums)
alladyn5 ~ Compiled the English Server Files for us! (http://forum.ragezone.com/f603/talisman-online-full-server-client-files-656662/index7.html)
saccydog ~ Translated everything to English which wasn't easy! (http://forum.ragezone.com/f603/talisman-online-full-server-client-files-656662/index6.html)
Possible Errors!
This section I will be expanding on as people post problems!
The first error that comes to mind and that I got myself was the libmysqlclient.so.15 shared library error. This is an easy fix though. I tried many methods only to learn that the upgraded libmysqlclient.so.16 was not backwards compatible and creating a symlink proved that. So you need to download and install the files. You can download them through firefox at the link provided in the download section and firefox will give you the option to automatically install so you have very little work to do! This error took me a lot of time to figure out as I had to do a lot of research online and tested out many ideas people posted before someone came up with the right solution. So I am not surprised I didn't see a solution in the forum topic about this and no one should be ashamed of not finding this because I have UNIX experience and I am a computer programmers; it took me a while to figure this out! So someone new to Linux I would be shocked and impressed if they found the answer themselves.
Last edited: