Setting the whole darn thing up

For those who don't have the patience to compile their own server and client.

Setting the whole darn thing up

Postby PurpleYouko on Wed Aug 24, 2016 5:04 pm

So now you have all the lovely stuff related to this project, complete client, server binaries and source, client source, database files, the works.

So what the heck do i do now? you ask.

This isn't going to be a tutorial as such but rather just a list of instructions that you need to follow in order to get off to a nice quick start.

  • First of all, go into your client root directory and extract all of the VFS. ( yes ALL of it ) Then put the whole lot into the 3DDATA folder of the client, including all sub folders so that the folder is a perfect mirror to the VFS structure. The client will load the files in from here. Technically we shouldn't need ALL of it but I fucked something up somewhere and now there is at least one file type that won't load from VFS. I have no idea which one though and frankly I can't be bothered to go searching for it to fix the stupid thing so for now lets just load the whole lot from the folder.
  • DO NOT copy the STB, QSD and AIP files to your server. The ones you just extracted are the UNMODIFIED versions. You will actually have to do the exact opposite since any STBs etc. in your server are actually the master files so you will periodically (whenever new files are downloaded via the repo) have to copy them into the client instead
  • Next make sure that you download the trose.exe that I included in the post with the client link. Use it to overwrite the trose.exe in the donor client
  • That's the donor client finished with.
  • Now download the server. From the repo page at github you can either Clone or Download the entire repository. There's a big ass green button that says "Clone or Download" You can't miss it.... honest
  • If you are familiar with GIT then clone it to your computer someplace. That is the recommended method. That way you will be able to pull down changes whenever they are made. If you really don't want to get into that kind of thing then just download the zip. It's your choice.
  • Now you need a database. All the files are there in the "Database folder" as .sql files
  • I recommend that you go and download xampp from here https://www.apachefriends.org/index.html Install it ( i don't typically install it as a service. I just use the "xampp start" and "xampp stop" files that come with it ) and run it
  • xampp comes with a built in program called phpmyadmin which you can use to create your database. Follow a couple of tutorials if you need to. There are plenty out there. Make a new database and call is "osrose" or "fishlegs" or "jaberwockies_rule". Whatever you like. just make sure that your database name, user and password line up with the values in your conf files.
  • EDIT your .conf files (loginserver.conf, charserver.conf, worldserver.conf) to match the stuff you just set up in your database otherwise your servers will be unhappy. DO NOT change any IP settings at this point. The files are set up to run on localhost so please get it all working there before you try opening it up to external connections.
  • Navigate into your new empty "Jaberwockies_rule" database from within PHPMyAdmin (or whatever other database management tool you chose to use.) and click "IMPORT" then navigate to the database folder in your server files and start importing them. Sorry but you will have to do them one by one. I didn't ever get around to making a universal sql file to load the whole lot. If anybody wants to make one then please submit it here. Just be aware that the tables will very probably mutate over time. new columns added here and taken away elsewhere as I (we perhaps) continue to develop this project
  • So now you have your database ready and you have completed conf files that match
  • Run your servers and watch for any errors in the console windows, particularly anything that says it failed to read a value from a database table. Post in the bugs forum immediately if that happens. It's quite possible that I might need to update one or two db tables in the repo before this all works flawlessly.
  • Assuming all is good, run your client from the batch file that is included in your donor client (it might be called RoseZA.bat actually. I can't actually remember) When it crashes horribly, start to cry in frustration and then post up as much information about your issue as possible in the BUGS forum

Have fun :D
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Setting the whole darn thing up

Postby adosorken on Wed Aug 24, 2016 9:00 pm

Of note: VFS Workshop.exe cannot read data.idx, and VFSTool requires MFC, which is not normally available in Visual Studio 2010 Express.
Evolve this!!
User avatar
adosorken
Smoulie
Smoulie
 
Posts: 61
Joined: Sat Aug 20, 2016 3:29 pm
Location: Windsor, VT

Re: Setting the whole darn thing up

Postby PurpleYouko on Wed Aug 24, 2016 10:36 pm

Both true.

Try it with the Universal VFS extractor that you can find in the tools forum. I think that's the one that worked for me.
Either that or Snipah's
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Setting the whole darn thing up

Postby adosorken on Wed Aug 24, 2016 10:59 pm

I believe there is an error with Database/list_objects.sql

For each line, you have 'id' set to 0. Even though you are telling it to auto increment, MySQL still complains that the keys are duplicated and set to 0.

ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

EDIT: I took a look at the first working database dump for the same table, and the 'id' indexes are set manually. Looks like this should be filled in normally. If the keys are indeed in ascending order, I can just write them in line by line... it'll take a few minutes :) but worth it if it gets it working and importing correctly.

EDIT2: Looks like I can't just copy the old data, as there are more entries in your version, so yeah... gotta be done by hand. Here goes. :D

EDIT3: Here's an updated version of that file, it should work properly (I am not done building the database yet so I can't say for sure, but logic says it should be just fine):

