Log in

View Full Version : Updated Solo Server Package


djeryv
08-14-2018, 07:31 PM
I made a series of solo server changes a few years ago, and I still use them today. I recently setup a Windows 7 virtual machine using VM Workstation so I did the quick install and it worked pretty flawlessly. There is always some tweaking needing done if you do your own private login server, but it went well. With that, I had to update my solo server settings to accomodate the new task_activities table (and a few others) so here is my updated stuff in case anyone wants to run a solo server of their own. The Prophetess of Norrath is a new feature that can come in handy.

LINK (https://drive.google.com/open?id=1wEvt6wg3_oJJW3L78EYY7NU1yIl04ile)

This was setup with database version 9125.

This entire package changes an Everquest server to be more solo-friendly. It is meant for servers with very low populations, or servers you play in single player mode.

This does quite a few different things. It will scale monsters back to a level where you can fight them alone, meaning the ones where a group is meant to combat them. Due to this, you should not need any bots to play here. This should then allow you to play a race and class unique to its abilities and not have the cookie-cutter group doing the same tactics. Monsters should not readily help their comrades, and they will have a smaller radius of noticing you. This lets you fight monsters one at a time and avoid getting ganged up on. The spawn times have been increased for those that spawned quickly. This lets you clear out dungeons easier since you will be in the area alone. NOTE: These affect creatures level 20 or over, as this is where the balance shifts toward more group oriented battles.

The Bazaar will also be filled with merchants with tons of wares and unique items. It gives you a place to spend your mountains of gold later on. This is to help you acquire items that better aid playing alone, and also give the Bazaar some life. There will also be spell merchants there that sell unusual spells that are really hard to get. This should exclude things like research spells and spells you get from monsters.

If you use all of the included features, then the starting cities will not have any Plane of Knowledge books. This is to bring back the classic mode of play where you had to begin in your starting city, and travel far across the land to get to other locations. The other books will remain, but in places where you would get to them at a much higher level.

Within the Plane of Knowledge are 2 unique NPCs. One is a barbarian that will freely cast Spirit of Wolf on folks. The other is a witch that will teleport you to almost any zone you want to go. This is another reason that the Plane of Knowledge should not be discovered until a character has adventured for awhile.

The Priests of Discord are replaced with Teachers of Norrath. These teachers will help you spend your skill points on skills you may have learned from your guildmaster. This was added to fix a flaw in the skill distribution system, so although that may be fixed, these teachers are here just in case.

Each city will have a Prophetess of Norrath. If you tell these sages a name of a spell, song, etc, they will try and tell you who in the world sells that scroll and where they are located. Since it queries the database doing this, it can take up to 20 seconds to get a response. They will explain to you that you should wait while they think about your request, to warn players of the delay.

There are some rule settings for item and experience loss on death, along with drop and lore flags being removed. Many items have their prices set or set to a lower amount. This is because of the quests added to the system and because the Bazaar sells some of these items and there was no price set for them originally. Quest rewards would make a character rich very quickly, so these prices were greatly lowered at times. Mounts have had their prices reduced, so one can purchase them without needing a small fortune. The mana and health regenerate faster while resting, so you can get back into the action.

Brother Dremel is in the Bazaar, and he will trade rare items used in crafting, for various items that the witches give for quest rewards. So if you need a rare ingredient, Dremel may have it. He would tell you the exact item he wants in trade and which of the witches gives that item as a reward. This is to help solo characters actually craft items, without needing a high population of players to make the ingredients for you.

The last part, and probably the biggest part, is the quest system included with this. There are about 447 tasks that are available. Each starting city will have a Witch of the Velvet Order nearby. They will give quests to adventurers, and these quests have some purpose/goal in the area the witch is in. So each witch will have unique tasks for each starting city area. They are far enough away from guards, so hostile races can get quests from them as well without having the local guards kill them. The Plane of Knowledge has such a witch as well, and she will give higher level quests that can be anywhere in the world. These quests give no experience points, but they do have various rewards that could help an adventurer. The witch will be clear on the task you need to do, along with the choice of items you can get if you finish the task. Since it uses the newer task system, your progress will be tracked for you. The witches give you plenty to do and you can do these tasks as many times as you want. Each one indicates a recommended level as well.

jpyou127
08-15-2018, 06:36 AM
In the README you mention a file "solo_knowledge.sql", but it is not in the google drive files.

Very cool stuff btw!

djeryv
08-15-2018, 12:58 PM
In the README you mention a file "solo_knowledge.sql", but it is not in the google drive files.

Very cool stuff btw!

I fixed the README. It was a typo as everything is in one SQL file.

Thanks for the catch.

djeryv
08-16-2018, 07:45 PM
i did a slight update on this today. I was playing yesterday and I forgot I wanted to incorporate links instead of the old fashion [type the word]. So now my included NPCs do that for their offerings. For the Prophetess, she will now search for spells and items and tell you what merchant sells them and what zone they are in. You can click on the links of the search results and inspect the items. She will even explain to you how to do a wildcard search as well, because you may want to find both Cloth Cap and Cloth Cape so you can search for Cloth Cap*.

djeryv
08-18-2018, 06:38 PM
I did another update today where there are no longer any SQL delays when you talk to the Prophetess. I should have known to avoid using the views and make a search table with primary keys set. Anyway, the Prophetess will also tell you what spells you can go out and buy for whatever level you ask about for your class.

djeryv
08-19-2018, 06:39 AM
I think I will see if the Prophetess can tell of monsters that carry items, like she does with the merchants. I'll mess with that today as it requires more table joins. It is mainly because I don't care for wikis (or using web pages to look up this stuff) and would rather be able to do it in-game. We'll see what I can come up with.

dagulus2
08-19-2018, 06:44 AM
In terms of the SQL Data you ave to add to get the Prophetess working, does this only have to be done once or will it need updating if I add merchants or items?

djeryv
08-19-2018, 07:01 AM
In terms of the SQL Data you ave to add to get the Prophetess working, does this only have to be done once or will it need updating if I add merchants or items?

Well, I did have to make tables instead of views because views cannot have primary keys set. When I moved to the table format, and set primary keys, the queries she ran were really quick.

So the SQL would need to be ran each time you add to merchants, but there is a command to drop the table if it exists and recreate it so it is a quick matter...but you would need to remember to run it.

Views would avoid this step, but the Prophetess took about 20 seconds to return results and I would rather it be instant. I think I will setup the Prophetess as a separate package for people to get, in case they don't want the other solo server stuff...of course leaving her in the solo server package as well.

djeryv
08-20-2018, 07:13 PM
Well, I failed to get the Prophetess to tell players where items can be looted from. The issue is that if your server is on the low power end, querying through a table with over 600,000 records (the loot table is very big) takes too much time. During this time of the query, the server is pretty much non-responsive until it is done. So although not a big deal with single player environments, adding a few more players will ruin the experience.

I did make an SQL query to create one single table, however, that will allow for the searches I already implemented. And since I made the separate table, searches take a second or less to do. When I queried the database tables, and the joins I needed, it would take 15 or more seconds.

I also learned during this process that MySQL views just aren't very efficient. They took even longer to query than the multiple table joins.

So the Prophetess is still very useful. You can search for items for sale and she will tell you who sells it and what zone they are in. You can do wildcard searches as well. If you tell her a level, she will tell you where you can go buy your spells from for that level. So, for example, if you are a Necromancer...and say "3" to her...she will tell you where you can go buy your level 3 necromancer spells from.

John C
08-22-2018, 09:50 PM
djeryv -
I might have an older version as I downloaded it a few days ago. Great work. Some amazing ideas in here. I did find two minor typos though that I wanted to ensure you are aware of...

Line 7927...

LOCK TABLES `spawn2` WRITE;
INSERT INTO spawn2 (spawngroupID, zone, x, y, z, respawntime) VALUES
('800088', 'poknowledge', '386.227', '67.6062', '-107.834', '300'),
UNLOCK TABLES;

Note the comma at the end of the insert statement. Should be a semicolon.

Line 9380...

LOCK TABLES `spawn2` WRITE;
INSERT INTO spawn2 (spawngroupID, zone, x, y, z, respawntime) VALUES
('800016', 'poknowledge', '858.639', '18.5724', '67.127', '300');
('800016', 'akanon', '60.8742', '602.831', '-22.373', '300'),
('800016', 'cabwest', '546.094', '-59.7544', '3.752', '300'),

Note the semicolon at the end of the first insert values. Should be a comma.

Thanks again.

djeryv
08-23-2018, 07:21 AM
Fixed. Thanks for the catch.

What happened was I swapped the 2 sisters around with a cut and paste. I wanted the sage to be in the library and the teleporting witch out in the open more.

ward3
08-24-2018, 04:35 PM
Awesome. I have been having the itch to startup another personal server. This might tip the scales for me to mess with. :)

Element D
08-25-2018, 10:56 AM
Just setup a server for my wife and I to play on, and I saw this post. It sounds perfect as we will be the only two on the server.

That being said, my server is up and running and I don't want to mess it up. When you say "Source the following SQL file into your database" is there a command to do so, or a guide here explaining how to do this type of thing?

John C
08-25-2018, 01:41 PM
ElementD -
Just open the SQL file in any text editor. Select All and Copy the full text. Then open HeidiSQL, which gets loaded with the game. You will have to enter the password to connect to the database. The default is "eqemu" and hit (open). Once you are in the database, you'll see a little button in the upper middle that has a blue triangle and says "query". Click there to bring up the query window. Paste the SQL command text that you copied from his script and hit F9 to execute it.

