Etox
Gamer | NoobDivine
LEVEL 5
70 XP
Hey so here is how you can add a custom dungeon to LFG. Atleast this is my knowledge so far. If anyone has any tips to make it easier please share it 
Files needed:
MPQ Editor
DBC Editor
DungeonEncounter.dbc (for when you add bosses)
DungeonMap.dbc
LFGDungeonExpansion.dbc
LFGDungeonGroup.dbc
LFGDungeons.dbc
Map.dbc
MapDifficulty.dbc
REMEMBER TO BACKUP UR DBC FILES
Sooo lets start!
Map.dbc
Here we need to find out what mapID we want to use for our custom dungeon that we're gonna add to the dungeon finder. So choose your map. Remember the MapID you choose because you need it in almost every dbc file
1 = ID
2 = Directory
3 = InstanceType 0: none 1: party, 2: raid, 3: pvp, 4: arena
4 = Flags
5-21 = Mapname
22= AreaTableId (AreaTable.dbc)
23-39 = Map Description
40-56 = Map Description
57 = Loadingscreen
58 = Minimapiconscale
59 = Corpse Map ID
60 = Corpse X (coords)
61 = Corpse Y (coords)
63 = Expansion ID Vanilla 0, TBC 1, wotlk 2
Then we go to MapDifficulty.dbc so we can add our custom dungeon here. If you want to make one normal and one heroic just clone the row and change the difficulty. (2 rows)
1 = ID
2 = MapID
3 = DIfficulty 0: normal 1: heroic
4-20 = Message
21 = raid duration
22 = max players
23 = difficulty string
Then I like to start off with the LFGDungeonGroup.dbc. Here you can create the top line for the list of dungeons you want below it. You can edit an existing one to the desired name.



Then we go to the LFGDungeons.dbc. Create a new row or edit an existing one, choose your name, and edit your custom settings like minimum level etc and group type. Remember to put the right mapID. I am a bit unsure what the flags are and the group_id (havent tested).
1 ID
2-18 = Area/Instance (zone) name
19 = Minimum level to participate.
20 = Maximum level when this dungeon becomes trivial.
21 = Grouping of some type (5 = Battleground, 4 = Normal world zones? , 2 = Raid, 1 = 5 man)?
22 = Faction type to participate. -1 all; 0 horde; 1 alliance;
23 = Here you must add the Map Id where you will be ported
24 = difficulty
24 = Expansion



Then its LFGDungeonExpansion.dbc Didn't find any information in the wiki about this but.
1 = ID
2 = LFG_ID (I am a bit unsure of this so I just tested 289) If anyone has any information here feel free to share! So I can update the tutorial.
3 = Expansion_level 0: Vanilla, 1: TBC, 2: Wotlk
4 = Random_ID (A bit unsure of this aswell so tried 259) If anyone has any information here feel free to share! So I can update the tutorial.
The rest is the desired level you want.

DungeonMap.dbc this is where you put in the coordinates of where you want to spawn when you enter the dungeon throught the group finder.
1 = ID
2 = MapID
3 = Multiple floors
4 = Coords
5 = Coords
6 = Coords
7 = Coords
8 = ParentworldmapID MORE INFO HERE


DungeonEncounter.dbc to put in your boss fights for the dungeon.

You also have to edit instance_template. (for custom dungeons)
Then you have to make a custom patch @JadaDev has an amazing video tutorial for that!
If anyone has some information about LFGDungeonExpansion.dbc its gladly appreciated!
Updated Tutorial 12.01.2023
Files needed:
MPQ Editor
DBC Editor
DungeonEncounter.dbc (for when you add bosses)
DungeonMap.dbc
LFGDungeonExpansion.dbc
LFGDungeonGroup.dbc
LFGDungeons.dbc
Map.dbc
MapDifficulty.dbc
REMEMBER TO BACKUP UR DBC FILES
Sooo lets start!
Map.dbc
Here we need to find out what mapID we want to use for our custom dungeon that we're gonna add to the dungeon finder. So choose your map. Remember the MapID you choose because you need it in almost every dbc file
1 = ID
2 = Directory
3 = InstanceType 0: none 1: party, 2: raid, 3: pvp, 4: arena
4 = Flags
5-21 = Mapname
22= AreaTableId (AreaTable.dbc)
23-39 = Map Description
40-56 = Map Description
57 = Loadingscreen
58 = Minimapiconscale
59 = Corpse Map ID
60 = Corpse X (coords)
61 = Corpse Y (coords)
63 = Expansion ID Vanilla 0, TBC 1, wotlk 2
Then we go to MapDifficulty.dbc so we can add our custom dungeon here. If you want to make one normal and one heroic just clone the row and change the difficulty. (2 rows)
1 = ID
2 = MapID
3 = DIfficulty 0: normal 1: heroic
4-20 = Message
21 = raid duration
22 = max players
23 = difficulty string
Then I like to start off with the LFGDungeonGroup.dbc. Here you can create the top line for the list of dungeons you want below it. You can edit an existing one to the desired name.



Then we go to the LFGDungeons.dbc. Create a new row or edit an existing one, choose your name, and edit your custom settings like minimum level etc and group type. Remember to put the right mapID. I am a bit unsure what the flags are and the group_id (havent tested).
1 ID
2-18 = Area/Instance (zone) name
19 = Minimum level to participate.
20 = Maximum level when this dungeon becomes trivial.
21 = Grouping of some type (5 = Battleground, 4 = Normal world zones? , 2 = Raid, 1 = 5 man)?
22 = Faction type to participate. -1 all; 0 horde; 1 alliance;
23 = Here you must add the Map Id where you will be ported
24 = difficulty
24 = Expansion



Then its LFGDungeonExpansion.dbc Didn't find any information in the wiki about this but.
1 = ID
2 = LFG_ID (I am a bit unsure of this so I just tested 289) If anyone has any information here feel free to share! So I can update the tutorial.
3 = Expansion_level 0: Vanilla, 1: TBC, 2: Wotlk
4 = Random_ID (A bit unsure of this aswell so tried 259) If anyone has any information here feel free to share! So I can update the tutorial.
The rest is the desired level you want.

DungeonMap.dbc this is where you put in the coordinates of where you want to spawn when you enter the dungeon throught the group finder.
1 = ID
2 = MapID
3 = Multiple floors
4 = Coords
5 = Coords
6 = Coords
7 = Coords
8 = ParentworldmapID MORE INFO HERE


DungeonEncounter.dbc to put in your boss fights for the dungeon.
1 | uint32 | ID | Unique ID of the encounter |
2 | uint32 | Map ID | ID of the map where the encounter takes place. |
3 | uint32 | Difficulty ID | The Difficulty of the map in which the encounter takes place |
4 | int32 | Order Index | |
5 | uint32 | Bit | 0: First boss, 1: Second boss, 2: Third boss, ... |
6-22 | langstringrefâ± | Encounter Name | Name of the encounter |
23 | uint32 | SpellIconID |

You also have to edit instance_template. (for custom dungeons)
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
map | int(10) | unsigned | NO | NULL | |||
parent | bigint(10) | unsigned | NO | 0 | |||
script | varchar(128) | signed | NO | NULL | |||
allowMount | tinyiny(1) | signed | NO | 0 |
Then you have to make a custom patch @JadaDev has an amazing video tutorial for that!
If anyone has some information about LFGDungeonExpansion.dbc its gladly appreciated!
Updated Tutorial 12.01.2023
Last edited: