Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

(VM 100.02) ) tya0411's VM - How do I add/change dungeon selection?

Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
I'd like to try other dungeons in my LAN server but I tried reading through here and the information seems to be scattered. Can someone condense and explain how to change the default selection of dungeons from this patch?
 
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
DungeonConstraint.xml for enabling the dungeons and DungeonMatching.xml for tweaking special requirements (I think).

Gonna have to backup and try this out and see the result, Thanks @tya0411 :)



Is there a specific list of dungeons this patch can only play with? Because when I go to the teleportal (I used GV Normal Mode to test), the option to choose Normal Mode isn't there at all only the Hard Mode. Also do I have to edit the Client's DataCenter as well? Maybe I'm doing this wrong lol.
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Apr 24, 2022
Messages
47
Reaction score
43
There are corresponding datasheets in the datacenter for both of those, but it sounds like there may not be an entry in your TeleportData.xml for that dungeon
 
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
There are corresponding datasheets in the datacenter for both of those, but it sounds like there may not be an entry in your TeleportData.xml for that dungeon

Ohhh I see. I'll check the TeleportData and enable there and see if that works.
 
Upvote 0
Legendary Battlemage
Joined
Apr 28, 2022
Messages
664
Reaction score
208
Ohhh I see. I'll check the TeleportData and enable there and see if that works.

You enable the teleport in TeleportData, sometimes you also need to enable the dungeons in their coresponding dungeonData and AreaData files, and you also need to edit the client DC, else you will see the teleport options but they will not work.
Sometimes you need to also enable things in NewWorldMap.
 
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
You enable the teleport in TeleportData, sometimes you also need to enable the dungeons in their coresponding dungeonData and AreaData files, and you also need to edit the client DC, else you will see the teleport options but they will not work.
Sometimes you need to also enable things in NewWorldMap.

Okay this is a lot more complicated than I realised lol. So can you give me an example? Like for instance, I want to activate Sabex Armory, is it possible to have a step by step?
 
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
Okay this is a lot more complicated than I realised lol. So can you give me an example? Like for instance, I want to activate Sabex Armory, is it possible to have a step by step?

Can someones please explain in simple terms what files in my server and client do I need to edit to add dungeons? I tried everything that was suggested in my thread and nothing works.
 
Upvote 0
Legendary Battlemage
Joined
Apr 28, 2022
Messages
664
Reaction score
208
Can someones please explain in simple terms what files in my server and client do I need to edit to add dungeons? I tried everything that was suggested in my thread and nothing works.

The easiest suggestion / explanation I can give you is this:
download Shadows VM, it has all dungeons already enabled, then simply toggle them on/off by either the web app or in DungeonConstraint.xml by setting the coresponding ID from "true" to "false".
Or just use his files from the VM.

Else you will need a guide for every single dungeons since they are in different files in both client and server and its jsut flat out too much work to explain everything.
 
Upvote 0
Newbie Spellweaver
Joined
Apr 24, 2022
Messages
47
Reaction score
43
I would have to agree. Though I'm glad my VM provided you some initial value :) My VM is unmaintained and unaltered from the initial release. Shadow's has numerous big game server changes, additional server components, as well as an active forum thread.
 
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
The easiest suggestion / explanation I can give you is this:
download Shadows VM, it has all dungeons already enabled, then simply toggle them on/off by either the web app or in DungeonConstraint.xml by setting the coresponding ID from "true" to "false".
Or just use his files from the VM.

Else you will need a guide for every single dungeons since they are in different files in both client and server and its jsut flat out too much work to explain everything.
Oh I see. I'll try and download his VM and see what I can do, thank you.
 
Upvote 0
Newbie Spellweaver
Joined
Jan 9, 2023
Messages
9
Reaction score
7
Okay this is a lot more complicated than I realised lol. So can you give me an example? Like for instance, I want to activate Sabex Armory, is it possible to have a step by step?


