Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-26-2012, 05:14 AM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default apathing

I spent a little time today looking at some pathing issues I've been seeing (mobs falling under the world and hopping), and I am wondering how path files are created.

apathing is not building, and I'm not even sure that is what people are using.

FindBestZ is making a valiant attempt to keep mobs on the map, but without LOS checks mobs will path through geometry and eventually fall through the world. I am hoping that the missing path files for the zones I am interested in will fix things.

If anyone is having success with pathing these days, I would very much appreciate being pointed in the correct direction.
Reply With Quote
  #2  
Old 12-28-2012, 07:09 PM
Madrigal
Fire Beetle
 
Join Date: Mar 2010
Posts: 10
Default

The only way I know how to create new path files is from within the game (via an account with sufficient administrator privileges).

I pulled this from an older post a few years ago, but it describes the available commands pretty well:

Code:
#path shownodes: Spawns a npc to represent every npc node.

#path info node_id: Gives information about node info (requires shownode target).

#path dump file_name: Dumps the current zone->pathing to a file of your naming.

#path add [requested_id]: Adds a node at your current location will try to
take the requested id if possible.

#path connect connect_to_id [is_teleport] [door_id]: Connects the currently
targeted node to connect_to_id's node and connects that node back 
(requires shownode target).

#path sconnect connect_to_id [is_teleport] [door_id]: Connects the 
currently targeted node to connect_to_id's node (requires shownode 
target).		

#path qconnect [set]: short cut connect, connects the targeted node to 
the node you set with #path qconnect set (requires shownode target).

#path disconnect [all]/disconnect_from_id: Disconnects the currently 
targeted node to disconnect from disconnect from id's node (requires 
shownode target), if passed all as the second argument it will disconnect 
this node from every other node.

#path move: Moves your targeted node to your current position

#path process file_name: processes the map file and tries to automatically 
generate a rudimentary path setup and then dumps the current 
zone->pathing to a file of your naming.

#path resort [nodes]: resorts the connections/nodes after you've manually 
altered them so they'll work.

#path meshtest - loops through every node and tries to connect it to every 
other node in the map, and reports any broken paths. Very slow and will 
cause you to disconnect.

#path meshtest simple - does the same thing but only tries to connect node 
0 to every other node, not as accurate as it could fail to find errors on paths 
that have one way connections but is usable in realtime.

#path hazard - tries to figure out if there's a hazard between you and your 
target, a hazard being a swift jump or drop in z distance between x and y.

#path allspawns - similar to mesh test but tries to find a path from your 
current position to every npc in the zone, not likely to disconnect you but 
still can be fairly slow.
Of the few path files that I've created, I tend to manually connect each node before using the #path dump <filename> command (which will generate the actual .path file). The #path process command can automate connecting the nodes to one another (making the creation of path files much easier and quicker), but I've found it to be a bit touchy. Sometimes it seems to create "ghost" node connections that I can't remove and ultimately ends up corrupting the file. So, in short, I stay away from #path process -- although you may end up having better luck with it than I have.

If you want to visually check out a path-file that you've created (or if you just want to see some previously made path files), you can use the Map and Path Viewer Tool that can be downloaded from this site. It's a neat tool, and I've found it extremely useful when double-checking a .path file in order to make sure that there weren't any stray nodes I missed or illogical connects.

One of the former EQEmu developers, image, has put up a repository for path files that fills in more zones than just the "stock" Maps SVN repository. If you end up creating a few path files yourself, you may want to see if they can get put up on his site (and available to the community-at-large), at least until they're committed to the Maps SVN repository.

http://www.eqpvp.com/paths/

Lastly, I don't know if it's considered poor form or not, but there is one other public repository that has some extra EQEmu .path files -- if you browse to the server_map_updates directory in the axclassic repack (https://code.google.com/p/axclassic-...ource/checkout), you'll be able to snag some more path files to fill in a few more gaps. I've never spoken with the developers at that site, but it is a public repository, so I hope they wouldn't mind me linking their SVN repository in this post. One of these days, with some luck, all the various .path files can be consolidated/unified into the Maps SVN repository.

Anyways, that should be enough to get you started.

Madrigal
Reply With Quote
  #3  
Old 12-28-2012, 09:14 PM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default

Thanks for the information. I somehow had the idea that packet captures and zone geometry were used for this sort of thing, but I only have a couple of zones I'm worried about at the moment. In a way, I feel that I have a better understanding of the pathing this way.

I went to Highkeep and depopped the zone (#depopzone), then spawned nodes for the path points. Running around the zone gave me an idea of how the paths worked. The path-map viewer is nice. For anyone interested in playing with it, it wants to be in your EQ top directory. I just created a Maps folder underneath the viewer, and it was happy.
Reply With Quote
  #4  
Old 12-29-2012, 02:46 AM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default

I have one follow-up question. I built a path file for Crescent Reach, and I'm not sure how one goes about testing them. I could aggro a mob and drag it all over the place, but I'm not sure how much of the pursuit was path related as opposed to line of sight.

I did an #aggrozone, and other than having a billion mobs chasing me I didn't learn much. There was too many of them to notice where they were running.

Anyone who is interested in the file may have a copy, keeping in mind that this is my first attempt at a path file and I may have done some silly things.

Anyhow my question is: How do I test these paths?
Reply With Quote
  #5  
Old 12-29-2012, 03:22 AM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,290
Default

If you are doing it manually through #path add it actually takes those into account on the fly. So you are essentially building a map of nodes for the npc's to follow (eg. pathing). Just have a mob aggro and see how he follows you... It should be pretty obvious when he is going for a node (when they lose line of sight to you) since it will not be directly pathing at you.

If you happen to see mobs start moving through walls or something like that you know there are more nodes required.
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote
  #6  
Old 12-29-2012, 09:18 AM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default

The problem I was having with this approach was that if the mob doesn't have LOS to me, am I going to be able to watch it? Otherwise, watching a single mob seems the logical approach.

My solution (for anyone searching the forums later) was to log in a second GM account. Target a mob with one GM, run to some obscure hiding spot. Then agro the mob (#damage 1). Follow the incoming mob with the second GM account.

So far things look great.

Thanks for the help.
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 06:32 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