http://silkrose.eponasoft.com/list_objects.7z

EDIT4: Database/list_respawnzones.sql has the same issue, though it has a couple of entries manually set. I am not sure what's up with this but I'll give it the same manual entry treatment and hope it works. :)

EDIT5: OK, this one may not be so easy. The original database file I have here has 'id' values all over the place, and the 'map' entries are inconsistent at high values. This may be possible to correct by comparing the x and y positions in each database dump. As before though, you have more lines in your database dump than exists in the one I have been using. At least in this case, I should be able to just append them to the data I already have. However, because of the map entries being so different, it looks like each line will need to be completely debugged. Fortunately, there's only a couple hundred lines so this shouldn't take too long.

EDIT6: I am not sure if this is going to work, as I am not sure how this table is even used. If it uses 'id' as its primary key, then I would imagine each map in your dataset would need to be consulted to ensure that the values are correct. I think on this one, I'm just going to wait until you see this thread. This is literally the last table left for me to add to have a completely built database... the rest are already in place. For now, I can just import the table I have here from the first database and do a DROP TABLE later on to add the correct data.
Evolve this!!
User avatar
adosorken
Smoulie
Smoulie
 
Posts: 61
Joined: Sat Aug 20, 2016 3:29 pm
Location: Windsor, VT

Re: Setting the whole darn thing up

Postby PurpleYouko on Thu Aug 25, 2016 3:13 pm

Ok this is weird.

I don't even have a table called list_objects.sql so I'm not quite sure how it got into the repo. I think it might be some legacy file that just got brought in from some old server (probably rev 80 before we used STBs to load data)

list_respawnzones.sql in the repo does look a bit weird. There shouldn't be all those zeroes in the "id" column. I've dumped my table and added it to the repo

This table loads in all the positions for places where a player respawns when they die. The "id"s are loaded into a vector along with the rest of the data. I'm not even sure that the "id" field is actually used in the code after this since the vector itself has a built in index.

here's the loading code in case you are interested
  1. bool CWorldServer::LoadRespawnData( )
  2. {
  3.     Log( MSG_LOAD, "RespawnZones data           " );
  4.     MYSQL_ROW row;
  5.     MYSQL_RES *result = DB->QStore("SELECT id,x,y,map,radius,type FROM list_respawnzones");
  6.     if(result==NULL) return false;
  7.     while( row = mysql_fetch_row(result) )
  8.     {
  9.         CRespawnPoint* thisrespawnpoint = new (nothrow) CRespawnPoint;
  10.         if(thisrespawnpoint==NULL)
  11.         {
  12.             Log(MSG_ERROR, "Error allocing memory" );
  13.             DB->QFree( );
  14.             return false;
  15.         }
  16.         thisrespawnpoint->id = atoi(row[0]);
  17.         thisrespawnpoint->dest.x = (float)atof(row[1]);
  18.         thisrespawnpoint->dest.y = (float)atof(row[2]);
  19.         thisrespawnpoint->destMap = atoi(row[3]);
  20.         thisrespawnpoint->radius = atoi(row[4]);
  21.         thisrespawnpoint->masterdest = (atoi(row[5]) == 1);
  22.  
  23.         //LMA: check if out of memory.
  24.         if (thisrespawnpoint->destMap>=MapList.max)
  25.         {
  26.            Log(MSG_WARNING,"RespawnZones, index overflow trapped %i>%i (should not happen)",thisrespawnpoint->destMap,MapList.max);
  27.            delete thisrespawnpoint;
  28.            continue;
  29.         }
  30.  
  31.         MapList.Index[thisrespawnpoint->destMap]->RespawnList.push_back( thisrespawnpoint );
  32.     }
  33.     DB->QFree( );
  34.     Log( MSG_LOAD, "RespawnZones Data loaded" );
  35.     return true;
  36. }
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Setting the whole darn thing up

