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 10-19-2008, 04:29 PM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default kicking a private RP server idea around

Last night I was brainstorming with a few friends of mine, both of whom used to tabletop D&D with me as well as play EQ back in '99 to '01. I told them about the idea of setting up a private EQ server purely for running a small role-playing server to get our old gaming group going (we know live throughout the country), and they were pretty stoked about the idea. We chatted for a while and came up with a preliminary list of how we would modify "Live" EQ to work well for a party of 6 full-time players and a GM. Here is what we came up with. Keep in mind, the server will ONLY be up for the private weekly gaming sessions (2-4 hours typically), and the party will always be grouped while going out on their "adventures".


1) kill a name mob and its' dead. forever.
2) loot tables for named mobs are updated so it drops everything (or the best items where there are too many). No more need to "camp" a mob for items.
3) all placeholders for named mobs will never pop; the named will always spawn instead. In the case where one named mob is a placeholder for another, the position of one will be modified and both will spawn simultaneously side-by-side.
4) all dungeon zones are permanently instanced. Kill a mob in a dungeon (named or not), and it's dead forever. The corpse will remain for that session (even if looted ideally), but will be gone in future sessions.
5) mob corpse decay time reset to 24 hours or so
6) mob respawn rate set to 24 hours or so
7) when a session is over (2-4 hours), mobs that were killed are deleted from the database so server reset will not respawn them. If this could be automated that would be huge.
voice chat is handled outside the game and used for in-character discussions among the party
9) all out of character discussions must be done with /ooc
10) /petition used for players to have private discussion with GM
11) for players that can't commit to playing every week, a pool of mercenary characters will be available to choose from. This way if a certain key player class doesn't show for a given session (Cleric?), then somebody can always play a mercenary cleric-for-hire. Alternatively, on the rare occasion that > 6 players show up, some can play mercenaries which will adventure outside the group (thus no xp...unless they KS .
12) I haven't decided if it will be pvp or not, but it really doesn't matter as the players all know each other and work together well, PKing will be a non issue. I've never played PvP, but I assume that when you are grouped AoE spells don't hurt group members. If they do, this would probably be a regular non-PvP server.
13) each "adventure" spanning anywhere from 1 to 4 sessions will result in a variable exp awarid given directly by GM to players depending on their relative success at achieving objective as well as quality of role-playing. This reward will probably represen 30%-50% of overall advancement rate and will counteract the fact that indoor dungeons are not re-huntable.
14) NO TRADE flag removed from every item
15) LORE removed from every item
16) Quest / Tradeskill flag removed from every item
17) for important "adventure" items the item lore will be updated to increase usefulness of Identify.
1 spawning of unnamed mobs in outdoor zones will be unaffected, other than their corpses will remain thorughout the session (ie server restart).
19) dead = dead, until resurrected by player or npc (gm). When a player dies, he'll simply log out. He's either done for that session, or can play a mercenary (ir available and needed), or can choose from several pre-rolled level-appropriate avatars that GM has available.

I haven't looked at the EQ Emu database in detail yet, but I think some of the above is going to be fairly trivial (I'm a SQL guru), whereas other stuff might be a pain. In particular, I think a lot of the mob state about what is alive and dead is totally within the server instance, and therefore updating the database so that the named or dungeon mob never respawns is going to be a PITA. I'll either have to manage it manually, or will probably have to do some significant server coding to make it happen. If anybody knows for sure either way please confirm.

Has anybody done anything like this? I want to build this in a way that is reusalbe by the community. For example, wherever possible I'll write SQL scripts which work directly against the PEQ database to change the initial state of objects, mobs, etc. That way if I grab an updated db, I can simply re-run the scripts to get (mostly) back up to date. Of course, this means I'll have to keep a "deleted" list of dead mob's in order to re-sync at a later date, but assuming I have to do this manually anyway then I'll just write the scripts to begin with after each session and can re-run them as needed in the future starting with a "clean" PEQ db.

I want to keep server code changes to a minimum, ideally none at all. Does anybody know if any of the items I've listed above would require server changes, or if it could all be tweaked from the db? Like I said I'm no PEQ expert yet, but I know my way around databases quite well.

I don't mind making server code changes if necessary, but if I can keep everything isolated to the database I think it will be easier for others to "play around" with running a server like this. I'd also like to grab server enhancements from the community w/o worrying about having to merge in my customizations.

Anybody have any thoughts on these ideas, or perhaps some others to kick around?

Thanks,
- Rhino
Reply With Quote
  #2  
Old 10-21-2008, 08:43 PM
eyeke
Fire Beetle
 
Join Date: Oct 2008
Location: Utah
Posts: 1
Default

Great idea.. I'd be interested in playing it.

Have to make sure there's still enough things around to kill to get xp, though.
Reply With Quote
  #3  
Old 10-21-2008, 09:46 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,475
Default

Quote:
I think a lot of the mob state about what is alive and dead is totally within the server instance, and therefore updating the database so that the named or dungeon mob never respawns is going to be a PITA. I'll either have to manage it manually, or will probably have to do some significant server coding to make it happen. If anybody knows for sure either way please confirm.
Ok the way/s I would do this is either of two ways. One is to code it in C++ and set a state in the table Spawn2 field Respawntime to a extremely large number or set a state like -1 and have any fields with -1 never respawn.

The other way is to write it in .net/C++ a executable that checks for any value where Respawntime<>0 and delete the NPC's in the spawngroup. You would need a backup up of the affected tables.

Those are just 'loud' thoughts..

GeorgeS
__________________
Your source for EQ database tools
Toolshop is open for business


http://www.georgestools.chrsschb.com//
Reply With Quote
  #4  
Old 10-22-2008, 09:26 AM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

