EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::News (https://www.eqemulator.org/forums/forumdisplay.php?f=594)
-   -   Complete Emulator Project Documentation Refresh 2018 (https://www.eqemulator.org/forums/showthread.php?t=41656)

Akkadius 12-23-2017 10:35 PM

Complete Emulator Project Documentation Refresh 2018
 
Complete Emulator Project Documentation Refresh 2018

https://vignette.wikia.nocookie.net/...20161116004455

Hello everyone - we've been pretty quiet from a forum front but there has been very many massive accomplishments over the past year. I'm going to update more on a general news thread, however I want to have a thread solely to the purpose of this project.

We have an incredible project and community here, with lots of tools and resources available. Some of our documentation is great, but a lot of it has become very outdated and we just don't have 80% of what we should and I want to change that.

We still have tons of new people coming in - with old resources and the simplest of things that were more available in the past, are not so available now. I've been seeing lots of the same questions


Why is this important
  • This is important because without documentation, barrier to entry on creating things, making things possible and giving back to the community is much harder. It is important to me that we have examples for every script, our entire API of LUA and Perl. HOW to use the API to do much more with far less. To allow everyone to express creativity using this amazing platform as their medium
  • Even our long time developers reference the Wiki for common references and information all of the time. It is a huge instrument when working with an area of development, backend, server content development etc.

Goals
  • Provide in depth quest API examples for both LUA and Perl - For everything, this could include how to do hp events on an encounter, triggering events on other NPC's, spawning other NPC's, quest events, rewards, task usage, literally anything that people need to enhance their servers and make a fun experience for their players
  • Documentation on our server backend systems - we have TONS of information and systems to document, I will detail those below
  • Make certain resources more available, how to guides etc.

Brand New Wiki/Docs Engine
  • We will be soon using a new Wiki engine that is vastly improved upon the one we were using before, I've been working on that and should be nearing completion in the near future. Once that is read we can start our documentation drive, and I want to be 90% done with that documentation drive within a months timeframe

What you can do to help
  • If you have been in this community for a long time, and you feel like you can provide How-To's, info snippets, script examples that can help other people, volunteer yourself in this thread, then when the time comes - we will be ready to have you help on those pieces

What do you want documented
  • Here's your big chance to say what you want more information on. It can be - how do I manage my launcher, I want to know more about config options, more script examples, task examples, door/object examples, ANYTHING. If you want our core development group to take time to put these things down, please put your ask in this thread

Disclaimer: Any post to derail this thread or go off topic will be deleted as forewarning

Akkadius 12-23-2017 10:35 PM

Current Planned Topics for Refresh (I will edit this as this thread goes on)

EQEmulator Documentation Refresh List

What we will be covering on these topics
  • How they work
  • What database tables they involve
  • How to interact with them as a server developer (commands, tools, editing etc)
  • Potential script examples
  • etc

Code:

* AA’s - The schema and how things work
* Accounts
* Character Data
* Adventures - LDONs
* Alternate Currency (DON)
* Banned IP’s
* Auras
* Books
* Base Data
* Blocked Spells
* UCS and Mail Server
* Commands
* Instancing
* Task System
* Keyring
* Saylinks
* Zone Header Data
* Zone Weather
* Factions
* Logging
* Loginserver
* Guilds
* Entity Lists and manipulation
* Fishing
* Foraging
* Pets
* Loot
* NPCs
    * Spell Lists
    * Special Abilities
* Doors
* Races and race models
* Objects
* Pathing
    * Navmesh
    * Grids / Grid points
* Items
    * Every field and field detail
* Spells
    * Stacking
    * Modifiers
    * Mechanics
    * SPA
    * Target Restrictions
* Shared Memory / Hotfix
* Traps
* Facial Features
* MySQL API - LUA too?
* How Scripts are loaded
* Script Examples
    * Spell Script
    * Item Script
    * SendAppearanceEffect - Complete List w/GIFs
    * SpellEffect - Complete List w/GIFs
    * NPC Armor Color
    * Proximity
    * Popup Window
    * Player Scripts
    * NPC Scripts


Akkadius 12-26-2017 02:20 PM

Just a reminder people, this thread is open to EVERYONE

WHAT do you want to see a write-up on?

WHAT would help you in your Emulator journey?

WHAT would help the community?


Contribute to this thread by posting about constructive ideas that we can put into this next years doc refresh

Examples:

"I would like to see a refreshed doc as to how to handle Diablo Loot on my server, this is something I've wanted for a long time"

"The auto scaling thread is broken and appears out to date, can we get an updated guide as to how to auto scale NPC's on our servers?"

"The Doors plugin MySQL insert query no longer works, can we get the doors plugin refreshed?"

"I've always wanted to know X works, can we make a write-up about that?"

"There is a lack of X LUA documentation - I'd really love to see some examples for that"

Thanks everyone

rudeboy88 12-27-2017 08:25 AM

This is awesome! I also wanted to post a reminder on here about eqemu Discord too because that appears to be bumpin' these days.

I had a pdf around somewhere with some small visuals that explain the basics of adding individual items to loot tables once you've created them in the items table among other small things..

In short I'd be happy to at least provide the info I made if it'd help someone else, but also I'd like to help with this documentation revamp moving forward. A lot of what I've done in making servers is getting friends up to date so we can all work on projects on the same page (will post a link w/a short sample or 2 later); a refresh of more centralized documentation would make that process easier, not that the eqemu wiki hasn't come in handy several times already :)

Turmoiltoad 12-28-2017 11:58 AM

Really looking forward to this and hoping to contribute if possible. You've got a good list of things that would definitely be very helpful--and not just to newcomers.

Some ideas of things that (might) have helped me along the way:

* Thorough Database Schema documentation
* Server environment documentation (OS-specific pages with listing of requirements, "gotchas", etc.)
* List of third-party add-ons (AllaClone, Magelo, etc. with documentation)
* Updating Your Server How-tos with advice (backups, db updates, etc.), probably by platform
* Server Rules documentation (updated)
* Perl / Lua function reference documentation (like the EQEmu Ultimate Perl Reference, updated)
* Commands (GM) documentation (updated)

The only other thing I could suggest would be to have a "To-Do" mechanism in place to get input from operators as well. For instance, if I come across an inconsistency it would be great to have a way to report it--with the hope being that you don't have 10 operators all bugging you with the same issue at various times through different channels.

The_Beast 12-29-2017 09:41 PM

More and more, people are taking advantage of the "easy installer" to have their own server, which may have not been possible
for them in the past, doing it the old school manual way. But it's obvious with support questions popping up, that some will
need to learn "everything" about what to do after that server is installed. (those who are not "technically inclined").
I personally think there needs to be a lot more focus put on that kind of help right from editing the configs to quest scripts,
(lua and perl) and ultimately learning all about the database and how to edit the tables. Example: someone may not know the
difference (in the database) of zoning through a "door" and a "zone_point". Getting to know how, and why things function the way
they do.
A lot of that help is already spread out on these forums, but consolidating it all, making easy to access would help them out.
But being written so all the new comers can understand it would be essential for communicating that kind of "newbie" support.
For instance, some may not know what a "scope" is in a block of code when reading a help topic. I do believe a lot of people
have an easier time learning from samples they can read and go from there as well. (Quest scripts, etc.)
I guess it all depends on the desired depth, or just how extensive one wants to go with this. It's definately a more positive
approach that I'm sure everyone would welcome.

phantomghost 12-30-2017 03:24 AM

I have not done anything really too difficult, but I have never successfully created a pet and spell that can be memorized through a scroll or a clicky on an item.

Everything else I have tried, I have been able to find the answer on the forums. (some such as adding skills to a class you have to read through 2-3 threads with someone's responses of it is easy and it can be done.

daerath 12-31-2017 11:35 AM

Here are the install steps I've used for MariaDB. They're not in the advanced installation instructions so here you go.

MariaDB Installation
1. Click Next.
2. Accept the GNU Plublic License and click Next.
3. Ensure all options will be installed to the local hard drive and click Next.
4. Specify a password for the 'root' user.
5. On the Database Settings dialog
5a. Ensure "Install as service" is checked
5b. Ensure "Enable networking" is checked and that "TCP port" is set to 3306.
5c. Uncheck "Optimize for transactions"
5d. Click Next.
6. Click Next.
7. Click Install.
8. Click Finish.
9. Reboot.

Kingly_Krab 01-03-2018 12:18 PM

I will definitely be getting behind this movement as I get a little more free time. A lot of work that has been done in the source isn’t very documented. Such as $npc->GetGlobal() or modifying the zone fog, sky, etc in Perl/Lua. I’m willing to provide any specific examples necessary or even custom examples for servers who want to know how something like a leaderboard works or custom boss fights or whatever. I’m glad to see we have more than one person on board. It’s definitely a team effort.

Ladrone 01-20-2018 04:00 AM

things to do once a server is up
 
would be nice to have a to do list for people setting up new servers, once it is up I am guessing the next thing would be to create a GM? trying to find a document for that now.

what should I do next, maybe modify the xp or level caps? what do most server hosts do right away?

people have been very helpful, I am glad to help where I can too

FievelMousey 02-11-2018 05:33 AM

It be nice see a wiki on how set up Allaclone the one you posted Akk.

Fluff 02-21-2018 09:34 PM

I'd love to see some documentation updates.

I think that the best way to handle common questions is to round them up from the forums and take them on directly.

Example: How do I add a new spell to the game?

Next I would suggest a format like:

Created: |DATE| by |NAME|
LAST VERIFIED WORKING: |DATE| by |NAME|

From my prospective, as someone that leaves and returns every couple of years, much of the trouble figuring out what is going on here is there are posts that simply don't reflect the current state.

The same questions frequently appear even with the smooth installation like: how do I make myself a GM, or why do spells over level x not seem to work, how come I can't summon certain pets, why do some of the character models look like bald human males, how come I can't zone into <x> zone...and the answer is usually found by digging around in the forums looking for helpful posts in the past on the same topic. That is perfectly reasonable, but given the changes over the last 10 years the information you are pulling might be deprecated.

edit: wasn't thinking it would parse my date/name tags

cilution0 05-11-2018 02:07 AM

So I just made a server using the installer, here's a list of things I would love to be able to easily find information on since I have no idea what I'm doing:

1. How to I make myself a GM, and what can I do once I am?
2. How do I create custom items or modify existing ones?
3. How do I create custom NPC's, how do I tune them, give them abilities? What about scripted encounters, where would you start for that? Vendors? Alternate currency vendors? AA vendors?
4. How do I go about doing something like creating a hub zone, forcing all characters to start there?
5. How to create buffers, teleporters, various things like that?
6. How to change zone connections, or create new custom zonelines
7. A good explanation of what changes require client file changes, and what doesn't
8. A good walkthrough of common client files that need to be changed due to customizations, what they do, and what we can do with them (and maybe what we can't)
9. An example of making a basic change in the source code for some custom functionality on the server, how to rebuild and see it in action (what's the fastest way to iterate on something like this?)
10. An example showing us how to protect ourselves with creating backups, storing them remotely, and restoring using that backup. What else should be backed up besides the database? etc.
11. How to disable/enable various sets of features, like mercenaries, bots, aa's, etc.
12. How to modify level caps
13. How to set up tier based progression, custom character flags, conditional level caps, things like that
14. Examples for creating various types of quests/tasks
15. How to create custom AA's, spells, abilities, disciplines, etc
16. How to populate a zone from scratch, what tools are there to help, how to set up spawns, pathers, etc.

Ideally we'd just have some site where I can see a listing of things like this, type in "how do I..." and we get directed to pages explaining these things based on identifying keywords/tags or something. Such pages would benefit greatly from having comment threads on them too, as I could see people sharing various tweaks for similar specific purposes, or answer questions by pointing them to another page with information that will help them or identifying more potential guides.

Also, it would be really cool if there were certain templates we could choose to start with when starting a server. For example, templates for Classic, Kunark, Velious, Luclin, etc. that would automatically lock down zones beyond them, do its best to clean up out of era items/npcs, etc. Various templates could be projects of themselves that the community could help polish up over time.

GRUMPY 05-11-2018 10:12 AM

Quote:

Originally Posted by cilution0 (Post 258674)
So I just made a server using the installer, here's a list of things I would love to be able to easily find information on

First there is the Main Wiki page (with various links to info):

http://wiki.eqemulator.org/i?M=Wiki&Page=Main

Page full of links with tools, etc.

http://wiki.eqemulator.org/p?EQEmu_Tool_Cheat_Sheet

Another support info wiki :

https://github.com/EQEmu/Server/wiki

The Main fourm page of this site, one can scroll down and see
various categores, threads, etc. for help topics on developing,
database editing and quest scripts:

http://www.eqemulator.org/forums/index.php

There is tons of support that has been put into many of the
discussion threads here, such as these two support threads :

Windows:

http://www.eqemulator.org/forums/forumdisplay.php?f=587

Linux:

http://www.eqemulator.org/forums/forumdisplay.php?f=588

Using Google (advanced search) for searching topics on this
site works pretty good too.

Akkadius 07-02-2018 04:56 PM

Quote:

Originally Posted by FievelMousey (Post 257541)
It be nice see a wiki on how set up Allaclone the one you posted Akk.

https://github.com/Akkadius/EQEmuAllakhazamClone - see readme


All times are GMT -4. The time now is 06:53 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.