Go Back   EQEmulator Home > EQEmulator Forums > General > General::Server Discussion

General::Server Discussion Discussion about emulator servers.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-28-2014, 12:03 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default Calling Server Experts

I am starting this thread because it NEEDS to happen.

I need everyone who has invested time in running a server to take a few minutes to share what a new person coming in and trying to run a server should know.

This is a gift to be able to take advantage of the resources in this open source community to embrace a game we all are obviously passionate about, otherwise we wouldn't be here.

If you could go back to when you first started, what do you wish was available or should be made clear to someone who is new so we can make the information or resources available to a newcomer so we can work to eliminate the issues folks spend too much time wasted in solutions that have been most likely solved by others already.

If you have knowledge in your noggin, and can write concise and clear how to guides, also speak up. There are so many people here and there should be no reason a very few people end up making a majority of the knowledge base articles.

If it is related to custom development, make your comment geared something as simple as 'Modifying Skill Caps' or 'Setting global Experience multiplier' or 'Changing bind points'... you get the point.

The goal is to take our repository even further so other people coming in can multiply their efforts in expressing creativity and utilizing this medium as a way to learn in so many ways.

GO
Reply With Quote
  #2  
Old 09-29-2014, 11:48 AM
Drakiyth's Avatar
Drakiyth
Dragon
 
Join Date: Apr 2012
Posts: 549
Default

When you first get a server going and try to say anything in chat you'll notice that it blocks you. It's highly frustrating as a very new dev to
experience this, and when I first started I had no idea how to fix it. The rule values table is extremely important and my advice to new devs
is get to know it back and fourth.




That picture above shows what you need to look for in the Rule Values table in your Database. Make sure you set Karma to 0 so all players can
talk on your server without any worries. If you want to use a Karma system later that's up to you, but I wouldn't recommend cutting chat off for
players at all. It makes players feel lonely and will prove to be more detrimental to your server than beneficial.

When you get further into development, I highly recommend using the EoC (EQ Operations Center), because it's a very user friendly editor.
Akkadius has put together a great tutorial on how to get started. Just click on his signature.



I hope that helps a bit. Good luck on your new developer journey!
Reply With Quote
  #3  
Old 10-02-2014, 01:15 AM
Krran's Avatar
Krran
Sarnak
 
Join Date: Aug 2007
Location: NC, USA
Posts: 93
Default

After finally getting my server running, I often neglected to note the version of the server and DB I had operating. When updating, I have traced my problems back to not documenting this information (SQL updates were missed), and also the things that I did to get the server to function as I liked. So, document versions and your process while getting stuff working

Also, before updating, I now at least backup the DB and server that I have, if not clone the entire drive. It is very frustrating to try to do an update but end up screwing up a working version of your server.

Finally, learning basic skills in the languages, at least SQL, as you work on setting up your server. Google the commands you are running to see what if going on.
Reply With Quote
  #4  
Old 10-02-2014, 10:11 AM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

Save EVERY change you make to the default database in a text file. If you ever have to do a rebuild, database upgrade, recursive problem solving, etc you can go back through and reapply changes (or remove them) one by one or all at once as you need.

If you run a custom server with tons of database changes this will save you weeks/months of time recreating content.
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #5  
Old 10-02-2014, 10:42 AM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default

I've heard that Visual Studio can compare two databases and generate a script to synchronize them. Keep a copy of the release database and diff them as needed.
Reply With Quote
  #6  
Old 10-02-2014, 12:01 PM
Drakiyth's Avatar
Drakiyth
Dragon
 
Join Date: Apr 2012
Posts: 549
Default

One thing that I think new devs should also be aware of is deletion of items for a new item. Whatever you do, don't
delete something in the database and make it into something else (same ID) that is more powerful or quest related.

Here is why:

When you remove an item from the database and replace it with something else you have to remember that there is a
possible chance that item was connected to an NPC loot table or even a merchant. Some devs will do this on accident and
all the sudden find out a uber quest item they created could be bought from the local merchant for a buck and change.

If you do change something already made, make sure the loot table and merchant tables don't have that item!


Best of luck with your project.
Reply With Quote
  #7  
Old 10-02-2014, 12:52 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

Quote:
Originally Posted by jdoran View Post
I've heard that Visual Studio can compare two databases and generate a script to synchronize them. Keep a copy of the release database and diff them as needed.
Would be an awesome thing to have a walkthrough for.
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #8  
Old 10-03-2014, 03:56 AM
vsab's Avatar
vsab
Discordant
 
Join Date: Apr 2014
Location: United Kingdom
Posts: 276
Default

Quote:
Originally Posted by chrsschb View Post
Would be an awesome thing to have a walkthrough for.
All the Visual Studio tooling is based on M$ SQL Server. I also tried to get EF to work with MariaDb but it's a fight and not really worth it.
Reply With Quote
  #9  
Old 10-03-2014, 06:33 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Toad for MySQL supposedly does a similar thing. I haven't personally used it, and I don't know if it works with Maria or not. http://www.toadworld.com/products/to...l/default.aspx
Reply With Quote
  #10  
Old 10-04-2014, 11:08 AM
Portal63
Fire Beetle
 
Join Date: Sep 2014
Location: Virginia
Posts: 28
Default

If you're going to write custom quests, and those quests will make use of qglobals, make sure your give the NPC access. Set their qglobals value in the DB to 1 (it defaults to 0)

Otherwise, any calls they make to $qglobals will come back undefined, and if you're using LUA, you'll crash the zone (at least, that was happening to me).
Reply With Quote
  #11  
Old 11-07-2014, 09:15 AM
Halon
Fire Beetle
 
Join Date: Jun 2013
Posts: 15
Default common db / server mistakes.

Hi, I have recently just started development on the eqemu, however I have several years experience working in IT field as a dba/server admin. Couple of things I have learned over the years.

Windows Server Admins - Never use NTFS Compression on the drive that you have SQL DB on. Can be a huge performance hit.

Always review and test a sql script on a test/dev db before running it on a production db. (Always have a test/dev db even if it is running on a vm)

Backups - learn to run multiple backups of you files and db. Offline / Online - this can save your rear when having to rollback any changes implemented. Save you from a rebuild or upsetting your players if something bad happens.

SVN / CVS - Version control even on a small scale can help you keep track of which scripts / updates have been updated and installed. I use svn local and one on my servers so I can keep track and have a copy of what I have done. (do not forget to backup your svn db)

If you are using linux - learn to use crontab, you can schedule things like backups and indexes. Which can help immensely.

WinSQL is pretty awesome for quick and dirty SQL (same Company has JaySQL for jdbc access) Its free

These may have been covered already and for that I apologize if I am restating something. I am sure I have more but I just woke up and was browser the forum before my coffee was done.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:01 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3