In the bottom window you'll see it run through all of the commands. Assuming it all works and you get no errors, you're done. Just exit out (and you don't have to save the script within Heidi).

Good Luck!

djeryv
08-25-2018, 02:12 PM
I just updated this and added a new NPC called the Artisan of Norrath. They are in all of the cities and they have the same items that Brother Dremel has...except he accepts payment for the items. Like the sage, you can search for an item he carries and he will show you what he has and the price. He sells about 2,800 different crafting items that are hard to get on a solo server.

Element D
08-27-2018, 07:55 PM
John C -

Thanks for the help, but I'm unfortunately still a little confused. The install did place a HeidiSQL shortcut on my desktop, but when run it doesn't show any database and the open command is grey.

djeryv -

Thank you so much for the work on this solo package! I noticed the update and the new sql, does that also get sourced in the same way John C is explaining?

edit - also forgot to ask. If i leave step 2 out am i still able to use the plane of knowledge from any book location?

John C
08-27-2018, 08:06 PM
When you open Heidi, you should see...

http://www.chastain.us/media/heidi.jpg


Everything that is populated should already be there. If not, what you see here are the default values for all of it. You then have to enter the password (where the red arrow is) and the default should be "eqemu".

You should then be able to hit "open" to access the DB. If not, it might be time to start looking at additional details such as, are you running on Windows or Linux? Did you change any setting during the install? Are you running the DB on the same box as you are running Heidi?

Fingers crossed.

djeryv
08-27-2018, 08:22 PM
Source it the same...but first delete the lines that get rid of the nearby POK books.

Element D
08-27-2018, 08:24 PM
I feel i'm missing something very easy here, but when i open Heidi with the shortcut on the desktop that was put there during installation, all the fields are empty including the session name. The only tab i have has is a start tab. New, import settings, cancel, and more are my only options.

Sorry I forgot to add I'm on windows 10, no changes other than the IP for the login server. Opening Heidi on same box as server install.

John C
08-27-2018, 08:52 PM
Great. Hit NEW, give your session a name, and configure the rest just like is shown in the picture above. Hopefully then you should be able to OPEN it and see the DB.

Element D
08-27-2018, 09:13 PM
That did it! Sorry if this is basic stuff, but it's all new to me.

I deleted the two lines for removing the pok books and when i hit F9 it says "unsafe queries found" "your query contains UPDATEs and/or DELETEs without a WHERE clause.". "please confirm that you know what you're doing" I think it's quite clear at this point I do not fully. :)

I've not made any other changes other than deleting those two lines.

John C
08-27-2018, 09:22 PM
That warning is just telling you that there are not any restrictions on some of the queries to restrict which rows they will impact. It is just trying to make sure that you really want to update every record in the database. And that is exactly what you are trying to do, so just tell it to go ahead.

Making progress. You are almost there.

Element D
08-27-2018, 09:31 PM
So it did come up with an error 1109 "unknown table 'npc_types' in information schema"

I decided to try clicking on the mysql that's on the left and hitting F9 again. Got the error again.

Do i need to click on the peq on the left and F9 again?

I appreciate your patients.

djeryv
08-28-2018, 07:43 AM
Yes...you were in the wrong database when you ran that.

Also keep in mind that this is your initial server setup. So if you mess up the SQL stuff...you can wipe the peq database and resource it without losing anything. I am just mentioning this to put you at ease that you will not ruin anything you can't recover from.

John C
08-28-2018, 08:30 AM
Yep. You want to select the PEQ database (which stands for Project EQ). See below.

http://www.chastain.us/media/peq.jpg

You can actually see all the EQ related tables. And djeryv is right, you can always restore your database if you mess something up but I would recommend against repeatedly trying to run a failing script.

Let's use an example to illustrate the point. Assume that a script has 4 lines. The first line reduces all monster HPs by 25%. The second line inserts a new NPC. The third line adds an item - and has an error that causes it to fail.

You run the script the first time. Hit points are reduced to 75% of the original value. The NPC is added. And then you get an error on line 3. So you run it again, and the HPs are reduced by another 25%. They are now 56% of the original value instead of 75% as intended, and a second NPC is added, before you hit the same error again.

djeryv
08-28-2018, 09:38 AM
To further add onto this, for anyone pursing using custom content some of us provide, I would suggest get a server up and running first. If you can login, make a character, and run around...great. Then shut down the emulator and backup the database. Then run the custom stuff you downloaded and make sure it works fine. If not, you can just wipe the database and restore your backup and try again...or throw out the custom content entirely.

Angelicus6
08-28-2018, 11:01 AM
Not sure if you can help me, but if I wanted to have the old wolf and skeleton models on my server how would I go about doing that?

I am new to having my own EQ server for myself and maybe family, so I don't have a clue how to do this.

djeryv
08-28-2018, 11:25 AM
Not sure if you can help me, but if I wanted to have the old wolf and skeleton models on my server how would I go about doing that?

I am new to having my own EQ server for myself and maybe family, so I don't have a clue how to do this.

That is beyond the scope of this particular thread, so you may want to start a new one elsewhere.

I do know, however, you will probably end up copying files from a Titanium install, but someone else may be better to help you in more detail.

Angelicus6
08-28-2018, 11:27 AM
That is beyond the scope of this particular thread, so you may want to start a new one elsewhere.

I do know, however, you will probably end up copying files from a Titanium install, but someone else may be better to help you in more detail.

Okay, Thank you and sorry about that!

I posted in here because I am going to use your solo server settings and figured it would be okay to ask.

djeryv
08-28-2018, 12:26 PM
Okay, Thank you and sorry about that! I posted in here because I am going to use your solo server settings and figured it would be okay to ask.
It is good to start a new topic on this because one day...someone else will search for a question like you have and will hopefully find an answer easier.

Honestly, I would have just outright answered your question if I knew what to do. I just don't know which files you will need to copy and/or edit.

Angelicus6
08-28-2018, 01:43 PM
It is good to start a new topic on this because one day...someone else will search for a question like you have and will hopefully find an answer easier.

Honestly, I would have just outright answered your question if I knew what to do. I just don't know which files you will need to copy and/or edit.

No worries! I did start another topic and have been searching for an answer on google. So far all I have been able to find is how to change it client side, but not server side.

Other than that I was able to get your solo server package up and running.

Element D
08-28-2018, 07:22 PM
Sourced! Woohoo!

Thanks for the reassurance and help learning how this works. Very much appreciated.

Also, thanks again djeryv for all the work putting this together.

Darcy.

Bruser555
08-28-2018, 08:10 PM
Where are the installer files for this solo server package? Was looking to possibly help my SQL poor skills while making a solo server for me and a friend.

Do you have specific instructions from start to finish? Maybe I am missing the location...

Sounds like the type of start I need for a server.

Element D
08-28-2018, 08:46 PM
Original post from djeryv has a Google drive Link in it. There is a readme.txt file in the zip file. If you can't figure it out from that (as I could not) pretty much every post from John C in this thread is gold.

djeryv
08-29-2018, 05:50 AM
As said previously, make sure you get a server up and running first. Don't worry about my solo server package until that point. Once you have a functioning server, follow the directions in the README. You simply copy some files to a specific folder, and then load up my database changes into your everquest database (usually called PEQ). Start the server and you are off and running.

Having a server for you and a friend is a perfect use for this. It lets you play alone and lets you play one character at that. I appreciate the bot system and think it is far more useful than the mercenary system...but I feel that bots can kinda ruin the experience of playing a character to its strength.

As an example, if you use bots...you may create a cookie-cutter group. So you make a cleric character and then you make a fighter and wizard bot to go with you. Then you decide to make a wizard character and then you make a fighter and cleric bot. I found that when I played this way...I played each character pretty much the same and approached it like a a group as if I was playing Baldur's Gate.

I would prefer having the monsters adjusted and then approach areas and problems differently based on the character I made. It just lets you explore the character better when all you have with you is your skills and spells. I also think bots can kinda spoil the nicety of the pet-having classes like mages and necromancers. I make a necromancer because I want to have that skeleton following me around. It is one of the things that make that class fun to play.

Angelicus6
08-29-2018, 09:40 AM
Are all mobs soloable? So epic quests can be done solo?

djeryv
08-29-2018, 11:40 AM
Are all mobs soloable? So epic quests can be done solo?
There is no way to tell since the world is so massive that I would have to test this by killing everything with every character type.

My only testing was my friends and I playing it over the years, and we never ran into anything we couldn't beat. If it was yellow...it was hard. If it was white...we would probably win. If it were blue...we were pretty much sure to win. That is really all we wanted to achieve. We have characters that reached level 55-60 playing this way.

krv62
08-30-2018, 01:54 PM
Sorry if this was already brought up, I didn't read through all the posts.

The player.pl file included in this package causes ALL Doors (jail cell and Fort) to act as portals to your Home City.

The code in player.pl that is to blame:

sub EVENT_CLICKDOOR {
my $dbh = plugin::LoadMysql();

$nth = $dbh->prepare("SELECT class, race, deity FROM character_data WHERE name='$name'");
$nth->execute();
@row = $nth->fetchrow_array();
my $n_class = $row[0];
my $n_race = $row[1];
my $n_deity = $row[2];

$sth = $dbh->prepare("SELECT zone_id, x, y, z, heading FROM start_zones WHERE player_class=$n_class AND player_deity=$n_deity AND player_race=$n_race");
$sth->execute();
@row = $sth->fetchrow_array();
my $zn_id = $row[0];
my $zn_x = $row[1];
my $zn_y = $row[2];
my $zn_z = $row[3];
my $zn_head = $row[4];

$dbh->disconnect();
quest::movepc($zn_id, $zn_x, $zn_y, $zn_z, $zn_head);
}

I don't have a code fix for it, I just reverted back to my original player.pl file and all is good.

djeryv
08-30-2018, 02:17 PM
This should be fixed now as I simply told the PL script to use doorid 11 to run that section (which is the cave). The main upload has been updated as well.

Anyone who already got this package, just replace your player.pl file (in the tutorialb folder) with this:

sub EVENT_ENTERZONE
{

quest::movepc(189,18, -147, 19.6, 0);

if(!defined $qglobals{tutbind} && $ulevel == 1)
{
quest::selfcast(2049);
quest::setglobal("tutbind",1,1,"D30");
}

if(!defined $qglobals{tutpop})
{
quest::popup("Join the revolution!", "Welcome to the Revolt! You have been given two new quests:
<br><br><c \"#FFFF00\">Rally with Rahtiz:</c><br>If you are ready to begin fighting for the revolt,
hail Guard Rahtiz and see where you are needed.<br><br><c \"#FFFF00\">Basic Training:</c><br>If you
would like more training on the finer points of Everquest, speak with Arias and he will direct you to other knowledgeable
members of the slave revolt.<br><br><c \"#F07F00\">Click 'OK' to continue.</c>");
quest::assigntask(22);
quest::assigntask(23);
quest::setglobal("tutpop",1,1,"D30");
}

if($ulevel > 15 && $status < 80)
{
$client->Message(15,"You are too high in level to be in this zone.");

my $dbh = plugin::LoadMysql();

$nth = $dbh->prepare("SELECT class, race, deity FROM character_data WHERE name='$name'");
$nth->execute();
@row = $nth->fetchrow_array();
my $n_class = $row[0];
my $n_race = $row[1];
my $n_deity = $row[2];

$sth = $dbh->prepare("SELECT zone_id, x, y, z, heading FROM start_zones WHERE player_class=$n_class AND player_deity=$n_deity AND player_race=$n_race");
$sth->execute();
@row = $sth->fetchrow_array();
my $zn_id = $row[0];
my $zn_x = $row[1];
my $zn_y = $row[2];
my $zn_z = $row[3];
my $zn_head = $row[4];

$dbh->disconnect();
quest::movepc($zn_id, $zn_x, $zn_y, $zn_z, $zn_head);
}
}

sub EVENT_TASK_STAGE_COMPLETE
{
if ($task_id == 34)
{
quest::ze(15, "A cheer arises from the slaves as the last of the Kobold overseers fall.");
}
if ($task_id == 28 && $activity_id == 1) {
$client->Message(0,"Vahlara bows as you return. 'Just in time. Many are wounded and more arrive by the hour. If you can find any Gloomingdeep silk, bring it to me and I can reward you with more burlap clothing. It's not much, but it's nicer than the rags these kobolds left us with.'");
}
}

sub EVENT_CLICKDOOR {

if( $doorid == 11 )
{
my $dbh = plugin::LoadMysql();

$nth = $dbh->prepare("SELECT class, race, deity FROM character_data WHERE name='$name'");
$nth->execute();
@row = $nth->fetchrow_array();
my $n_class = $row[0];
my $n_race = $row[1];
my $n_deity = $row[2];

$sth = $dbh->prepare("SELECT zone_id, x, y, z, heading FROM start_zones WHERE player_class=$n_class AND player_deity=$n_deity AND player_race=$n_race");
$sth->execute();
@row = $sth->fetchrow_array();
my $zn_id = $row[0];
my $zn_x = $row[1];
my $zn_y = $row[2];
my $zn_z = $row[3];
my $zn_head = $row[4];

$dbh->disconnect();
quest::movepc($zn_id, $zn_x, $zn_y, $zn_z, $zn_head);
}
}

Element D
09-03-2018, 10:05 PM
My wife and I are really enjoying the Solo Package so far and have made liberal use of the SOW Barbarian in POK. We're looking for certain items from the Prophetess, but neither of us have been able to get her to recognize our quires.

We hail her and click the item link where the explanation says to use 'M:something'. Do you need to use the /say to get it to function? Do we need to actually type it out as a question? I've tried clicking item, then /say M:*Tunic.
It just shows me saying it in the dialog window with no response.

djeryv
09-04-2018, 06:57 AM
Not sure what your issue may be. I attached a screenshot of me asking about a cloth cap. I never use the /say commands I just hit ENTER to either go into the chat box or click there with my mouse. Make sure you have the two extra tables added to your database as well.


LINK TO IMAGE (https://drive.google.com/open?id=1fJpKH-yRMUAmkWq373F_EfzTbzXbjyGZ)

Element D
09-04-2018, 12:21 PM
Hmm, I don't see an attachment picture on your post. Not sure what two extra tables you mean. I've copied the .pl files including the prophetess one the the global folder, then sourced the Solo_Server.sql with the two POK book locations removed. I did not use the craft_merchant.sql though. Is that what i'm missing?

I didn't use it because it has no data in the file for me to copy and paste the same way I did the other sql file. File size is 8bytes but notepad and Ultra Edit show nothing. (although Ultra edit does show 5 blank lines)

Element D
09-04-2018, 12:30 PM
I do see the image now. Switched to a laptop, Phone browser didn't show it for some reason.

djeryv
09-04-2018, 01:06 PM
I updated the package to get rid of that empty file.

In your database, do you have these two tables...

_craft_merchant
_item_search

...or maybe you figured it out?

Element D
09-04-2018, 03:07 PM
That last post was just an acknowledgment that i did see the image. That was exactly what i was doing when i tried the item search too. Something is still amiss.

I do have both of those entries in my database. They're at the bottom of the 'peq'. _item_search is 6.5MiB, and _craft_mechant is 112 KiB.

The latter seems to have only three entries. Item, name, and cost.

djeryv
09-04-2018, 03:21 PM
Maybe try sourcing the below again? This will drop those 2 tables and recreate them.

DROP TABLE IF EXISTS _craft_merchant;
CREATE TABLE _craft_merchant (item INT(20) NOT NULL PRIMARY KEY);
INSERT INTO _craft_merchant VALUES
('1057'),('1210'),('1329'),('1451'),('1452'),('145 3'),('1561'),('1562'),('1596'),('1830'),('1831'),( '1832'),('1833'),('1849'),('1850'),('1851'),('1852 '),('1854'),('1855'),('1856'),('1857'),('1859'),(' 1860'),('1886'),('1893'),('1894'),('1895'),('1896' ),('2040'),('2046'),('2048'),('2054'),('2066'),('2 067'),('2068'),('2069'),('2070'),('2071'),('2072') ,('2073'),('2074'),('2075'),('2076'),('2077'),('20 78'),('2079'),('2080'),('2081'),('2082'),('2083'), ('2084'),('2085'),('2086'),('2087'),('2089'),('212 5'),('2126'),('2127'),('2128'),('2129'),('2130'),( '2131'),('2132'),('2133'),('2134'),('2135'),('2136 '),('2428'),('2448'),('2750'),('2751'),('2752'),(' 2753'),('2754'),('2755'),('2756'),('2757'),('2758' ),('2759'),('2760'),('2761'),('2791'),('2792'),('2 793'),('2794'),('3444'),('3450'),('3467'),('3468') ,('3471'),('3472'),('3473'),('3474'),('3477'),('34 95'),('3497'),('3498'),('3614'),('3619'),('3631'), ('3632'),('3636'),('3638'),('3639'),('3641'),('364 6'),('3649'),('3651'),('3652'),('3653'),('3658'),( '3663'),('3664'),('3667'),('3890'),('3894'),('3913 '),('3914'),('3915'),('3916'),('3923'),('5128'),(' 5533'),('5537'),('5538'),('5539'),('5551'),('5555' ),('5570'),('5572'),('5956'),('5957'),('6094'),('6 095'),('6096'),('6097'),('6164'),('6165'),('6180') ,('6273'),('6700'),('6701'),('6702'),('6703'),('67 04'),('6705'),('6706'),('6707'),('6800'),('6822'), ('6974'),('7096'),('7134'),('7139'),('7271'),('727 2'),('7274'),('7773'),('7884'),('7887'),('7984'),( '8091'),('8107'),('8174'),('8175'),('8176'),('8237 '),('8238'),('8239'),('8240'),('8284'),('8764'),(' 8792'),('8798'),('8804'),('8806'),('8808'),('8810' ),('8813'),('8816'),('8820'),('8821'),('8826'),('8 827'),('8832'),('8833'),('8839'),('8840'),('8848') ,('8849'),('8850'),('8857'),('8858'),('8859'),('88 63'),('8868'),('8878'),('8881'),('8890'),('8891'), ('8892'),('8893'),('8894'),('8997'),('9033'),('903 5'),('9037'),('9039'),('9041'),('9043'),('9055'),( '9056'),('9062'),('9138'),('9139'),('9140'),('9141 '),('9142'),('9143'),('9144'),('9145'),('9146'),(' 9147'),('9148'),('9149'),('9150'),('9151'),('9152' ),('9153'),('9154'),('9155'),('9156'),('9157'),('9 158'),('9159'),('9160'),('9161'),('9162'),('9163') ,('9164'),('9165'),('9166'),('9167'),('9168'),('91 69'),('9170'),('9171'),('9172'),('9175'),('9176'), ('9177'),('9182'),('9183'),('9196'),('9197'),('943 7'),('9471'),('9578'),('9644'),('9645'),('9647'),( '9648'),('9649'),('9650'),('9651'),('9652'),('9653 '),('9654'),('9655'),('9656'),('9657'),('9658'),(' 9659'),('9660'),('9661'),('9662'),('9664'),('9665' ),('9666'),('9667'),('9668'),('9669'),('9670'),('9 671'),('9672'),('9675'),('9676'),('9677'),('9678') ,('9679'),('9680'),('9681'),('9682'),('9683'),('96 84'),('9685'),('9686'),('9690'),('9691'),('9692'), ('9693'),('9695'),('9696'),('9697'),('9698'),('969 9'),('9700'),('9701'),('9703'),('9704'),('9705'),( '9720'),('9723'),('9724'),('9725'),('9726'),('9727 '),('9734'),('9735'),('9736'),('9740'),('9741'),(' 9742'),('9743'),('9744'),('9745'),('9746'),('9747' ),('9748'),('9749'),('9750'),('9751'),('9753'),('9 755'),('9756'),('9757'),('9759'),('9761'),('9762') ,('9763'),('9765'),('9767'),('9768'),('9769'),('97 70'),('9772'),('9773'),('9775'),('9776'),('9777'), ('9779'),('9781'),('9782'),('9795'),('9803'),('980 4'),('9825'),('10013'),('10064'),('10160'),('10191 '),('10226'),('10227'),('10250'),('10251'),('10252 '),('10253'),('10254'),('10268'),('10269'),('10270 '),('10271'),('10272'),('10273'),('10274'),('10275 '),('10276'),('10277'),('10279'),('10280'),('10281 '),('10282'),('10283'),('10284'),('10285'),('10286 '),('10287'),('10288'),('10289'),('10367'),('10398 '),('10409'),('10410'),('10426'),('10427'),('10428 '),('10430'),('10431'),('10432'),('10433'),('10434 '),('10436'),('10437'),('10438'),('10439'),('10440 '),('10441'),('10442'),('10443'),('10444'),('10446 '),('10447'),('10449'),('10451'),('10452'),('10453 '),('10455'),('10457'),('10461'),('10463'),('10470 '),('10471'),('10472'),('10473'),('10481'),('10482 '),('10490'),('10491'),('10492'),('10493'),('10495 '),('10497'),('10499'),('10608'),('10609'),('10610 '),('10611'),('10612'),('10613'),('10615'),('10616 '),('10617'),('10618'),('10619'),('10620'),('10621 '),('10756'),('10757'),('10758'),('10759'),('10789 '),('10930'),('10958'),('10968'),('10969'),('10972 '),('10976'),('11395'),('11398'),('11406'),('11430 '),('11548'),('11590'),('11591'),('11593'),('11595 '),('11659'),('11660'),('11700'),('11709'),('12011 '),('12072'),('12073'),('12075'),('12081'),('12111 '),('12114'),('12145'),('12239'),('12282'),('12298 '),('12299'),('12300'),('12301'),('12302'),('12303 '),('12304'),('12305'),('12314'),('12315'),('12363 '),('12398'),('12402'),('12404'),('12410'),('12442 '),('12444'),('12445'),('12449'),('12464'),('12468 '),('12475'),('12476'),('12477'),('12478'),('12483 '),('12487'),('12560'),('12561'),('12564'),('12573 '),('12574'),('12607'),('12632'),('12634'),('12635 '),('12657'),('12687'),('12689'),('12714'),('12728 '),('12759'),('12760'),('12765'),('12767'),('12770 '),('12771'),('12776'),('12778'),('12781'),('12782 '),('12783'),('12784'),('12785'),('12794'),('12832 '),('12889'),('12901'),('12902'),('12903'),('12904 '),('12934'),('12935'),('12936'),('12937'),('12939 '),('12946'),('13044'),('13046'),('13048'),('13079 '),('13090'),('13094'),('13118'),('13247'),('13248 '),('13249'),('13419'),('13430'),('13431'),('13432 '),('13433'),('13434'),('13435'),('13436'),('13437 '),('13438'),('13439'),('13440'),('13455'),('13493 '),('13639'),('13667'),('13760'),('13795'),('13822 '),('13836'),('13878'),('13910'),('13952'),('14090 '),('14091'),('14092'),('14093'),('14095'),('14096 '),('14097'),('14098'),('14099'),('14320'),('14344 '),('14350'),('14351'),('14352'),('14353'),('14354 '),('14355'),('14356'),('14357'),('14358'),('14359 '),('14403'),('14404'),('14405'),('14406'),('14407 '),('14408'),('14409'),('14410'),('14411'),('14412 '),('14413'),('14414'),('14415'),('14416'),('14417 '),('14418'),('14419'),('14420'),('14421'),('14422 '),('14423'),('14425'),('14426'),('14427'),('14428 '),('14429'),('14430'),('14431'),('14432'),('14433 '),('14434'),('14435'),('14436'),('14437'),('14438 '),('14439'),('14440'),('14441'),('14442'),('14443 '),('14444'),('14445'),('14446'),('14447'),('14448 '),('14449'),('14450'),('14451'),('14452'),('14453 '),('14454'),('14455'),('14456'),('14577'),('14578 '),('14579'),('14796'),('14798'),('14888'),('14889 '),('14890'),('14891'),('14892'),('14904'),('14905 '),('14909'),('14910'),('14913'),('14915'),('14916 '),('14917'),('14919'),('14922'),('14925'),('14930 '),('14933'),('14934'),('14936'),('14937'),('14938 '),('14939'),('14940'),('14947'),('14950'),('14951 '),('14954'),('14968'),('14972'),('14973'),('14974 '),('14975'),('14976'),('14977'),('14978'),('14980 '),('14981'),('14982'),('14983'),('14984'),('14985 '),('14986'),('14987'),('14988'),('14989'),('14990 '),('14991'),('14992'),('14993'),('14994'),('14995 '),('14996'),('15570'),('15571'),('15572'),('15622 '),('15624'),('15757'),('15760'),('15835'),('15900 '),('15901'),('15902'),('15903'),('15904'),('15905 '),('15906'),('15907'),('15908'),('15909'),('15910 '),('15911'),('15982'),('15984'),('15987'),('15988 '),('15989'),('15990'),('15992'),('15994'),('15998 '),('15999'),('16190'),('16193'),('16243'),('16244 '),('16249'),('16250'),('16251'),('16252'),('16254 '),('16267'),('16268'),('16269'),('16270'),('16271 '),('16272'),('16273'),('16274'),('16275'),('16276 '),('16277'),('16278'),('16279'),('16280'),('16281 '),('16283'),('16284'),('16286'),('16287'),('16288 '),('16289'),('16453'),('16454'),('16455'),('16456 '),('16457'),('16458'),('16460'),('16461'),('16462 '),('16463'),('16464'),('16465'),('16466'),('16467 '),('16468'),('16469'),('16470'),('16471'),('16472 '),('16475'),('16476'),('16477'),('16478'),('16483 '),('16486'),('16488'),('16489'),('16490'),('16491 '),('16493'),('16495'),('16496'),('16497'),('16498 '),('16504'),('16505'),('16506'),('16507'),('16549 '),('16553'),('16558'),('16560'),('16561'),('16562 '),('16566'),('16570'),('16578'),('16581'),('16585 '),('16589'),('16799'),('16821'),('16824'),('16837 '),('16863'),('16865'),('16867'),('16871'),('16873 '),('16877'),('16881'),('16883'),('16885'),('16886 '),('16887'),('16896'),('16897'),('16905'),('16913 '),('16914'),('16915'),('16916'),('16917'),('16918 '),('16919'),('16923'),('16925'),('16926'),('16927 '),('16928'),('16929'),('16930'),('16932'),('16933 '),('16946'),('16947'),('16948'),('18008'),('18229 '),('18320'),('18499'),('18960'),('19100'),('19113 '),('19120'),('19121'),('19122'),('19123'),('19124 '),('19125'),('19126'),('19138'),('19139'),('19140 '),('19142'),('19179'),('19180'),('19181'),('19184 '),('19192'),('19193'),('19555'),('19556'),('19557 '),('19558'),('19559'),('19560'),('19561'),('19572 '),('19624'),('19625'),('19626'),('19631'),('19632 '),('19633'),('19634'),('19635'),('19636'),('19637 '),('19638'),('19639'),('19640'),('19641'),('19642 '),('19643'),('19644'),('19685'),('19690'),('19691 '),('19692'),('19693'),('19694'),('19695'),('19696 '),('19920'),('19921'),('19922'),('19923'),('19950 '),('19972'),('19973'),('19985'),('20110'),('20176 '),('20187'),('20198'),('20200'),('20202'),('20258 '),('20294'),('20295'),('20297'),('20386'),('20393 '),('20394'),('20403'),('20414'),('20455'),('20456 '),('20464'),('20465'),('20466'),('20467'),('20521 '),('20522'),('20523'),('20667'),('20671'),('20672 '),('21001'),('21004'),('21008'),('21009'),('21010 '),('21011'),('21012'),('21013'),('21016'),('21020 '),('21021'),('21022'),('21023'),('21024'),('21025 '),('21028'),('21032'),('21033'),('21034'),('21035 '),('21036'),('21347'),('21348'),('21610'),('21611 '),('21612'),('21613'),('21614'),('21615'),('21616 '),('21617'),('21618'),('21619'),('21620'),('21621 '),('21622'),('21623'),('21624'),('21683'),('22092 '),('22095'),('22096'),('22099'),('22102'),('22103 '),('22104'),('22105'),('22106'),('22107'),('22108 '),('22109'),('22110'),('22111'),('22112'),('22113 '),('22114'),('22115'),('22116'),('22117'),('22118 '),('22119'),('22226'),('22227'),('22229'),('22230 '),('22500'),('22501'),('22502'),('22506'),('22507 '),('22508'),('22509'),('22510'),('22511'),('22512 '),('22513'),('22525'),('22531'),('22540'),('22541 '),('22543'),('22545'),('22546'),('22548'),('22549 '),('22550'),('22551'),('22552'),('22553'),('22554 '),('22555'),('22556'),('22559'),('22560'),('22565 '),('22567'),('22568'),('22571'),('22573'),('22574 '),('22575'),('22576'),('22577'),('22578'),('22579 '),('22583'),('22584'),('22585'),('22586'),('22587 '),('22588'),('22589'),('22602'),('22610'),('22611 '),('22612'),('22613'),('22614'),('22615'),('22616 '),('22621'),('22622'),('22623'),('22624'),('22625 '),('22626'),('22627'),('22628'),('22629'),('22630 '),('22631'),('22632'),('22633'),('22634'),('22648 '),('22649'),('22650'),('22651'),('22652'),('22653 '),('22661'),('22662'),('22663'),('22664'),('22665 '),('22666'),('22667'),('22671'),('22672'),('22673 '),('22674'),('22675'),('22676'),('22677'),('22678 '),('22679'),('22680'),('22681'),('22682'),('22683 '),('22684'),('22745'),('22746'),('22747'),('22748 '),('22749'),('22750'),('22751'),('22752'),('22753 '),('22754'),('22756'),('22757'),('22758'),('22759 '),('22760'),('22761'),('22762'),('22763'),('22764 '),('22765'),('22766'),('22767'),('22768'),('22769 '),('22770'),('22771'),('22772'),('22773'),('22774 '),('22775'),('22831'),('22832'),('22833'),('22846 '),('22849'),('22892'),('22900'),('22902'),('22933 '),('22934'),('22935'),('22936'),('22937'),('22938 '),('22939'),('23026'),('23188'),('23208'),('23327 '),('23532'),('23533'),('23534'),('23535'),('23538 '),('23539'),('23540'),('23541'),('23542'),('23577 '),('23580'),('23582'),('23583'),('23584'),('23585 '),('23586'),('23587'),('23588'),('23589'),('23604 '),('23605'),('23606'),('23607'),('23608'),('23609 '),('23611'),('23612'),('23613'),('23626'),('23639 '),('23677'),('23678'),('23679'),('23717'),('23754 '),('23791'),('23816'),('23853'),('23950'),('23963 '),('23964'),('23977'),('23978'),('24071'),('24074 '),('24076'),('24077'),('24078'),('24079'),('24081 '),('24095'),('24096'),('24097'),('24098'),('24271 '),('24272'),('24321'),('24370'),('24383'),('24409 '),('24422'),('24423'),('24424'),('24425'),('24426 '),('24427'),('24428'),('24429'),('24430'),('24431 '),('24432'),('24434'),('24447'),('24448'),('24449 '),('24450'),('24451'),('24452'),('24453'),('24454 '),('24455'),('24456'),('24457'),('24458'),('24459 '),('24465'),('24467'),('24472'),('24473'),('24474 '),('24475'),('24476'),('24477'),('24483'),('24484 '),('24485'),('24489'),('24490'),('24494'),('24496 '),('24497'),('24498'),('24650'),('24651'),('24652 '),('24653'),('24654'),('24655'),('24656'),('24657 '),('24658'),('24659'),('24660'),('24661'),('24662 '),('24663'),('24664'),('24665'),('24666'),('24667 '),('24668'),('24669'),('24670'),('24671'),('24672 '),('24673'),('24674'),('24675'),('24676'),('24677 '),('24678'),('24679'),('24680'),('24681'),('24682 '),('24683'),('24684'),('24685'),('24686'),('24687 '),('24688'),('24689'),('24690'),('24691'),('24768 '),('24769'),('24864'),('24865'),('24866'),('24868 '),('24869'),('24997'),('25663'),('25664'),('25759 '),('25770'),('26896'),('27432'),('27433'),('27434 '),('27435'),('27436'),('27437'),('27438'),('27439 '),('27440'),('27441'),('27442'),('27443'),('27444 '),('27445'),('27446'),('27447'),('27448'),('27449 '),('27450'),('27451'),('27452'),('27453'),('27454 '),('27455'),('27456'),('27457'),('27458'),('27459 '),('27460'),('27461'),('27462'),('27463'),('27464 '),('27465'),('27466'),('27467'),('27468'),('27469 '),('27470'),('27471'),('27472'),('27473'),('27474 '),('27475'),('27476'),('27477'),('27478'),('27479 '),('27480'),('27481'),('27482'),('27483'),('27484 '),('27485'),('27486'),('27487'),('27541'),('27542 '),('27543'),('27544'),('27545'),('27546'),('27547 '),('27548'),('27549'),('27550'),('27551'),('27552 '),('27553'),('27554'),('27555'),('27556'),('27557 '),('27558'),('27559'),('27560'),('27561'),('27562 '),('27563'),('27564'),('27565'),('27566'),('27567 '),('27568'),('27664'),('27669'),('27670'),('27671 '),('27672'),('27673'),('27674'),('27675'),('27676 '),('27677'),('27678'),('27679'),('27680'),('27681 '),('27682'),('27683'),('27684'),('27685'),('27686 '),('27687'),('27688'),('27689'),('27690'),('27691 '),('27692'),('27693'),('27694'),('27695'),('27696 '),('27756'),('27758'),('27759'),('27760'),('27761 '),('27763'),('28059'),('28182'),('28183'),('28184 '),('28185'),('28186'),('28187'),('28229'),('28230 '),('28231'),('28232'),('28233'),('28234'),('28244 '),('28245'),('28247'),('28248'),('28249'),('28284 '),('28290'),('28546'),('28574'),('28576'),('28577 '),('28578'),('28579'),('28590'),('28591'),('28592 '),('28593'),('28799'),('29146'),('29147'),('29163 '),('29164'),('29166'),('29173'),('29194'),('29195 '),('29196'),('29417'),('29418'),('29488'),('29489 '),('29494'),('29502'),('29506'),('29507'),('29508 '),('29509'),('29510'),('29511'),('29512'),('29515 '),('29516'),('29517'),('29518'),('29519'),('29520 '),('29528'),('29529'),('29530'),('29531'),('29532 '),('29533'),('29540'),('29541'),('29542'),('29543 '),('29544'),('29545'),('29547'),('29548'),('29549 '),('29573'),('29574'),('29575'),('29576'),('29577 '),('29578'),('29579'),('29580'),('29581'),('29582 '),('29583'),('29584'),('29585'),('29587'),('29588 '),('29589'),('29590'),('29591'),('29592'),('29593 '),('29594'),('29595'),('29652'),('29653'),('29654 '),('29655'),('29656'),('29657'),('29658'),('29661 '),('29742'),('29745'),('29747'),('29748'),('29753 '),('29754'),('29755'),('29760'),('29762'),('29764 '),('29765'),('29766'),('29775'),('29776'),('29778 '),('29779'),('29781'),('29783'),('29784'),('29785 '),('29786'),('29787'),('29788'),('29791'),('29792 '),('29793'),('29794'),('29804'),('29807'),('29810 '),('29813'),('29816'),('29818'),('29823'),('29859 '),('29873'),('29874'),('29875'),('29970'),('29986 '),('29987'),('29988'),('29989'),('29990'),('29991 '),('29995'),('29996'),('29997'),('29998'),('29999 '),('30045'),('30062'),('30118'),('30140'),('30197 '),('30480'),('30481'),('30482'),('30483'),('30484 '),('30485'),('30486'),('30487'),('30489'),('30494 '),('30495'),('30496'),('30497'),('30500'),('30619 '),('30664'),('30886'),('30887'),('30889'),('30890 '),('30891'),('31598'),('31729'),('31760'),('31761 '),('31762'),('31765'),('31767'),('31768'),('31770 '),('31771'),('31777'),('32000'),('32075'),('32218 '),('32219'),('32220'),('32221'),('32222'),('32223 '),('32224'),('32225'),('32226'),('32227'),('32228 '),('32229'),('32230'),('32231'),('32232'),('32233 '),('32234'),('32235'),('32236'),('32237'),('32238 '),('32243'),('32545'),('32552'),('32554'),('32800 '),('36424'),('36430'),('37537'),('38402'),('38412 '),('38417'),('38422'),('38427'),('38432'),('38437 '),('38457'),('38467'),('38739'),('38740'),('38741 '),('38742'),('38743'),('38744'),('38745'),('38802 '),('38803'),('38804'),('38805'),('38806'),('38807 '),('38808'),('38830'),('38831'),('38832'),('38833 '),('38834'),('38835'),('38836'),('38907'),('38908 '),('38909'),('38910'),('38911'),('38912'),('38913 '),('38928'),('38929'),('38930'),('38931'),('38932 '),('38933'),('38934'),('38939'),('45200'),('45201 '),('45202'),('45209'),('45210'),('45211'),('45212 '),('45214'),('45215'),('45220'),('45221'),('45225 '),('45226'),('45227'),('45228'),('45229'),('45230 '),('45231'),('45232'),('45235'),('45236'),('45237 '),('45247'),('45250'),('45377'),('45378'),('45571 '),('45572'),('45573'),('45574'),('45581'),('45582 '),('45583'),('45590'),('45617'),('45619'),('45891 '),('45892'),('46002'),('48001'),('48003'),('48004 '),('48005'),('48006'),('48009'),('48010'),('48040 '),('51007'),('51009'),('51014'),('51017'),('51019 '),('51041'),('51042'),('51043'),('51044'),('51045 '),('51046'),('51047'),('51048'),('51049'),('51050 '),('51051'),('51052'),('51053'),('51054'),('51055 '),('51056'),('51057'),('51058'),('51059'),('51060 '),('51061'),('51062'),('51063'),('51064'),('51065 '),('51066'),('51067'),('51068'),('51102'),('51103 '),('51110'),('51135'),('51138'),('51141'),('51144 '),('51147'),('51149'),('51153'),('51155'),('51159 '),('51161'),('51163'),('51176'),('51177'),('51178 '),('51179'),('51180'),('51181'),('51182'),('51183 '),('51184'),('51185'),('51186'),('51187'),('51188 '),('51189'),('51190'),('51191'),('51192'),('51193 '),('51194'),('51195'),('51196'),('51197'),('51198 '),('51199'),('51200'),('51201'),('51202'),('51203 '),('51204'),('51205'),('51206'),('51207'),('51208 '),('51209'),('51210'),('51211'),('51212'),('51213 '),('51214'),('51215'),('51216'),('51217'),('51218 '),('51219'),('51220'),('51321'),('51323'),('51324 '),('51325'),('51326'),('51327'),('51328'),('51329 '),('51330'),('51331'),('51332'),('51333'),('51334 '),('51335'),('51336'),('51337'),('51338'),('51339 '),('51340'),('51341'),('51342'),('51343'),('51344 '),('51345'),('51346'),('51347'),('51348'),('51349 '),('51351'),('51352'),('51353'),('51354'),('51355 '),('51356'),('51357'),('51358'),('51359'),('51360 '),('51361'),('51362'),('51363'),('51364'),('51365 '),('51366'),('51367'),('51368'),('51369'),('51370 '),('51371'),('51372'),('51373'),('51374'),('51375 '),('51376'),('51381'),('51382'),('51383'),('51384 '),('51385'),('51386'),('51387'),('51388'),('51389 '),('51390'),('51391'),('51392'),('51393'),('51394 '),('51395'),('51401'),('51429'),('51432'),('52126 '),('52920'),('52929'),('52931'),('52932'),('52942 '),('52943'),('54004'),('54015'),('54093'),('54094 '),('54095'),('54096'),('54101'),('54102'),('54103 '),('54104'),('54105'),('54106'),('54107'),('54108 '),('54109'),('54110'),('54111'),('54298'),('55018 '),('55019'),('55020'),('55021'),('55022'),('55023 '),('55024'),('55104'),('55105'),('55106'),('55107 '),('55108'),('55109'),('55110'),('55111'),('55112 '),('55113'),('55114'),('55115'),('55116'),('55117 '),('55127'),('55128'),('55129'),('55130'),('55131 '),('55132'),('55133'),('55134'),('55135'),('55136 '),('55137'),('55138'),('55139'),('55140'),('55149 '),('55150'),('55151'),('55152'),('55153'),('55154 '),('55155'),('55156'),('55157'),('55158'),('55159 '),('55160'),('55161'),('55162'),('55172'),('55173 '),('55174'),('55175'),('55176'),('55177'),('55178 '),('55179'),('55180'),('55181'),('55182'),('55183 '),('55184'),('55185'),('55275'),('55276'),('55278 '),('55279'),('55280'),('55281'),('55282'),('55283 '),('55284'),('55285'),('55286'),('55287'),('55288 '),('55293'),('55308'),('55337'),('55338'),('55339 '),('55340'),('55341'),('55342'),('55343'),('55344 '),('55345'),('55346'),('55347'),('55348'),('55349 '),('55350'),('55361'),('55362'),('55363'),('55364 '),('55365'),('55366'),('55367'),('55368'),('55369 '),('55370'),('55371'),('55372'),('55373'),('55374 '),('55384'),('55385'),('55386'),('55387'),('55388 '),('55389'),('55390'),('55391'),('55392'),('55393 '),('55394'),('55395'),('55396'),('55397'),('55408 '),('55409'),('55410'),('55411'),('55412'),('55413 '),('55414'),('55415'),('55416'),('55417'),('55418 '),('55419'),('55420'),('55421'),('55478'),('55479 '),('55480'),('55481'),('55482'),('55483'),('55484 '),('55485'),('55486'),('55487'),('55488'),('55489 '),('55490'),('55491'),('55577'),('55578'),('55623 '),('55780'),('55790'),('55791'),('57005'),('57006 '),('57056'),('57600'),('57998'),('57999'),('58008 '),('58019'),('58020'),('58021'),('58023'),('58024 '),('58025'),('58026'),('58028'),('58029'),('58031 '),('58032'),('58033'),('58034'),('58035'),('58036 '),('58038'),('58039'),('58040'),('58042'),('58043 '),('58044'),('58045'),('58046'),('58053'),('58055 '),('58056'),('58057'),('58058'),('58060'),('58061 '),('58062'),('58063'),('58064'),('58065'),('58066 '),('58068'),('58069'),('58070'),('58072'),('58077 '),('58078'),('58079'),('58080'),('58081'),('58088 '),('58091'),('58096'),('58102'),('58103'),('58105 '),('58113'),('58116'),('58119'),('58123'),('58128 '),('58129'),('58133'),('58134'),('58135'),('58136 '),('58138'),('58139'),('58140'),('58141'),('58142 '),('58145'),('58146'),('58147'),('58148'),('58149 '),('58151'),('58152'),('58158'),('58160'),('58161 '),('58162'),('58163'),('58164'),('58167'),('58168 '),('58169'),('58172'),('58173'),('58178'),('58179 '),('58184'),('58185'),('58186'),('58191'),('58195 '),('58199'),('58202'),('58204'),('58207'),('58211 '),('58214'),('58218'),('58222'),('58223'),('58224 '),('58226'),('58227'),('58228'),('58242'),('58244 '),('58262'),('58265'),('58266'),('58267'),('58268 '),('58269'),('58270'),('58271'),('58272'),('58273 '),('58274'),('58275'),('58276'),('58277'),('58280 '),('58284'),('58286'),('58288'),('58290'),('58291 '),('58292'),('58293'),('58294'),('58295'),('58296 '),('58297'),('58298'),('58304'),('58380'),('58382 '),('58383'),('58384'),('58385'),('58386'),('58387 '),('58388'),('58389'),('58390'),('58396'),('58472 '),('58474'),('58475'),('58476'),('58477'),('58478 '),('58479'),('58480'),('58481'),('58482'),('58555 '),('58557'),('58558'),('58559'),('58560'),('58561 '),('58562'),('58563'),('58564'),('58565'),('58639 '),('58645'),('58646'),('58683'),('58684'),('58685 '),('58686'),('58783'),('58785'),('58789'),('58827 '),('58828'),('58830'),('58831'),('58847'),('58869 '),('58870'),('58884'),('58885'),('58886'),('58887 '),('58888'),('58889'),('58899'),('58900'),('58901 '),('58903'),('58905'),('58906'),('58907'),('58909 '),('58927'),('58928'),('58930'),('58931'),('58943 '),('58944'),('58946'),('58947'),('58963'),('59048 '),('60162'),('60178'),('60187'),('60188'),('60215 '),('60216'),('60217'),('60218'),('60241'),('60250 '),('61102'),('61103'),('61104'),('61105'),('61106 '),('61107'),('61108'),('61109'),('61110'),('61111 '),('61112'),('61113'),('61114'),('61115'),('61116 '),('61117'),('61118'),('61119'),('61120'),('61121 '),('61122'),('61123'),('61124'),('61125'),('61126 '),('61127'),('61128'),('61129'),('61130'),('61131 '),('61132'),('61133'),('61134'),('61135'),('61136 '),('62490'),('62491'),('62492'),('62500'),('62607 '),('62608'),('62609'),('62610'),('62650'),('62651 '),('62652'),('62820'),('62823'),('62830'),('62832 '),('62834'),('62858'),('62859'),('62860'),('63055 '),('63056'),('63057'),('63058'),('63059'),('63060 '),('63061'),('63062'),('63064'),('63065'),('63066 '),('63067'),('63068'),('63069'),('63070'),('63071 '),('63072'),('63073'),('63074'),('63075'),('63076 '),('63080'),('63081'),('63082'),('63083'),('63084 '),('63085'),('63086'),('63171'),('63172'),('63173 '),('63175'),('63176'),('63186'),('63187'),('63192 '),('63193'),('63194'),('63196'),('63214'),('63216 '),('63246'),('63247'),('63248'),('63249'),('63250 '),('63251'),('63252'),('63253'),('63254'),('63255 '),('63256'),('63257'),('63258'),('63259'),('63260 '),('63261'),('63262'),('63263'),('63264'),('63265 '),('63266'),('63267'),('63268'),('63269'),('63270 '),('63271'),('63272'),('63273'),('63274'),('63275 '),('63277'),('63278'),('63279'),('63281'),('63282 '),('63283'),('63284'),('63285'),('63287'),('63288 '),('63289'),('63290'),('63291'),('63292'),('63293 '),('63294'),('63295'),('63297'),('63298'),('63299 '),('63300'),('63302'),('63303'),('63304'),('63305 '),('63306'),('63307'),('63308'),('63309'),('63310 '),('63311'),('63312'),('63313'),('63314'),('63317 '),('63327'),('63328'),('63329'),('63331'),('63332 '),('63342'),('63348'),('63387'),('63390'),('63400 '),('63404'),('63406'),('63432'),('63443'),('63444 '),('63445'),('63446'),('63447'),('63448'),('63464 '),('63503'),('63506'),('63516'),('63517'),('63520 '),('63522'),('63523'),('63526'),('63548'),('63560 '),('63561'),('63563'),('63564'),('63619'),('63622 '),('63636'),('63642'),('63676'),('63677'),('63679 '),('63680'),('63690'),('63735'),('63736'),('63738 '),('63833'),('63834'),('63835'),('63836'),('63840 '),('63841'),('63842'),('63843'),('63844'),('63859 '),('63860'),('63861'),('63862'),('65000'),('65001 '),('65002'),('65003'),('65004'),('65005'),('65006 '),('65007'),('65008'),('65009'),('65010'),('65011 '),('65012'),('65013'),('65014'),('65015'),('65016 '),('65017'),('65018'),('65019'),('65020'),('65021 '),('65022'),('65023'),('65072'),('65073'),('65074 '),('65075'),('65076'),('65077'),('65078'),('65079 '),('65080'),('65081'),('65082'),('65083'),('65084 '),('65085'),('65114'),('65115'),('65138'),('65144 '),('65145'),('65147'),('65148'),('65155'),('65156 '),('65157'),('65158'),('65159'),('65160'),('65161 '),('65162'),('65163'),('65164'),('65165'),('65166 '),('65167'),('65168'),('65169'),('65170'),('65177 '),('65178'),('65179'),('65180'),('65181'),('65182 '),('65183'),('65184'),('65185'),('65186'),('65187 '),('65188'),('65189'),('65190'),('65191'),('65192 '),('65199'),('65200'),('65201'),('65202'),('65203 '),('65204'),('65205'),('65206'),('65207'),('65208 '),('65209'),('65210'),('65211'),('65212'),('65213 '),('65214'),('65221'),('65222'),('65223'),('65224 '),('65225'),('65226'),('65227'),('65228'),('65229 '),('65230'),('65231'),('65232'),('65233'),('65234 '),('65235'),('65236'),('65243'),('65244'),('65245 '),('65246'),('65247'),('65248'),('65249'),('65250 '),('65251'),('65252'),('65253'),('65254'),('65255 '),('65256'),('65257'),('65258'),('65259'),('65260 '),('65355'),('65357'),('65358'),('65417'),('65418 '),('65421'),('65428'),('65429'),('65430'),('65432 '),('65433'),('65434'),('65435'),('65436'),('65437 '),('65438'),('65439'),('65440'),('65441'),('65442 '),('65443'),('65444'),('65445'),('65460'),('65465 '),('65467'),('65471'),('65472'),('65473'),('65474 '),('65475'),('65478'),('65479'),('65480'),('65483 '),('65484'),('65485'),('65489'),('65499'),('65579 '),('65580'),('65583'),('65587'),('65591'),('65593 '),('65595'),('65596'),('65598'),('65599'),('65600 '),('65601'),('65633'),('65634'),('65635'),('65636 '),('65637'),('66120'),('66121'),('66122'),('66123 '),('66124'),('66125'),('66153'),('66155'),('66156 '),('66157'),('66158'),('66160'),('66161'),('66162 '),('66164'),('66165'),('66170'),('66171'),('66172 '),('66173'),('67448'),('67491'),('67741'),('69309 '),('69325'),('69326'),('69327'),('69328'),('69329 '),('69330'),('69331'),('69332'),('72008'),('72013 '),('72014'),('72016'),('72021'),('72022'),('72024 '),('72025'),('72027'),('72028'),('72029'),('72030 '),('72031'),('72032'),('72033'),('72035'),('72036 '),('72046'),('72047'),('72049'),('72053'),('72055 '),('72058'),('72059'),('72060'),('72064'),('72066 '),('72075'),('72076'),('72079'),('72082'),('72095 '),('72100'),('72102'),('72106'),('72108'),('72110 '),('72112'),('72114'),('72120'),('72122'),('72126 '),('72128'),('72130'),('72132'),('72134'),('72136 '),('72138'),('72156'),('72158'),('72159'),('72312 '),('72314'),('72330'),('72332'),('72336'),('72500 '),('72656'),('72698'),('75006'),('75007'),('75008 '),('75009'),('75018'),('75020'),('75341'),('75669 '),('75670'),('75671'),('75672'),('75703'),('75705 '),('75709'),('75710'),('75716'),('75717'),('75718 '),('75731'),('75732'),('75781'),('75782'),('75805 '),('75807'),('75808'),('75809'),('75817'),('75818 '),('75819'),('75822'),('75837'),('75838'),('84082 '),('84083'),('84084'),('84085'),('84086'),('84087 '),('84088'),('84089'),('84090'),('94000'),('96381 '),('96467'),('96933'),('97173');
ALTER TABLE _craft_merchant ADD (name VARCHAR(100) NOT NULL DEFAULT '', cost INT(11) NOT NULL DEFAULT '0');
UPDATE _craft_merchant, items SET _craft_merchant.name=items.Name, _craft_merchant.cost=items.price WHERE _craft_merchant.item=items.id;
UPDATE _craft_merchant SET cost=cost+((FLOOR(RAND() * 401) + 100));
UPDATE _craft_merchant SET cost=cost*2;

DROP TABLE IF EXISTS _item_search;
CREATE TABLE _item_search AS
SELECT DISTINCT
items.id AS search_item,
items.name AS search_name,
spells_new.name AS spell_name,
npc_types.name AS search_merchant,
zone.long_name AS search_location,
spells_new.classes1 AS class_warrior,
spells_new.classes2 AS class_cleric,
spells_new.classes3 AS class_paladin,
spells_new.classes4 AS class_ranger,
spells_new.classes5 AS class_shadow,
spells_new.classes6 AS class_druid,
spells_new.classes7 AS class_monk,
spells_new.classes8 AS class_bard,
spells_new.classes9 AS class_rogue,
spells_new.classes10 AS class_shaman,
spells_new.classes11 AS class_necro,
spells_new.classes12 AS class_wizard,
spells_new.classes13 AS class_mage,
spells_new.classes14 AS class_enchant,
spells_new.classes15 AS class_beast,
spells_new.classes16 AS class_berserk
FROM merchantlist, npc_types, spawnentry, spawn2, zone, items LEFT JOIN spells_new ON items.scrolleffect=spells_new.id
WHERE items.id=merchantlist.item AND merchantlist.merchantid=npc_types.id AND npc_types.id=spawnentry.npcID AND spawnentry.spawngroupID=spawn2.spawngroupID AND spawn2.zone=zone.short_name
ORDER BY items.name;

ALTER TABLE _item_search ADD (search_index INT(20) AUTO_INCREMENT PRIMARY KEY);

Element D
09-04-2018, 04:09 PM
Sourced that in and it went with no errors. Still no search results. (not sure how you attach pictures or i'd show what i'm seeing)

Not sure what is different if that's all there is to it. Would have been nice, but i guess we can live without it. Thanks for your help nonetheless.

Inchronoth
09-08-2018, 10:25 PM
Hello,

Just want to say thanks to you for making this possible.
I'm going on a new quest with my necromacer!

I have 2 all acces accounts but I rather prefer to play this one!!!!

Thank you

djeryv
09-09-2018, 07:40 AM
Hello,

Just want to say thanks to you for making this possible.
I'm going on a new quest with my necromacer!

I have 2 all acces accounts but I rather prefer to play this one!!!!

Thank you
Are you doing the quests from the witches? I am really happy on how those turned out. It took alot of various database queries to determine the items that dropped in zones nearby...but it took the longest to write all of the flavor text for each quest.

I can appreciate the old school quests from EQ, but they just seemed skewed to the point of "why do them". I still remember having a quest to deliver mail from Faydark to Qeynos and I was maybe level 3 or 4. I found a barbarian to SOW me and ran all of the way...the whole time wondering if something would one-hit kill me. I get to Qeynos...deliver the mail...and get a small amount of copper and a little bit of fame. It just felt like a big waste of time.

dagulus2
10-04-2018, 05:52 AM
Just a follow up to say I have been testing the item search NPc for some time now. I have had no problems and I think its really useful. Thumbs up.

loglos
10-04-2018, 08:37 AM
Hi. I'm using your solo package too. I started working on my own scripts and then saw a post from you. You did about 90% of what I was thinking of and some I hadn't thought of. The extra quests are great. Thanks for that. I know it's a lot of work.

I tweaked a few things of my own just for my preference in playing. But to your comment about the existing quests, I agree. So I have edited many of those to increase the rewards (plat, exp or item, depending on the quest). I am also working on some code to offer XP for everyday actions. Tailored up a glove, little bit of xp. Caught a fish, little bit of xp. Made some batwing crunchies, little bit of xp. etc. Most of that is still under construction (a lot of work and even some source changes) but I think in the long run worth it. At the end, I want someone to be able to level up doing nothing but quests and tradeskills.

Thanks for sharing your solo code. It's really good stuff.

Loglos

GlassDeviant
10-04-2018, 12:34 PM
Can someone direct me to some quick instructions on how to get up to speed on this emulator, like an "EQ Emulator for Dummies", preferably using this soloing configuration?

I'd like to get a local server set up fairly quickly to muck around on before I start doing anything fancy/complicated.

loglos
10-04-2018, 01:00 PM
Can someone direct me to some quick instructions on how to get up to speed on this emulator, like an "EQ Emulator for Dummies", preferably using this soloing configuration?

I'd like to get a local server set up fairly quickly to muck around on before I start doing anything fancy/complicated.

https://github.com/EQEmu/Server#-windows is your starting place. That's for a windows server and right below that is linux. It is a super easy process to get up and running.

GlassDeviant
10-05-2018, 02:32 PM
Thanks. Is there a particular distro the Linux version is best used with? I have a machine ready to go but it's bare metal right now so I can go with anything.

loglos
10-05-2018, 03:43 PM
I'd say best is whatever you are most familiar with. I went with Ubuntu for no really good reason. I can't imagine any reason pretty much any distro wouldn't work as well as any other.

I actually put mine in a virtualbox so I can move it around as needed.

GlassDeviant
10-05-2018, 09:44 PM
That makes sense, though I have this dedicated physical box that I variously use for minecraft, Empyrion and other game servers. It's only bare metal now because I upgraded my gaming rig so I had some spare parts to move to it, including much bigger HDDs. Perhaps it's the perfect time for me to go virtual on it.

Cheers,

GlassDeviant
10-06-2018, 05:47 PM
Aaaand...everything is completely screwed up now.

djeryv
10-06-2018, 06:45 PM
You should probably move your posts to a support part of the forum as this is just a thread about a custom set of scripts that allow someone to change the normal EQ install into something that can be played with low population and/or solo servers.

GlassDeviant
10-07-2018, 09:56 AM
Yeah I was a bit tired at the time. Going to post there once I figure out where the install log is.

GlassDeviant
10-11-2018, 02:00 AM
Well, I did have to make tables instead of views because views cannot have primary keys set. When I moved to the table format, and set primary keys, the queries she ran were really quick.

So the SQL would need to be ran each time you add to merchants, but there is a command to drop the table if it exists and recreate it so it is a quick matter...but you would need to remember to run it.

Here's a thought. Would it be possible to add the ability to say to her something like, "have you met any new merchants?", and have her do a live table drop and rebuild while in the server playing? With some sort of limit on how often the drop/rebuild could happen, like...no more than once per hour or only once per server restart.

Also, when I want to use HeidiSQL to access the EQ tables to mess with stuff, or add the stuff from your EQEmuSoloSettings.zip archive, do I start the EQ server first? And should I start it without the login server via t_start_server.bat, as opposed to t_start_server_with_login_server.bat?

djeryv
10-11-2018, 10:52 AM
If a query cannot run super-quick, then players will notice when the server stops responding. So your idea would cause that temporary freeze as tables are dropped and rebuilt. My final solution works fine on my system so I will leave it as is.

You should have your server off before adding this package.

GlassDeviant
10-11-2018, 02:56 PM
Ok, I wasn't sure whether that was something that could be spun off to a thread or not. These tables would only need to be dropped and rebuilt once each time a new merchant (or several) was added though, right? So just once after restarting the server post-add, it wouldn't even need an interactive command. That part was just my overactive imagination at odd, early morning hours after little sleep. :)

Edit: OK, when I go to back up my PEQ server before messing with it (i.e.: installing your solo server files, or just messing with things on my own), I am using HeidiSQL and doing "Export to SQL". Should I tick the Drop (and Create) boxes for databases and tables, so that if I need to restore after I inevitably mess up, it will drop all the tables (and the bad data) and restore it to completely pristine condition, or just the Create boxes?

djeryv
10-11-2018, 04:53 PM
To slightly digress, I backup my server every time I shut it down. I run a local VM and play single player so I only fire up the VM Linux server when I want to play and then my shutdown routine backs up the database first. So you should always make constant backups of your database.

Now, onto your question. Yes! Backup your stuff first because my queries will change things in your existing tables so you only want to run this entire package once. After you back it up, IMPORT my queries and then fire up your server. Then if you see a witch outside of the town you are in, then it loaded fine. To be more precise, see if they offer quests because that means the database was truly loaded.

Now, the queries that create the extra tables can be ran more than once because the query drops the current one and recreates them. So if you add vendors and items, you can rerun the query and get an updated list of sale items. This normally isn't an issue because most people run a server straight out of the box...meaning they aren't adding things to it because it is quite difficult and the "out of the box" setup has everything you need to play. People generally want their servers to be unique so they add custom content and such. Casual server admins don't really do this.

Now, my queries add extra vendors in the Bazaar...so you could argue that I add custom stuff. But I was quite thorough of combing the database for items before putting them on Bazaar merchants of having them be Witch rewards. It was alot of work. Trust me. I tried to avoid touching items that you can get by killing monsters, as I think those should remain exactly that...items you get from monsters.

GlassDeviant
10-11-2018, 07:20 PM
I'm totally casual as a server admin.

Right up until I see how I could do something ... interesting.

I'll probably scan through your code a few times before I invoke it, for instance I definitely want to reinstate the PoK books as I want to recreate the feeling of being a wholly new EQ player in the time of RoF, not my experience of having to learn a game in its unfinished state (I played in beta, some time around late 97 or early 98 but that was 20 years ago) with zero documentation.

Do you know of any way to get Sunrise Hills up and running? I can't get to it on my default server.

l0stmancd
10-20-2018, 05:49 PM
A follow up from the problem user "Element D" had with the solo server not responding to queries. I am having a similar problem but have traced it to a failure in line "my $connect = plugin::LoadMysql();".

For whatever reason, any of the solo server scripts quietly fail (no logged errors) when it hits this line. Surrounding it with try/catch wasn't able to catch an error either. I can say, though, no lines are executed after this LoadMysql() command is hit (added debug output to validate). This affects not just searching but also "leaving" the tutorial (you get prompted that it will send you to your location and then nothing happens).

I wish I could say that I resolved this issue but I have not. I did find, perhaps, an oddity - using Akkadius "Windows server" script I found a plugins directory in both /quests/ as well as in the main server directory containing what looks like exactly the same files. I removed the plugins from /quests/ per http://wiki.eqemulator.org/p?Perl_Plugins_Master_Reference line "Perl plugins are ALWAYS installed to ServerDirectory\plugins\ NOT ServerDirectory\quests\plugins\ and restarted the server but no change in behavior.

Anytime any of the new solo perl scripts its the request for the mysql connection it quietly fails and does not go past this. My setup is a new installation using Akaddius's script. Any ideas folks?

GlassDeviant
10-20-2018, 10:38 PM
Is perl actually getting installed?

I forgot to run Akkadius' windows install script as admin, which prevented perl from installing at all, thus breaking every perl script. The second time I did it right and everything went smoothly.

l0stmancd
10-20-2018, 10:50 PM
The script is being ran up to the point it hits that MySQL call. You hail them, it responds, it binds, just quietly fails at that point.

Since the script is perl I would assume this means perl is running it.

djeryv
10-21-2018, 12:14 PM
I run mine on Linux. Not sure it is an issue. Just mentioning it.

Also, you can have perl installed all day long...but if you don't have the MySQL plugin installed for Perl, you won't be able to run queries. The reason you can't leave the tutorial is because it does a MySQL query to see where to put you based on your character. It is getting stuck like the other scripts in my package. I never mention this in my readme because I thought it comes default with the package...but maybe I am wrong.

So make sure the DBD::mysql - MySQL driver is installed.

Element D
11-11-2018, 07:16 PM
Not sure if I should have created a new thread for this, but is there anything in this package that caps leveling at 70? I can command level (#level) past 70, and still gain xp, but no further leveling naturally. AA leveling is normal.

By "still gain xp" i mean it shows the xp bar increase, but when its full it just resets with no level gained.

Riklin
12-31-2018, 09:20 PM
I have been playing this solo server for a while. First, I set it up on a windows 10 pc, and run it using the local login server. The setup was extremely easy. Akka really made it simple, compared to the old way, which used to take a full day to set up... copying the files from the solo_server zip file was no problem, and the sql script itself ran flawlessly. Anyway, on to the game itself...

The GOOD:
The added NPCs work nicely and are a nice addition. The additional quests are definitely welcome, as something new to work on! In zones that used to be train "traps" like blackburrow, befallen, crushbone, you can single pull and fight much easier than before. In all my hours, I have not had a single train. A few adds, yes, but no trains. The gear that you get from the new quests is pretty good for the level, compared to what you used back in the day, the first time through. All in all, this looks promising and will likely provide a bunch of hours of enjoyment.

The Bazaar merchants are a really, really nice addition, btw!

Things I question:

1. I am finding the npc's regen faster than they used to. For instance in blackburrow, they will be back up to around 70% in 12-18 seconds! Not sure if this was intentional, to me that makes it less solo useful...

2. I find the respawn delay to be more of a hindrance than a benefit. EverQuest is a grind. NPCs do not drop what you want every time. Because of this additional delay, it makes quests in the game that depend on rare drops, even more of a pain to do.

3. The shaman in pok would be much more useful if he was more "prolific", as in found in more than PoK. SoW is one of the key spells in Norrath, and with the shaman in 1 place, that puts people dependent on PoK... EDIT: just found the SoW pots in the Bazaar... Oops... ;-)

4. If you set the character to a GM, you will see that the "character_aura" table is missing, and this is with the latest Akka windows install.


Thank you for offering this solo server package! It is a welcome diversion!

GlassDeviant
01-01-2019, 06:45 PM
1. Maybe compared to live "real" EQ, but the npc regen seems to me pretty accurate for the RoF2 expansion, which is the max client level which will work with EQEmu.

2. Respawns are pretty close to what I remember, having played since 1998 (beta) through VoA.

3. Yeah, with all the potions available the shaman is not really necessary. All of my characters run with at least a stack of every useful one (sow, mana regen, hp regen, haste, etc. as appropriate to their classes).

4. It's possible that your install hit a snag, all of the tables are fine on my solo server but I had to run the install twice to get it completely installed properly. Try running some aura buffs from the console and see if they show up in the auras window and actually work. If they don't you may need to reinstall over top of your existing server.

Riklin
01-01-2019, 08:43 PM
When you started playing EQ is irrelevant. The conversation here is specifically about this solo server mod with the current PEQ source, used in AKKA's great install scripts. The respawn rates were one of the very specific things this solo pack changed! The respawn rates are very different, especially for zones that used to be common for trains. Some of these very zones btw, are ones with rare spawns that are already a pain. This makes those even take longer with the longer respawn rates. These respawn rates are also very different than the default PEQ database.

Regarding the character_aura table, I found where that table was added back in June this year, so copied the sql and added that table. character_aura is definitely missing from the current peq source. Regarding install problems, nothing was in the log files after the install, and I installed this TWICE, once on a Debian Linux box and again on a windows 10 box. BOTH setups showed these SQL messages after the account.status was set to 250.

There is also another SQL error that shows up when you search in the bazaar. Apparently this year sometime a change was made to items.spellid was changed to items.clickeffect. There appears to be SQL still dependent on that spellid column, specifically when you perform a search in the bazaar.

djeryv
01-02-2019, 02:41 PM
You could reload all of the database tables from source (excluding character ones), and then take out any respawn change queries I have in my solo server package. Then load my solo server package and you will have the original respawn times but all of my other stuff.

Riklin
01-02-2019, 06:45 PM
That is exactly what I was looking into. I'm only about half way through the code so far, but I'll find the stuff to comment out soon, I hope... ;-)

