View Full Version : Calling Server Experts
Akkadius
09-28-2014, 12:03 AM
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
Drakiyth
09-29-2014, 11:48 AM
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.
http://i.imgur.com/9aLCMoS.png
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!
Krran
10-02-2014, 01:15 AM
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.
chrsschb
10-02-2014, 10:11 AM
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.
jdoran
10-02-2014, 10:42 AM
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.
Drakiyth
10-02-2014, 12:01 PM
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.
chrsschb
10-02-2014, 12:52 PM
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.
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.
lerxst2112
10-03-2014, 06:33 AM
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/toad-for-mysql/default.aspx
Portal63
10-04-2014, 11:08 AM
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).
Halon
11-07-2014, 09:15 AM
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 :D
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.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.