Quote:
Originally Posted by GeorgeS View Post
Ok the way/s I would do this is either of two ways. One is to code it in C++ and set a state in the table Spawn2 field Respawntime to a extremely large number or set a state like -1 and have any fields with -1 never respawn.

The other way is to write it in .net/C++ a executable that checks for any value where Respawntime<>0 and delete the NPC's in the spawngroup. You would need a backup up of the affected tables.

Those are just 'loud' thoughts..

GeorgeS

Thanks for the info George.

The way I was going to handle initial respawn so that thigns do not pop again is to simply batch update the database ahead of time so that all spawnentires within spawngroups that exist in dungeon zones have their respawntime set to a very large value. But this won't help if the server is reset.

I have no problem writing a C# or C++ app, but I'm wondering if there is there enough state in the database while the server is running that I could tell what has been killed (corpses, etc.) and what has not, and then delete from the spawnentries as needed?

Wiping an entire dungeon is easy once cleared out. But what if the group only half-way clears out the dungone? Since they won't play for another whole week, there is a strong chance the server will restart during that time. Having very long respawntime won't matter, as everything will respawn anyway.

So what I really need is a more granular way to delete only the items that have been killed. I would like to just write a sql proc that is scheduled to run every 5 minutes or so, which simply executes some querties to determine the dataset of killed things, and then if those things are either in a dungeon zone or if named, it deletes the spawnentry / spawngroup. But from what I've seen, there isn't enough state in the database to make that determination. Unless I'm overlooking something?

- Rhino
Reply With Quote
  #5  
Old 10-22-2008, 09:17 AM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

Quote:
Originally Posted by eyeke View Post
Great idea.. I'd be interested in playing it.

Have to make sure there's still enough things around to kill to get xp, though.
Sure thing, if we end up short on players I'll post here. Right now I have enough for the first full group

Yep, I've already thought of the xp issue. I figure in-game killing and quests will account for 25% to 35% of xp. I was planning on handing the rest out as role-playing bonuses to encourage strong role-play, as well as at the end of each session and each "adventure" which may span several sessions. I'm not sure if there is a command to do this directly, or if I'd have to tweak the db after the sessions are over based on my session notes. Obviously I'd prefer the former, as the player can then immediately see the reward for good play.

Since the good loot is going to drop every time with no camping necessary, it won't take long for the players to become overpowered with gear compared to their level The direct xp hand-out will be used to offset this. If I have to wipe the level restrictions on gear I will, that's probably not a bad idea anyway as it's not very RP friendly and will feel artificial ('cause it is!).

The other thing is I may simply have to increase mob xp by some multiplier, which I may do for dungeons, say a 25% to as much as 100% increase. I won't know how much to settle on until after our first few sessions to see how advancement is going.

Keep in mind though, unnamed mobs in outdoor zones will not be limited in any way. So the party can still always go and hunt level-appropriate mobs in any of the numerous outdoor zones. In fact, I plan on making such hunts important pieces of custom quests which tie into the main campaign story arc. I can easily control the rate of dungeon consumption and give them chances to up their exp in a seamless way by throwing story lines at them that run outdoors.

Between the outdoor zones still having mobs, "hot zone" bonuses for dungones which can't be rehunted, as well as direct exp bonsues for role play and finished adventures, I think I can control the rate of advancement well.

My only real concern is that there is enough combat and spell casting to keep skill advancement rate up with leveling. This game is *definately* going to level way faster than Live!. Probably an order of magnitude faster (keep in mind they'll only be playing 2-4 hours a week, but I want them to rip through all classic, kunark, and velious content in 1.5 to 2 years). Spell casting isn't a huge deal as they can practice that, but combat is not so easy. I don't know if through the DB if EQ Emu allows you to control trade skill and general skill advancement rate, ie, adjust progressive percentage chance of a skill up. If so, I'll probably have to tweak that as well. Otherwise when the party gets to mid-levels their skills could start to fall behind.

Does anybody know if skill up rate can be tweaked?

Thanks,
- Rhino
Reply With Quote
  #6  
Old 10-22-2008, 01:56 PM
Bulle
Hill Giant
 
Join Date: Jan 2008
Posts: 102
Default

If you want to judge and reward roleplay you will need to have a way to follow all discussions (on the spot or afterwards). If they use the voice chat exclusively you will need to join it, if not you will need a way to "record" or redirect the chats to you, including party chat etc.
Reply With Quote
  #7  
Old 10-22-2008, 02:25 PM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

Yeah we will be hosting voice chat outside the game which will be used for in-character discussion only, and discussions with NPCs. The quality of these discussions as well as how much they stay in character will be a major factor in the exp reward bonus. /ooc will be reserved for party discussions out of character. If the party members do direct /tells I don't mind, and in fact I will encourage it as the conduit for "passing notes" from one player to the other, and unlike around a tabletop nobody will be the wiser. There should never be any /group, as all group communication is in voice.

I've never done this, and I can imagine it's going to take a few gaming sessions to get everybody up to speed. I've table-topped with many of these folks before in a 2 1/2 year campaign, and they are hard-core and good at rp-ing. So they won't have a problem staying in character.

We'll see how it goes, I plan on having a trial run next week or the week after before I spend too much time customizing the game world. If it goes well, we'll in a month or so I'll be kicking off the Real McCoy.

- Rhino
Reply With Quote
  #8  
Old 10-22-2008, 09:13 PM
Killawen
Sarnak
 
Join Date: Jan 2004
Posts: 66
Default

I'd love to play that.
__________________
"And I am not frightened of dying, any time will do, I
don't mind. Why should I be frightened of dying?
There's no reason for it, you've gotta go sometime."
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 07:17 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