djeryv
01-02-2019, 07:24 PM
Get rid of this part and you will be all set

-- This increases spawn rates for the quick spawning monsters
-- It allows you to clear dungeons easier

UPDATE spawn2 SET respawntime=1800 WHERE respawntime<1800;

...or reduce the time.

anithos
01-17-2019, 12:41 AM
I ran the eqemu installer from akkadius and only running a local server. I can join and play the server from a fresh install but as soon as I modify the database with the solo-server.sql I can no longer see the server running in game. I followed the steps in the read me and from other post in this thread. It does appear to be up and running from what I can see on the cmd windows running. Anyone have any advice?

Techungry
02-07-2019, 12:39 PM
First I want to thank you for the scripts as this has made a fairly entertaining solo server for me and my friends so far. Curious if you developed any approaches to scaling down NPC spells? These updates work pretty well for most content but I found a few issues one you start getting into higher levels.

NPC pets were not scaled. The best approach I came up with to solve this one was to identify pets which were NPC only and a scale those. Not sure how well that will work in the long run if there are lots of NPCs using pets which are also use for PCs.

NPC spells are still full strength. Have to be real careful dealing with casters. Raid targets fall into this category as well. Any spells or procs they have do full damage still. I am not sure how best to approach this one other than going through one by one :shock:.

I also had to edit the Perl script for the Sister in PoK, who could sent you to zoned not yet done where NPC’s hit for millions...I just removed those from her list.

bigwhitebuddha
02-10-2019, 03:38 PM
Hey there,

First of all, thank you so much for putting together this for everyone! I was wondering if someone could give me a hand with an issue I am experiencing.

After installing the Akka's repack, I downloaded your server files. I placed all of the .pl files in the correct location, but am having trouble figuring out where to put the main .SQL file. I placed it in the mariadb folder with the other .sql files, but this proved to do nothing.

I have tried to look on various forums and guides and haven't discovered anything in regards to overwriting sql files. Can anyone help me with this?

bigwhitebuddha
02-11-2019, 10:18 AM
After doing some digging, I realized that the sql file is on a server...

However, I am still having trouble understanding how to tell my existing server to source the new sql file given by this forum. Any help?

John C
02-11-2019, 11:10 AM
The SQL file in this package are the statements that have to be executed once in order to update the database. You CTRL-C copy the entire file and then paste it into the Query tab in HeidiSQL and run them from there. There are a lot of details on how to do that on page 2 of this thread if you aren't familiar with Heidi. Good luck and let us know if you still have trouble.

greenspectre
02-16-2019, 12:04 PM
I just wanted to say thank you for all the work you've done on this package. I look forward to giving it a good try, but I have a tech support question. I followed you instructions and set my server up, was able to log into it and make a character and everything, but I'm noticing the mobs in Gloomingdeep at least are not respawning at all. This includes the barrels and nests. Is that a package problem or a server setup problem?