Postby adosorken on Thu Aug 25, 2016 3:34 pm

Piece by piece, we'll get this all sorted out. :)
Evolve this!!
User avatar
adosorken
Smoulie
Smoulie
 
Posts: 61
Joined: Sat Aug 20, 2016 3:29 pm
Location: Windsor, VT

Re: Setting the whole darn thing up

Postby PurpleYouko on Thu Aug 25, 2016 3:36 pm

adosorken wrote:Piece by piece, we'll get this all sorted out. :)

yup. I kind of expected this to happen in some form or other. My files have not been particularly transferable up until now but with the feedback I'm getting here we should be able to iron it all out.

As for compiling that client source though..... Not so sure about that
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: Setting the whole darn thing up

Postby hlajr on Fri Sep 09, 2016 7:47 am

adosorken wrote:Of note: VFS Workshop.exe cannot read data.idx, and VFSTool requires MFC, which is not normally available in Visual Studio 2010 Express.


I have used VFS Workshop since I have seen it here in this link - viewtopic.php?f=18&t=5733

I have also encountered it CANNOT OPEN (Failed reading idx) my v254 ROSE Client previously but then I remember the old Philippine ROSE Launcher/Patchers having a defragment function so I thought I could use such function to FIRST DEFRAGMENT the client VFS. and viola, after doing such, VFS Workshop CAN ALREADY OPEN my v254 client VFS.

Perhaps, you can also try it if you are really loving VFS Workshop as your VFS Editing Tool.. :D
Doing the right thing is the right thing to do!
User avatar
hlajr
Smoulie
Smoulie
 
Posts: 60
Joined: Wed Jul 23, 2014 11:21 am

Re: Setting the whole darn thing up

Postby hlajr on Fri Sep 09, 2016 7:56 am

PurpleYouko wrote:Ok this is weird.

I don't even have a table called list_objects.sql so I'm not quite sure how it got into the repo. I think it might be some legacy file that just got brought in from some old server (probably rev 80 before we used STBs to load data)

list_respawnzones.sql in the repo does look a bit weird. There shouldn't be all those zeroes in the "id" column. I've dumped my table and added it to the repo

This table loads in all the positions for places where a player respawns when they die. The "id"s are loaded into a vector along with the rest of the data. I'm not even sure that the "id" field is actually used in the code after this since the vector itself has a built in index.


Yeah I have also encountered those 'id" with values of '0' thereby making MySQL throwing errors during my installation. That make me think of a faster way to encode it without going to change it one by one in Notepad. So I exported the rows into a csv, open it in excel and drag the id column to populate the values, then import the saved csv into MySQL again and presto, 521 rows of this table is created and ONLY after going with this that I remember I have ALREADY DOWNLOADED the zipped updated table from this forum! :lol: At least I have learned something from the experience... :lol:
Doing the right thing is the right thing to do!
User avatar
hlajr
Smoulie
Smoulie
 
Posts: 60
Joined: Wed Jul 23, 2014 11:21 am

Re: Setting the whole darn thing up

Postby PurpleYouko on Fri Sep 09, 2016 2:24 pm

hehe nice one.
But yes that is a pretty nice way to deal with it.
You could also have edited the sql setup to delete the requirement for "id" to be a primary key, then it wouldn't even care if it had zeroes :D
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Next

Return to Quick Start

Who is online

Users browsing this forum: No registered users and 2 guests