So, I got this working (kinda, still haven't got Vanguard Request for it fully working, but the dungeon itself can be entered and works fine). I'm using Dziobus's client data file which I think may have some client-side work done as I've noticed all the removed dungeons show on the world map, and I didn't have to do any client-side work, at least to get the dungeon itself accessible. Not an expert but I'll put the steps of what I did to implement it since it seems to have worked well at least.

1 - Grab the Hunting Zone ID of the dungeon by looking up a creature from the dungeon on Teralore.com. For this I'll go with Yateveo, the end boss, which shows up as 0080830031000 for its ID. The first five numbers seem to generally be the hunting zone ID, minus any 0s at the front. In this case, the first five numbers are 00808, so the hunting zone ID of Sabex Armory is 808.

2 - Go to DungeonConstraint.xml and search the file to find huntingZoneId="808" in a line. This should be Sabex Armory's line in this file. Make sure you make a note of the continent ID, which is 9808 in this case. Then find isActive="false" and change that false to true. While many of the removed dungeons appear to be commented out in this file, I don't believe Sabex Armory actually was, but if I'm misremembering or you want to try implementing a different dungeon this way, you might need to remove the "<!--" and "-->" at the beginning and end of the line respectively to uncomment it. In Notepad++ it shows the line as green when it's commented out which helps make it easy to tell if it is or not.

3 - Go to DungeonMatching.xml and search for the line with <Dungeon id="9808". Remember the continent ID from the last file? This one doesn't have the hunting zone ID listed so you have to use the continent ID to find it here. If you try to implement a different dungeon the continent ID will be whatever you got for that dungeon naturally. Now uncomment the block of text for this dungeon by removing the "<!--" and "-->" at the beginning and end of it. Your block of text in this file for Sabex Armory should look like this:
Code:
<Dungeon id="9808" name="아크데바 무기고" dungeonLevel="61" dungeonMinLevel="60" dungeonMaxLevel="70" minItemLevel="302" matchingRoleId="23" >
        <NeedItem id=""/>
        <DungeonCle arCompensation itemTemplateId="411" itemAmount="1" />
        <DungeonClearCompensation itemTemplateId="364" itemAmount="1" />
    </Dungeon>

I'm not sure if this file is actually required to access the dungeon, it seems like it's just used for the group finder system, but it may still be used elsewhere so I'd just do it even if you don't have enough players on your server for group finder, unless you feel like experimenting to verify if it's needed or not.

4 - Go to TeleportData.xml and find the three line text block with continentId="9808", which should look like this.
Code:
<TeleportList id="808002">
    <Teleport uniqueId="808002" desc="아크데바 무기고" stringId="@rgn:9808001" continentId="9808" pos="37667.7148,144185.2344,436.9510" dir="" distance="10"/>
    </TeleportList>

I don't remember for sure if it was commented out or not, but if it is, uncomment it the same way you did previously. If it isn't, still good to understand that this will probably be required for implementing other dungeons as I do see quite a few of them commented out here.

4 - Now open up DungeonData_9808, once again 9808 is the continent ID for the dungeon here, and note down the exitPos, "9289,-26822,935". What we're doing here is essentially the best approximation for teleporter spawn coordinates I've been able to find so far, because I haven't found a way to grab the actual original coordinates for dungeon teleporters yet. Their spawns seem to have sadly been deleted entirely from the datasheets rather than just commented out or disabled.

5 - Search Sabex Armory Teleportal in Teralore.com and note down its ID, 00182302. Unfortunately, some dungeons simply have teleportals named "Teleportal" and I'm not actually sure how you get IDs for these besides a bit of trial and error, however Sabex Armory's is conveniently named Sabex Armory Teleportal, making it easy to find this way.

6 - Now last step is to spawn the teleportal in-game to make it possible to actually enter the dungeon without GM commands. Note that once again, the first five digits of Sabex Armory Teleportal's ID, minus the 0s at the beginning, are its hunting zone ID, so in this case 182. This is, I assume, the hunting zone ID for Spring Valley. Now using this ID, open up TerritoryData_182.xml. You're going to want to create a new spawn here, in this case RK-9 is an enabled dungeon in the same zone, so do a search for RK-9. You'll actually find a few instances, I'm not actually sure entirely what everything is here, but I copied this specific block of code.

Code:
<TerritoryGroup id="18209735" desc="RK-9 격납고 차원의 마법석">
        <TerritoryList>
            <Territory id="18209735" desc="차원의 마법석" type="normal" addMaxZ="200.000000" subtractMinZ="230.000000" absoluteFenceZ="0.000000" randomPosMinDist="100.000000" peaceMoveNpcCheckDist="100.000000" eventId="0">
                <Fence pos="2910.56860352,-20828.01367188,849.94396973"/>
                <Fence pos="3154.61352539,-21058.58789063,1381.63354492"/>
                <Fence pos="3596.62890625,-21157.27734375,1381.63427734"/>
                <Fence pos="3720.26416016,-20688.04101563,1247.17163086"/>
                <Fence pos="3044.24365234,-20208.64062500,1276.93395996"/>
                <Npc instanceId="18209735" desc="RK-9 격납고 이동" memberId="0" npcTemplateId="9735" battlefieldTeam="" ai="127" randomPos="false" spawnCount="1" pos="3349.00000000,-20611.00000000,815.00000000" offsetZ="0" dir="75" respawnTime="0" delaySpawnTimeWhenWorldStart="0" isAggressiveMonster="false" viewRadius="300" viewAngle="130" alertRadius="400" alertAngle="360" aggroSendToClanDistance="300" aggroSendToPartyDistance="400" aggroSendToTerritory="" aggroReceiveOnlyInSight="false" aggroIgnorePartyId="" aggroShareGroupId="0" aggroTargetIsUserOnly="false" escapeLocation="0.00000000,0.00000000,0.00000000" isReturn="true" isReturnMyTerritory="false" conditionalSpawn="false" returnDistance="2000" questPatrol="false" peaceStateNoMoving="false" cautionStateNoMoving="false" voidSpawn="false" respawnRandomTime="20000" moveInTerritory="true" popupMsg="" msgProb="0.000000" msgInterval="0" msgBroadcastingChannel="false" excludeAggroLimit="false" aggroCopyFromNpc="" aggroCopyFromNpcDistance="0" isFlying="false" flyMoveSequenceId="0" interactionRuleId="0">
                    <PatrolList type="default" socialDuration="0" randomSocial="false"/>
                    <SocialSet checkInterval="0" probSocial="0.000000"/>
                </Npc>
                <Attribute achieveConditionId="0" abnormality="0"/>
                <DungeonTrigger cameraCurrentZoom="0" cameraMaxZoom="0"/>
            </Territory>
        </TerritoryList>
        <BerserkAi working="false" duration="0" berserkRate="0.000000" combatRatioDiffToBerserk="0.000000"/>
        <BlastRegenAi working="false" checkType="time" intervalToBlastRegen="0" spawnedRatioToBlastRegen="0.000000"/>
        <DoorAiList/>
        <RespawnTimeAi working="false" combatRateToReduceRespawnTime="0.000000" respawnReduceTime="0.000000" duration="0"/>
        <SpawnNewNpcAi working="false" npcDeadCount="0" duration="0"/>
    </TerritoryGroup>

Put a copy of that code below the original, and change the id, 18209735, to 18203022 in all three places it appears across the block of code. You might notice that 18203022 is not actually the ID we pulled from Sabex Armory Teleportal. This data file seems to format it a bit differently by cutting the 0s from the start and inserting a 0 between the hunting zone ID (182) and the individual creature ID (3022). I noticed that oddity and copied the formating which seems to have worked.

In this data file you will also need to edit the coordinates ' pos="3349.00000000,-20611.00000000,815.00000000" ' to match the coordinates we pulled from DungeonData_9808.xml earlier. Once again though, this file seems to have somewhat different formatting standards and it's good to try to match that to avoid running into any issues, specifically it adds 8 decimal places at the end of all the coordinates, so in this case "9289.000000,-26822.000000,935.000000" will be the coordinates we're going to use here. Ignore the fence coordinates, I assume those have something to do with the radius mobs can wander, but doesn't seem to cause any issues for this, likely because it's a stationary creature. (While you wouldn't normally think of a teleportal as a creature, that is what they're setup as internally.)

My full block of code for this spawn is
Code:
    <TerritoryGroup id="18203022" desc="RK-9 격납고 차원의 마법석">
        <TerritoryList>
            <Territory id="18203022" desc="차원의 마법석" type="normal" addMaxZ="200.000000" subtractMinZ="230.000000" absoluteFenceZ="0.000000" randomPosMinDist="100.000000" peaceMoveNpcCheckDist="100.000000" eventId="0">
                <Fence pos="2910.56860352,-20828.01367188,849.94396973"/>
                <Fence pos="3154.61352539,-21058.58789063,1381.63354492"/>
                <Fence pos="3596.62890625,-21157.27734375,1381.63427734"/>
                <Fence pos="3720.26416016,-20688.04101563,1247.17163086"/>
                <Fence pos="3044.24365234,-20208.64062500,1276.93395996"/>
                <Npc instanceId="18203022" desc="Sabex 격납고 이동" memberId="0" npcTemplateId="3022" battlefieldTeam="" ai="127" randomPos="false" spawnCount="1" pos="9289.000000,-26822.000000,935.000000" offsetZ="0" dir="75" respawnTime="0" delaySpawnTimeWhenWorldStart="0" isAggressiveMonster="false" viewRadius="300" viewAngle="130" alertRadius="400" alertAngle="360" aggroSendToClanDistance="300" aggroSendToPartyDistance="400" aggroSendToTerritory="" aggroReceiveOnlyInSight="false" aggroIgnorePartyId="" aggroShareGroupId="0" aggroTargetIsUserOnly="false" escapeLocation="0.00000000,0.00000000,0.00000000" isReturn="true" isReturnMyTerritory="false" conditionalSpawn="false" returnDistance="2000" questPatrol="false" peaceStateNoMoving="false" cautionStateNoMoving="false" voidSpawn="false" respawnRandomTime="20000" moveInTerritory="true" popupMsg="" msgProb="0.000000" msgInterval="0" msgBroadcastingChannel="false" excludeAggroLimit="false" aggroCopyFromNpc="" aggroCopyFromNpcDistance="0" isFlying="false" flyMoveSequenceId="0" interactionRuleId="0">
                    <PatrolList type="default" socialDuration="0" randomSocial="false"/>
                    <SocialSet checkInterval="0" probSocial="0.000000"/>
                </Npc>
                <Attribute achieveConditionId="0" abnormality="0"/>
                <DungeonTrigger cameraCurrentZoom="0" cameraMaxZoom="0"/>
            </Territory>
        </TerritoryList>
        <BerserkAi working="false" duration="0" berserkRate="0.000000" combatRatioDiffToBerserk="0.000000"/>
        <BlastRegenAi working="false" checkType="time" intervalToBlastRegen="0" spawnedRatioToBlastRegen="0.000000"/>
        <DoorAiList/>
        <RespawnTimeAi working="false" combatRateToReduceRespawnTime="0.000000" respawnReduceTime="0.000000" duration="0"/>
        <SpawnNewNpcAi working="false" npcDeadCount="0" duration="0"/>
    </TerritoryGroup>

You might notice I changed RK-9 to Sabex in one of the desc sections but not the other. I'm 99% sure you can edit this in both without issue, but I noticed it while typing this out and didn't want to put anything in here that I hadn't tested on my server first. From what I've seen the desc section never actually impacts anything in game, I changed the one just so I could search Sabex in the file to find it again easily.

Now, restart your server and the Sabex Armory Teleportal should be spawning in Spring Valley around where the Sabex Armory Teleport Scroll will take you, and where the dungeon is marked on the map, and you should be able to use it to enter the dungeon. (Note, while I was typing this out, Operation Overwatch activated and that seemed to have caused the teleportal to despawn. I assume it will come back after, but this may be something to check for if you find it missing.)

While the dungeon itself should be fully playable after all of this, a key thing you'll still be missing is a Vanguard Request for the dungeon. I've partially gotten this working but it's not displaying properly even if it technically works mechanically so I'm holding off on typing out this part for now until I figure out why it has no name or objective text and displays as level 0, I assume something with the client side of it. I'll come back here with a part 2 explaining how to create this when/if I get this working properly.

As a bonus though, Sabex Armory is a 5 player dungeon still rather than 3 player dungeon like other Tera leveling dungeons in 100.02. This is fine if you've got a full 5 player party on your server to run it with, but if you're the only person on the server or just have a couple friends on, this might not be feasible to complete at-level. If you want to scale it down a bit to more in-line with other dungeons, I'll post my data file for the changes I made to the dungeon, which you can put into your server datasheet, replacing the file of the same name that is currently there. Mine is tuned for solo play, though since the 3 player dungeons are generally already beatable solo, I balanced it much closer to those than the very easy solo mode dungeons that are around in the game. The only change I've been making to the 3 player dungeons is reducing boss HP by 50% to make them a bit less tedious. (If you want to balance it around the actual 3 player dungeons, just doubling the boss HP in my data should put it pretty close.)

It hasn't been tested a lot, but I ran through with my level 62 Berserker and it felt like it was in a decent place of being very doable without being too easy.

Solo-Friendly Sabex Armory Data -
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
Thank you for sharing this. I've added this information to my folder of TERA Server info that I have. Currently using Shadow66's VM with everything activated but will go back to my first server and try this stuff out as I want to learn these things as I go. Much appreciated! <3
 
Upvote 0
Newbie Spellweaver
Joined
Aug 31, 2023
Messages
29
Reaction score
13
Hi there, is there a link to this Shadow66's VM (with all the dungeons enabled) and does it work for 100.02 please?
 
Upvote 0
Newbie Spellweaver
Joined
Jul 25, 2022
Messages
81
Reaction score
11
Hi there, is there a link to this Shadow66's VM (with all the dungeons enabled) and does it work for 100.02 please?
Shadow's VM is tailored for 100.02 and it's under TERA Releases. Yes, most dungeons are activated with their normal and hard modes. Should be on the top on the forums as it's a popular build.
 
Upvote 0
Newbie Spellweaver
Joined
Aug 31, 2023
Messages
29
Reaction score
13
Shadow's VM is tailored for 100.02 and it's under TERA Releases. Yes, most dungeons are activated with their normal and hard modes. Should be on the top on the forums as it's a popular build.
I must be so noob (I've only started reading this forum less than a week and got the game running just a couple of days + info seems to be scattered everywhere) I'm blind and having trouble finding it. Would much appreciate it if you could so kindly share the direct link here? Tysm...
 
Upvote 0
Newbie Spellweaver
Joined
Aug 31, 2023
Messages
29
Reaction score
13
So I managed to enable most dungeon teleportals to work without the need to use the QA command /@enter_dungeon xxxx.

More info on this + my edited TeleportData-00000.xml file can be found here:
 
Upvote 0
Back
Top