Techungry
02-16-2019, 10:35 PM
One of the items in the script lengthens drastically the spawn times to 30 minutes. Restore your DB table and comment out this line before running the script again.

UPDATE spawn2 SET respawntime=1800 WHERE respawntime<1800;

I choose to start over myself and remove that and a few other things. With the scaled down NPC's and reduced agro ranges its really not necessary. I also choose to replace the NPC scaling and instead used Akkadius scaling tables because it effects both melee and spells. If you use this script NPCs can’t hit you well with melee but they still do full damage with spells and heals so any caster is pretty sketchy if it’s red or yellow.

I know it wasn't the question but I though I would share my modification to the NPC scaling so that it proportionally adjusted each based on their original values. I found that having every level X NPC having the same HP etc...lost some of the uniqueness and diversity of NPC's strengths. I used the spellscale and healscale columns in teh NPC tables to tune down their spells and heals on top of that.

Something like this. You can't run it twice without restoring npc_types table with original values since it bases the scale on the value at the time you run it. That list of ID's included under 1000 are NPC's pets I identified who were incredibly strong with the original script since they were not touched.

-- scale hp/damage down
-- =1-(LEVEL/81)
UPDATE npc_types SET hp=CEIL(hp*(1-(LEVEL/80))) WHERE (LEVEL<81 AND ((id>1000 AND id<800000)) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET hp=CEIL(hp*(1-(LEVEL/80))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET maxdmg=CEIL(maxdmg*(1-(LEVEL/80))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET mindmg=CEIL(mindmg*(1-(LEVEL/80))) WHERE LEVEL>20 AND LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- scale spell and heal down
UPDATE npc_types SET spellscale=50 WHERE level>19 AND rare_spawn=0 AND raid_target=0 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET healscale=50 WHERE level>19 AND rare_spawn=0 AND raid_target=0 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));

Melciah
02-22-2019, 06:52 PM
Techungy, if I want to try your hp/damage updates would I replace the npc_types section of the SQL when import, or run yours after the oroginal from Solo_server to get the desired results?

Techungry
02-23-2019, 02:22 PM
It would be done in place of the related adjustments in the original script. In other words, the adjustment would be to the default out of the box table values. I am actually still tuning it a bit. Here is the entire adjustments I am using to the npc_types table. Just remove any sql related to adjusting the stats of the npc_types table in teh original script and use this in its place.

LOCK TABLES `npc_types` WRITE;
-- scale STR up to to hit more frequently
-- UPDATE npc_types SET STR=CEIL(STR*1.2);
-- scale hp/damage down
-- =1-(LEVEL/89)
UPDATE npc_types SET hp=CEIL(hp*(1-(LEVEL/89))) WHERE (LEVEL<81 AND ((id>1000 AND id<800000)) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET maxdmg=CEIL(maxdmg*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET mindmg=CEIL(mindmg*(1-(LEVEL/89))) WHERE LEVEL>20 AND LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- scale spell and heal down
UPDATE npc_types SET spellscale=50 WHERE level>19 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET healscale=50 WHERE level>19 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- adjust agro radius down
UPDATE npc_types SET aggroradius=CEIL(aggroradius*0.30) WHERE aggroradius>20;
-- scale resists down
UPDATE npc_types SET MR=CEIL(MR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET CR=CEIL(CR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET DR=CEIL(DR*(1-(LEVEL/89))) WHERE LEVEL<81 AND id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET FR=CEIL(FR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET PR=CEIL(PR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET Corrup=CEIL(Corrup*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UNLOCK TABLES;

John C
02-23-2019, 03:57 PM
Techungry -
I just applied your adjustments to give them a spin. I like the scaling concept and was intending to do something similar, so thanks for sharing. Just FYI though, you lost a couple of parentheses during your cut and paste on the DR line (missing "((" just before "id"). I was able to correct it for my load, but you might want to do a little edit to ensure it works for others.

Update: I like the way it is playing so far. I just get naturally worried that there is no scaling applied to anything over level 80. It likely doesn't matter since most of those are outside of what is typically playable, but just to be safe I added a few lines to adjust them too - I just had to bend the nerf curve a bit. Just in case you are interested, here is what I am using:

LOCK TABLES `npc_types` WRITE;
-- scale STR up to to hit more frequently
-- UPDATE npc_types SET STR=CEIL(STR*1.2);
-- scale hp/damage down
-- =1-(LEVEL/89)
UPDATE npc_types SET hp=CEIL(hp*(1-(LEVEL/89))) WHERE (LEVEL<81 AND ((id>1000 AND id<800000)) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET maxdmg=CEIL(maxdmg*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET mindmg=CEIL(mindmg*(1-(LEVEL/89))) WHERE LEVEL>20 AND LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- scale spell and heal down
UPDATE npc_types SET spellscale=50 WHERE level>19 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET healscale=50 WHERE level>19 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- adjust agro radius down
UPDATE npc_types SET aggroradius=CEIL(aggroradius*0.30) WHERE aggroradius>20;
-- scale resists down
UPDATE npc_types SET MR=CEIL(MR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET CR=CEIL(CR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET DR=CEIL(DR*(1-(LEVEL/89))) WHERE LEVEL<81 AND id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET FR=CEIL(FR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET PR=CEIL(PR*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET Corrup=CEIL(Corrup*(1-(LEVEL/89))) WHERE LEVEL<81 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));

-- Adjusted formulas to change incline rate after level 80

UPDATE npc_types SET hp=CEIL(hp*(0.3-(LEVEL/400))) WHERE (LEVEL>80 AND ((id>1000 AND id<800000)) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET maxdmg=CEIL(maxdmg*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET mindmg=CEIL(mindmg*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
-- scale spell and heal down
UPDATE npc_types SET MR=CEIL(MR*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET CR=CEIL(CR*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET DR=CEIL(DR*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET FR=CEIL(FR*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET PR=CEIL(PR*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UPDATE npc_types SET Corrup=CEIL(Corrup*(0.3-(LEVEL/400))) WHERE LEVEL>80 AND ((id>1000 AND id<800000) OR id IN ('635','636','646','649','650','667','668','669',' 673','676','677','679','679','679','680','681','82 9','923','924'));
UNLOCK TABLES;

Melciah
02-26-2019, 10:29 PM
Man, now I'm torn...

I love the idea of a modded server for solo play, but I've been looking into a few things and it appears that The Al'Kabor Project is everything I would want in a dream EQ1 server...minus the option for a LAN only version to customize further.

Monet
03-31-2019, 03:43 PM
Hey there, first off thanks for the work you've put into this! Really enjoy the changes you've made and looking forward to getting further into it to take out some of those bosses I've always wanted to get revenge on :)

Having a bit of an issue in playing with a friend. Got the server up and running fine, shows up on the server ist, we can both log in (me locally from the same machine, him via the internet), and we can adventure and kill things and take their stuff normally. However, if we Hail the new added NPCs (Teacher, etc.) it will crash the other player's client. He hails the Teacher, I crash, I hail the Teacher, he crashes. If I'm by myself, I can use them fine. Any clues as to what is going on?

I'm thinking my system should handle things fine, but here are the specs: Windows 10 Pro, i7 4790K quad core @ 4GHz, 16G RAM, GTX 1080Ti card, and the server is running off an SSD drive.

l0stmancd
04-02-2019, 09:17 PM
FYI - I started up a new server installation on a cloud host and this works great. My family is enjoying this a lot.

Did anyone make custom quests of this sister style for levels above 20 or so? I can see us running out of 'quests' soon so thats a bummer.

Also - I found that one of the rewards in nektulos forest is a ring that _summons the mage epic creature_. So that was a thing. I thought it would be fun for a sec until I realized it made playing the game pointless and dropped it. Throwing that out there.

Drosten
04-03-2019, 09:57 AM
FYI - I started up a new server installation on a cloud host and this works great. My family is enjoying this a lot.


This is a smart choice. We also host plenty of game projects in the cloud and this works like a miracle :)

djeryv
04-04-2019, 08:25 PM
Did anyone make custom quests of this sister style for levels above 20 or so? I can see us running out of 'quests' soon so thats a bummer.
A Sister in the Plane of Knowledge has some over 20. If you fully used my package, almost all of the books to the PoK are gone from the starter areas to give that classic feel of starting in an area based on race. Anyway, there are a couple of PoK books left and I think one is in the center of the Karana plains.

Rodnoldo
05-24-2019, 05:49 PM
Hello, planning to build this solo server for the family.
When I look at the Google Drive file, EQEmuSoloSettings.zip was modified Sept 4, 2018.

I see references in this forum thread indicating code updates and fixes. Also some tweaks.

Is all of this included in a version of the "solo_server.sql" downloadable someplace?
Or should I install the package from the Google Drive and run through this thread to add the fixes suggested?

Not complaining, just asking. Thanks, very much.

djeryv
05-24-2019, 07:17 PM
The suggestions are just suggestions that are not included...so do the ones that interest you. I never needed them but our play styles differ.

Hondo
06-06-2019, 03:07 PM
Been having a blast with your solo package, djeryv! Kind of just playing the game, as someone mentioned, like Baldur's Gate 2 with a group of bots. It's been a blast going back and visiting all those familiar locations. Plus, there's really an absolute ton of content in EQemu in general.

I've found you've really thought out your package well, as whenever I've needed something, or even just a quality of life improvement, one of your NPCs has met that need. I only wish there were more quests at higher level--you did a really great job on those. I suppose crafting will help me out there, as I really haven't started on that yet.

Anyhow, I just wanted to say thanks for all the time you put into this, and for sharing it. You've really helped turn EQ into a fun single player game. Also to Uleat for all your work on the bots, because wow, they are so well done.

Excellent job!

Angelicus6
07-21-2019, 07:37 PM
My mom gave me a laptop to see if I can fix it up and use. It is only a year old, but it's not anymore near a powerhouse. It has an i3 8th gen processor, integrated graphics and 4Gbs of ram, but I know that it will play EQ at the very least. Was hoping to be able to set something like this up on the laptop and just play there as well.

Will this work?

Or should I just set it up on my PC and connect that way?

Uleat
07-22-2019, 06:25 PM
I used to dev and play on an i3 1st gen with 4gb of ram.

I still have the same system..but, now with 8gb of ram :)

Angelicus6
07-22-2019, 06:30 PM
I used to dev and play on an i3 1st gen with 4gb of ram.

I still have the same system..but, now with 8gb of ram :)

Thank you for the reply.

What expansion does this cover up to? I'm not sure I read that within the thread.

Uleat
07-22-2019, 08:41 PM
We use ProjectEQ's database, which is currently at 'Omens of War.'

Reggatta
07-31-2019, 05:03 PM
I just checked out the Bazaar, and it's nearly empty. That is, there are no merchants. I see Brother Dremel, however. Do you have any suggestions on how to restore the merchants?

woton
10-20-2019, 07:18 PM
just wondering, how do we bring the PoK books back?

Huppy
10-20-2019, 11:44 PM
Did you delete them ? lol

woton
10-21-2019, 01:35 PM
We used this server pack and the poK books in starting zones were removed as part of it.

Huppy
10-21-2019, 03:00 PM
In the database, (doors table), they are called POKTELE500 (for the old zone versions) and OBJ_POK_BOOK_ (for the revamped version) If those entries are missing, you would have to grab a fresh DB and copy the entries from there.

woton
10-21-2019, 03:27 PM
Thx for the info.

Huppy
10-21-2019, 03:50 PM
I just looked at that "solo package" and noticed in the script where those pok books were deleted. Not sure why it was handled that way, (by the author of the script), they could of simply been renamed to prevent them from spawning. Here is that query:

DELETE FROM doors WHERE id=9 OR id=2353 OR id=2561 OR id=3415 OR id=4139 OR id=4968 OR id=4969 OR id=5070 OR id=7123 OR id=5337 OR id=5783 OR id=5996 OR id=6623 OR id=9363 OR id=12283 OR id=12797 OR id=12913 OR id=17404 OR id=34179 OR id=14156 OR id=33835;


I'll put a query together, to restore these door entries.

Huppy
10-21-2019, 04:15 PM
If you copy and paste this into a query, it will put those deleted pok book entries back in the doors table.



INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (12283, 78, 'nektulos', 0, 'POKTELE500', 742.973, -342.478, -8.34902, 267.81, 58, 0, 0, 0, 0, 0, 0, 0, 0, 77, 'poknowledge', 0, 132, -841, -157, 1, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (5070, 1, 'Innothule', 0, 'POKTELE500', -729.133, -29.9866, -29.2157, 477.21, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 69, -813, -145, 0, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (9, 8, 'Tox', 0, 'POKTELE500', 2324.96, -582.532, -47.8143, 120, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 35.9378, 630, -145, 128, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (4969, 109, 'Gfaydark', 0, 'POKTELE500', -173.6, -757.995, -4.09175, 163.29, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 884, 871, -155, 0, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (4968, 108, 'Gfaydark', 0, 'POKTELE500', -2260.51, -1820.6, -1.68313, 17, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 73, 811, -155, 0, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (3415, 1, 'Everfrost', 0, 'POKTELE500', 2887.25, -78.1207, -64.1542, 238.73, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 132.109, 873, -145, 128, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (4139, 44, 'Misty', 0, 'POKTELE500', -559.555, -1262.71, 6.89263, 2, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 1229, 871, -155, 128, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (5337, 77, 'feerrott', 0, 'POKTELE500', 867.158, -161.403, -9.75448, 504, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 444, -844, -157, 255, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (2353, 7, 'Tox', 0, 'POKTELE500', -2344.14, 295.884, -49.748, 371.01, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 1228, -893, -152, 252, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (2561, 46, 'Steamfont', 0, 'POKTELE500', -1373.04, 933.79, -111.662, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, -75, -421, -155, 0, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (6623, 77, 'fieldofbone', 0, 'POKTELE500', -3010.88, 1843.5, 8.377, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 36, -655, -157, 1, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (5783, 177, 'freportw', 0, 'POKTELE500', -682.064, 77.3664, -34.8048, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, -234, -406, -157, 2, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (5996, 77, 'qeynos2', 0, 'POKTELE500', 183.698, 484.484, 0.002, 3, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, -289, 147, -157, 127, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (7123, 77, 'overthere', 0, 'POKTELE500', 3134.56, 1937.59, -53.3417, 384, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, 884, -840, -157, 254, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (9363, 78, 'shadeweaver', 0, 'POKTELE500', -3011.8, -2425.1, -218.342, 494, 58, 0, 0, 0, 0, 0, 0, 0, 0, 77, 'poknowledge', 0, -293, 364, -157, 192, 0, 511, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (14156, 37, 'crescent', 0, 'POKTELE500', -1213, -2761, -113.5, 130, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 0, -127, 58, -155.9, 63, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (12797, 212, 'rathemtn', 0, 'POKTELE500', -1176.75, 305, -3, 32, 58, 0, 0, 0, 0, 0, 0, 0, 0, 23, 'poknowledge', 0, 1182, 771, -156, 128, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (12913, 78, 'butcher', 0, 'POKTELE500', 1754.95, -506.765, -3.65425, 258.958, 58, 0, 0, 0, 0, 0, 0, 0, 0, 77, 'poknowledge', 0, 474, 829, -157, 255, 0, 511, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (17404, 77, 'innothuleb', 0, 'POKTELE500', -443.25, -361.75, 2.5, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 77, 'poknowledge', 0, 95, -812, -157, 384, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (33835, 77, 'arena', 0, 'POKTELE500', -1022.76, 147.807, 46.7928, 504.45, 58, 0, 0, 0, 0, 0, 0, 0, 0, 77, 'poknowledge', 0, 140, -430, -152, 260, 0, 0, 100, 0, 4294967295, 0);
INSERT INTO `doors`(`id`, `doorid`, `zone`, `version`, `name`, `pos_y`, `pos_x`, `pos_z`, `heading`, `opentype`, `guild`, `lockpick`, `keyitem`, `nokeyring`, `triggerdoor`, `triggertype`, `disable_timer`, `doorisopen`, `door_param`, `dest_zone`, `dest_instance`, `dest_x`, `dest_y`, `dest_z`, `dest_heading`, `invert_state`, `incline`, `size`, `buffer`, `client_version_mask`, `is_ldon_door`) VALUES (34179, 4, 'feerrott2', 0, 'POKTELE500', 1300, 212, 50, 201, 58, 0, 0, 0, 0, 0, 0, 0, 0, 25, 'poknowledge', 0, 444, -844, -157, 127.5, 0, 0, 100, 0, 4294967295, 0);

woton
10-21-2019, 04:53 PM
Holy cow man, that is way above and beyond.

Huppy
10-21-2019, 05:15 PM
Holy cow man, that is way above and beyond.

Lol, all you have to do is copy and paste that into a text file and call it something like "missing_doors.sql" (it just has to have that ".sql" extention) then run it just like you did with that solo script.

Huppy
10-21-2019, 05:27 PM
Just to add a note here, after I downloaded that script and looked at, it's making inserts into the database, based on an "older" version than the current peq. I wouldn't be using something like this myself, but I would be concerned about issues due to the difference.
I'm not sure if the author is updating anything these days, but I noticed most of it is dated from 2018.(it makes reference to version 9125). Lots has has been updated with the PEQ since then.(currently at 9143).

dew1960
03-29-2020, 02:43 PM
I got your solo server package, copied the files and ran the sql. Everything seems fine but there are not Bazaar merchants. Is there a way to fix this? Maybe I have a newer db version that isn't compatible but I got no errors when I ran the sql script, but I did get a notice about two warnings.

djeryv
04-15-2020, 08:52 PM
The bazaar vendors work fine on a fresh install I did yesterday.

djeryv
04-17-2020, 12:31 PM
I just did a fresh install today of Ubuntu server and EQEmu. I went through my solo server package and found that there were some creatures (in the kill-this tasks) that no longer existed. I fixed all of them and added a random loot drop feature as well. As far as I can tell, everything seems to be working as advertised. As for a recent issue someone reported, I did check the Bazaar and all of the vendors I placed are there selling things.

There were some server rules that no longer exist, and I updated those as well to the newer rules on this version of EQEmu to help with the solo-friendly aspect.

There were a couple of zone-copies that I had to place an extra witch to spawn like Freeport and Nektulos Forest. This is so the witch is available no matter which version of the zone you may be in. This also had me change the query to delete the PoK books in those starter zones that have multiple versions. Some people hate that I delete those but I want my game to have the feel like the old days where you make an Ogre and you hang out in the jungle and slowly move out. Again, there are still PoK books but they are only in the farthest areas.

On a personal note, I come here every couple of years and update this package because it is every couple of years that I rebuild my EQ server from scratch. This pandemic is just causing me to want to play again. So the solo server package is updated with everything I changed/fixed.

Pallos
04-23-2020, 12:20 PM
I got a bunch of errors when I sourced the SQL using Heidi, 16 to be exact and I just installed the server today so I believe the schema should be up to date..


/* Loading file "F:\EQserver\solo_server.sql" (827.7 KiB) into query tab #1 ... */
/* SQL Error (1062): Duplicate entry '800023' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800020' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800020-800020' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800020-1' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800015' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800015' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800015-800015' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800087' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800087' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800087-800087' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800088' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800088' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800088-800088' for key 'PRIMARY' */
/* SQL Error (1062): Duplicate entry '800000' for key 'PRIMARY' */
/* SQL Error (1265): Data truncated for column 'y' at row 4 */
/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNLOCK TABLES' at line 3 */

djeryv
04-23-2020, 03:59 PM
I don't know what your issue is...other than I go into the console and import stuff manually. I don't use Heidi or any 3rd party program so I don't know if that is the issue you are having. All I do know is that I did a fresh install of everything and sourced my file without incident less than a week ago. It almost looks like you are importing it twice hence the duplicate ID error.

EDIT: I just downloaded the files and sourced them with a fresh PEQ database without any errors, just to be sure. I have to assume Heidi is doing something wrong with the SQL file.

djeryv
04-24-2020, 07:57 PM
I added something fun today for my server and included it as a separate SQL file in my solo server package. If you import it, it will change your townsfolk and guards to use the newer character models so you don't have the classic models of guards and merchants (for examples) looking "classic" when you have the better graphics turned on. I also ran to the different cities with the graphics turned to the classic models and they all look great. The NPC appearances get randomized so everyone has a different look and outfit. It really diversifies the cities instead of most people looking identical.

bigwhitebuddha
04-30-2020, 10:33 AM
Pallos,

I was receiving a similar error when using Heidi. I investigated, and discovered that there was a mistake in one of the locations for the Witches of the Velvet Order. If you load up Heidi, and go to the "Witches of the Velvet Order" section you will find the location for each witch. Find the one with the following location:

('800005', 'nektulos', '-977.896', '1564.54.54', '26.9251', '300', '1'),

If you look at this line, you will see that '1564.54.54' is incorrect. I changed it to '1564.54'. After that, it worked perfectly! Hopefully you find this helpful!

djeryv
04-30-2020, 03:24 PM
Pallos,

I was receiving a similar error when using Heidi. I investigated, and discovered that there was a mistake in one of the locations for the Witches of the Velvet Order. If you load up Heidi, and go to the "Witches of the Velvet Order" section you will find the location for each witch. Find the one with the following location:

('800005', 'nektulos', '-977.896', '1564.54.54', '26.9251', '300', '1'),

If you look at this line, you will see that '1564.54.54' is incorrect. I changed it to '1564.54'. After that, it worked perfectly! Hopefully you find this helpful!
Thanks! I fixed the download package with this.

bigwhitebuddha
04-30-2020, 10:09 PM
I have also run into an issue I could use help with. Currently, everything is looking good, but I am unable to speak with any of the witches (Except for the one in POK). I can see their character models, and can also hail them, but receive no dialog in response. This is not the case with any of the other custom added characters. Can anyone help with this?

djeryv
05-01-2020, 03:11 AM
I have also run into an issue I could use help with. Currently, everything is looking good, but I am unable to speak with any of the witches (Except for the one in POK). I can see their character models, and can also hail them, but receive no dialog in response. This is not the case with any of the other custom added characters. Can anyone help with this?
Try standing on top of them and then hail them. If that works it is because I just realized (this morning) that the aggroradius plays a part in this and the solo_server.sql processes in an order that caused the witches to have a 15 instead of a 55 aggroradius. I fixed the main download zip package to fix this, but if this is truly your issue just run the query below to make it better.

UPDATE npc_types SET aggroradius=55 WHERE ( id>=800000 AND id<=800100 );

...and this to give the rest of the world a bit more reach to notice you...

UPDATE npc_types SET aggroradius=35 WHERE aggroradius>35;

bigwhitebuddha
05-01-2020, 08:54 AM
Try standing on top of them and then hail them. If that works it is because I just realized (this morning) that the aggroradius plays a part in this and the solo_server.sql processes in an order that caused the witches to have a 15 instead of a 55 aggroradius. I fixed the main download zip package to fix this, but if this is truly your issue just run the query below to make it better.

UPDATE npc_types SET aggroradius=55 WHERE ( id>=800000 AND id<=800100 );

...and this to give the rest of the world a bit more reach to notice you...

UPDATE npc_types SET aggroradius=35 WHERE aggroradius>35;

Unfortunately, this did not fix the issue. It seems like the NPC's are aware of my "Hail". However, they give no response dialog after said "Hail".

djeryv
05-01-2020, 09:53 AM
Unfortunately, this did not fix the issue. It seems like the NPC's are aware of my "Hail". However, they give no response dialog after said "Hail".

Which NPCs specifically?

bigwhitebuddha
05-01-2020, 10:00 AM
Which NPCs specifically?

These are the following NPC's:

Sister Talsir, Shokar, Greska, Bresta, Frakla, Peshir, Annabe, Martal, Nebris, Ruskal, Ortizk, Evalla, Xeryth, Catala

djeryv
05-01-2020, 10:05 AM
I just talked to Frakla with no issue. Do you have the perl scripts in your quests/global folder?

bigwhitebuddha
05-01-2020, 10:18 AM
I just talked to Frakla with no issue. Do you have the perl scripts in your quests/global folder?

Yes, I do. I downloaded the scripts again, and placed them into my global folder, just in case. I am still encountering the same issue.

djeryv
05-01-2020, 10:27 AM
Can you talk to any of the artisans or arcanums in town? Do they show you any items you can buy from them?

bigwhitebuddha
05-01-2020, 10:34 AM
Can you talk to any of the artisans or arcanums in town? Do they show you any items you can buy from them?

I am able to speak to the Emerald Eye Sage, but I cannot buy from the artisan or the arcanum. I can speak to them though

djeryv
05-01-2020, 10:37 AM
Then I would guess that you don't have Perl installed with the Perl DBI (Database Integration) so plugin::LoadMysql(); works correctly. Can you verify that is installed? I am now also guessing you are running a Windows server?

bigwhitebuddha
05-01-2020, 10:38 AM
Then I would guess that you don't have Perl installed with the Perl DBI (Database Integration) so plugin::LoadMysql(); works correctly. Can you verify that is installed? I am now also guessing you are running a Windows server?

I am running a windows server. I have the "Perl Package Manager" installed (I believe this is Activeperl Build 1204), but I am unfamiliar with "Perl DBI".

djeryv
05-01-2020, 10:42 AM
I run a Linux server...but I think you need to open the package manager and make sure something like this is installed:

DBD:mysql

bigwhitebuddha
05-01-2020, 10:48 AM
I run a Linux server...but I think you need to open the package manager and make sure something like this is installed:

DBD:mysql

I found something similar (DBD-mysql). I installed the package, and restarted the server. Still not working ATM.

djeryv
05-01-2020, 10:51 AM
This is older info I found, but make sure these are installed in Perl:

DBI
DBD-MYSQL - you stated you just did this one.
IO-STRINGY

bigwhitebuddha
05-01-2020, 10:53 AM
I found something similar (DBD-mysql). I installed the package, and restarted the server. Still not working ATM.

I have gotten it to work! I installed the following packages from the perl package manager:

DBD-mysql
DBD-mysqlPP
MySQL-RunSQL

I appreciate the help in this issue. I am fairly newer to all of this, and it helps to have a community like this!

Zia
05-24-2020, 07:25 PM
How does one install those things in the new Strawberry release? It does not seem to have any package manager but CPAN, which I apparantly do not understand.

djeryv
05-25-2020, 10:12 AM
What does this have to do with the solo server package?

Zia
05-25-2020, 11:05 AM
What does this have to do with the solo server package?

It has to do with the new 64-bits installer. It comes with Strawberry Perl instead of ActivePerl.

djeryv
05-25-2020, 06:12 PM
Oh...so nothing to do with the solo server package. Perhaps try a different part of the forums for your specific installation issue. This solo server package is a series of perl scripts and MySQL queries that alter the server after it is installed and working successfully. If you cannot get a server to even run properly, you shouldn't worry about this package yet.

Zia
05-25-2020, 08:56 PM
Oh...so nothing to do with the solo server package. Perhaps try a different part of the forums for your specific installation issue. This solo server package is a series of perl scripts and MySQL queries that alter the server after it is installed and working successfully. If you cannot get a server to even run properly, you shouldn't worry about this package yet.

Well, it used to run just fine (with all the small snags along the way as usual), but for various reasons I had to reinstall it. Now your quest NPC's will not talk to me, which is the same issue discussed earlier in the thread. It used to be fixed by installing certain Perl packages using the PPM that came with ActivePerl. Now the server installation package instead comes with Strawberry, which does not (as far as I am able to find) include anything like that, except CPAN, which I am not able to get to work.

So, yes, it does have to do with your server package, which I think is pretty great when it works.

Uleat
05-25-2020, 10:16 PM
Before this gets out of control (as everyone still seems amiable..)

..let's address this as an EQEmu issue rather than a 'Solo Server Package' issue since the problem came about after core changes to the emulator installer.

Zia, please start a new thread with missing Perl DBI functionality in new installer dependencies - thanks! :D


(This issue will affect more than just this package.)

dreadbones
06-28-2020, 09:53 AM
Hi

Great mod, thanks

friendlinzh
07-30-2020, 04:04 AM
you don't have Perl installed with the Perl DBI

Draugr
08-01-2020, 12:42 AM
Hi.

I just got my EQemu server setup and running. I was looking for a way to lower the HP of every monster since my server will only be a few players. Then I stumbled upon this thread and was happy to see the same person worked on this as Ultima Online Odyssey (djeryv). :)

Anyhow, I wanted to ask a few questions regarding this single player database mod.

1. Will this database work with the latest EQemu and PEQ database?

2. Does the modifications in this single player mod cover all the current zones in EQemu/EQ?

I guess that is all for now. I've been playing with the standard PEQ database for now and it is fun, but something like a solo player experience or at least an experience for a small group is perfect for what I'd need on my server.

Thanks,
John

woton
08-02-2020, 04:24 PM
It works with RoF2. It is mostly finished up thru omens of war xpac. Everything else beyond that, the mobs are in most zones but nothing like quests work and the mobs themselves have very low hps and insane regen. If youre hoping to make things soloable, youll have to do a bit more work. Most raid mobs have insane aoe damage which you can fix with the gm command #npcedit spellscale (0-100). Some raid mobs have scripted damage, like Bristlebane, that scales up rapidly. Youll have to fix that in his script. Even using the spellscale setting, some spells still do max damage, youll have to change those in the spell file. A few that come to mind are chaos claws that all gates trash mobs use and a couple spells used by mata muram.

woton
10-26-2020, 03:20 PM
Was wondering how you removed the flags needed for planar progression? Due to rampant crashing issues we started over on our server and decided to just do the changes ourselves but having issues with planar mobs. For instance we cannot get Rallos Zek to spawn. Also seems we need Rallos Zek flag to click down to Solusek Ro.

hmmyespanda
01-06-2023, 06:53 PM
I came across this a couple of weeks ago and have been playing non stop since. One issue I am now running against is getting to Dranik's Scar. When overriding the priests of discord, they no longer port me to the zone. Is there an alternate route provided, or am I missing something?

hmmyespanda
01-08-2023, 12:04 PM
SQL workaround, though this may be unnecessary. I updated zone ID and x,y,z coordinates of the character data to be the succor point in Dranik's Scar:

update character_data
set zone_id = 302, y = -1519, x = -1468, z = 260
where id = 2;

Telememore
03-02-2023, 12:54 PM
Thanks djeryv,

For this solo server DB.

When I source solo_server.sql (HeidiSQL) into peq db I receive SQL 1264 - out of range value for column maxcash at row 25712

The maxcash is set to 4



Any help would be greatly appreciated

Sandysham
04-02-2023, 07:22 PM
What server is using your package ?

Shaneplourde1@gmail.com
04-27-2023, 09:13 AM
I know this is a thread is a few years old and I'm a complete newb to trying to get a server up and running (never done anything like it before). But is this still viable to get up and running? It sounds exactly like what I'm looking for out of a solo server that me and my buddy could play on

Nukester
11-07-2023, 08:52 PM
I cant seem to get the merchants to show up in the Bazaar. I get the new merchants that sell the non obtainable spells, but the merchants stalls are empty. Ive tried with both the Titanium and RoF2 clients. Any suggestions?

Also the witches wont load due to missing columns in the DB. They would be cool to have but Im most concerned about getting the Bazaar running. Thanks in advance!

Nukester
11-09-2023, 01:49 AM
Im good. I was able to get the bazaar up and running

fluent2332
05-04-2024, 11:28 PM
Hey guys! Another newb here trying to get this installed, hoping for the best! Anyone figure out if this still works at all with the newest version of EQ??

Im good. I was able to get the bazaar up and running

Maybe you could post how you did that for some peeps who may be just arriving here? :)