Solving Missing ID Error

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Jack0928PC

New Member
Jul 29, 2019
206
0
1
Hello,
For the past week I have been putting together a modpack, all was going well until I uploaded the modpack to the server and tried to connect. I cant seem to figure out the problem, all the files are the same and I am able to generate and play a singleplayer world without a problem. During the process of making the modpack, I installed "IDfix Minus" (essentially a mod that resolves ID conflicts for you) thus alleviating myself of the process of manually fixing the ID conflicts. Below I will include a screenshot of the error messages, as well as a pastebin link of the txt file generated by "IDfix Minus" showing the IDs it changed.
10horpk.png

http://pastebin.com/faJpxFfZ
(Just a quick note, the files from client to server are the exact same, issue is not from the client and server not having the same config files)
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
IDFix Minus is more of a stopgap more then anything; when it works, it works GREAT. When it doesn't... Then things are worse off then if you had just resolved your conflicts manually.

So IMO, IDFix Minus is great for getting started with making your configs play nice, but in the end, you pretty much have to do some by hand regardless.
 

FyberOptic

New Member
Jul 29, 2019
524
0
0
My experience with one of those ID-fixing mods was that it didn't actually fix the block IDs, it just worked as a translation layer to avoid the conflict from occuring at run-time. It didn't seem like it would have been very suited to being used on a server, especially if the order of the mods changed or an extra was added in by a client or something. I haven't used the one in particular that you mentioned, but it might work the same to this.

The best solution is always the hardest one: throw the mods in and fix the configs yourself. It's not fun, but you're guaranteed to have the client and server matched up.
 
  • Like
Reactions: YX33A

Jack0928PC

New Member
Jul 29, 2019
206
0
1
The best solution is always the hardest one: throw the mods in and fix the configs yourself. It's not fun, but you're guaranteed to have the client and server matched up.

I am entirely unfamiliar with the process. Is there certain range that I have to stay in when changing the IDs? Also it says they are missing, so do I need to change the IDs to match the ones that are missing and then search in every config file until I locate the IDs and then change those aswell? If so that sounds like a massive headache, Hope there is an easier way.
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
My experience with one of those ID-fixing mods was that it didn't actually fix the block IDs, it just worked as a translation layer to avoid the conflict from occuring at run-time. It didn't seem like it would have been very suited to being used on a server, especially if the order of the mods changed or an extra was added in by a client or something. I haven't used the one in particular that you mentioned, but it might work the same to this.

The best solution is always the hardest one: throw the mods in and fix the configs yourself. It's not fun, but you're guaranteed to have the client and server matched up.
I even recall one that didn't "fix" any ids, it suggested what ID you should set things to. Long time ago now, and it was my preferred choice as it didn't have runtime diarrhea with dozens of mods being reassigned Willi-nilly to try and keep everything "fixed".
Now? That's a core feature of Forge itself. My life is very good.
 

FyberOptic

New Member
Jul 29, 2019
524
0
0
I am entirely unfamiliar with the process. Is there certain range that I have to stay in when changing the IDs? Also it says they are missing, so do I need to change the IDs to match the ones that are missing and then search in every config file until I locate the IDs and then change those aswell? If so that sounds like a massive headache, Hope there is an easier way.

Something is telling me that your block ID fixer is not fixing the IDs the same on the client and server. If you copied the configs from your client to the server, and the ID fixer didn't actually modify those configs but worked during run-time like I described, then that would be the problem. It's hard to say.

Block IDs range from 0-4095, though you'd want to avoid the first 256 most likely since that's vanilla's stuff. The game won't let you assign the same ID to multiple blocks anyway, it causes a crash at startup and tells you the ID in question. That's how I do it personally, though: throw the mods in together, see if the game crashes, if so change the IDs of one of the mods to something else, and keep trying.

When you get into really iffy territory is when item IDs conflict, because this doesn't cause a crash because overwriting items can sometimes be intentional (especially for replacing vanilla items). The only way I alleviated it was to install mods one at a time, and use NEI's ID dumping feature to compare the dumps after I added a mod. It's tedious, you better believe it, but I didn't want to take the chance on items overlapping later in the game and causing me problems, especially for a server.
 

Jack0928PC

New Member
Jul 29, 2019
206
0
1
Something is telling me that your block ID fixer is not fixing the IDs the same on the client and server. If you copied the configs from your client to the server, and the ID fixer didn't actually modify those configs but worked during run-time like I described, then that would be the problem. It's hard to say.

Block IDs range from 0-4095, though you'd want to avoid the first 256 most likely since that's vanilla's stuff. The game won't let you assign the same ID to multiple blocks anyway, it causes a crash at startup and tells you the ID in question. That's how I do it personally, though: throw the mods in together, see if the game crashes, if so change the IDs of one of the mods to something else, and keep trying.

When you get into really iffy territory is when item IDs conflict, because this doesn't cause a crash because overwriting items can sometimes be intentional (especially for replacing vanilla items). The only way I alleviated it was to install mods one at a time, and use NEI's ID dumping feature to compare the dumps after I added a mod. It's tedious, you better believe it, but I didn't want to take the chance on items overlapping later in the game and causing me problems, especially for a server.

Yea, This does make a lot of sense to do it this way. I think I should just install a clean base pack and add one by one like you said. However I am unaware of the NEI Dump feature you spoke of. What exactly is that and how do I use it to assist me with this process? Also how can you tell when IDs overlap and need to be changed to prevent further crashing?
 

FyberOptic

New Member
Jul 29, 2019
524
0
0
I even recall one that didn't "fix" any ids, it suggested what ID you should set things to.

Sounds like something I wouldn't have minded having, compared to what I tried using. Especially if it also did item IDs.

runtime diarrhea

I lolled.

That's a core feature of Forge itself. My life is very good.

The one downside to the ID-less system is for mods where you could specify block or item IDs for certain purposes. My Endermanage mod for example will be a nightmare for people to configure if you have to use block names. It's part of why I never bothered making a 1.7 version yet.
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
Sounds like something I wouldn't have minded having, compared to what I tried using. Especially if it also did item IDs.



I lolled.



The one downside to the ID-less system is for mods where you could specify block or item IDs for certain purposes. My Endermanage mod for example will be a nightmare for people to configure if you have to use block names. It's part of why I never bothered making a 1.7 version yet.
No, the ID conflict detection is very new, and very bleeding edge. So far I've only seen two mods using it; RP2 and any mod by Reika, and both are a bit of a nucaince since forge doesn't support itemID conflict detection(yet RP2 did, and was made by a core early Forge Dev), and you're utterly screwed if you have a potionID conflict, which don't crash but are hell when they crop up, enchantmentID conflicts, which are annoying since the times I've seen 'em, they crash and tell you very little of use, BiomeID Conflicts, which it's less of a "Oh boy, this is bad, better crash the game so he(?) notices this issue" and more of a "Haha, no, enjoy your nether mobs outside your house in the overworld, pleb", and gods forbid, dimensionID conflicts. Those are one of the worst, as it's not always easy to notice the issue until you try to enter a specific dimension and it's worse the hell in terms of how ugly it is now, and nothing is working correctly.
 
  • Like
Reactions: ThatOneSlowking

FyberOptic

New Member
Jul 29, 2019
524
0
0
Yea, This does make a lot of sense to do it this way. I think I should just install a clean base pack and add one by one like you said. However I am unaware of the NEI Dump feature you spoke of. What exactly is that and how do I use it to assist me with this process? Also how can you tell when IDs overlap and need to be changed to prevent further crashing?

In modern NEI, you can go into the Options, Tools, Data Dumps. You can do blocks and items and everything from there. Unfortunately I don't believe there's a way to set it to automatically dump them at startup anymore, which made the process much quicker last I did it. I used a text editor which could compare two text files side-by-side, but you could just open two separate logs in two Notepads or something and compare that way too I suppose.

If block IDs conflict then you're going to know it, because the game will just crash at startup, so that's easier to deal with. No crashes means no conflicts. It's the item IDs which can overlap and be your problem. If you dump a log after installing a mod, install another, and do another dump, then if items overlapped then you'd see an item ID in your dump file suddenly showing a different item at that ID in the latest dump file.

Keep in mind that when dealing with item IDs that they're all all offset by 256. You'll be able to see what I mean if you look at the value in a dump, and look at the value for that item in a config file. It's important to account for that if you have to change an item ID. (EDIT: This is assumign NEI doesn't account for it now? Someone will have to confirm.)
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
In modern NEI, you can go into the Options, Tools, Data Dumps. You can do blocks and items and everything from there. Unfortunately I don't believe there's a way to set it to automatically dump them at startup anymore, which made the process much quicker last I did it. I used a text editor which could compare two text files side-by-side, but you could just open two separate logs in two Notepads or something and compare that way too I suppose.

If block IDs conflict then you're going to know it, because the game will just crash at startup, so that's easier to deal with. No crashes means no conflicts. It's the item IDs which can overlap and be your problem. If you dump a log after installing a mod, install another, and do another dump, then if items overlapped then you'd see an item ID in your dump file suddenly showing a different item at that ID in the latest dump file.

Keep in mind that when dealing with item IDs that they're all all offset by 256. You'll be able to see what I mean if you look at the value in a dump, and look at the value for that item in a config file. It's important to account for that if you have to change an item ID.
Not all itemIDs are offset by 256 in their configs, though. Some are more correct with where you tell them to go. These ones are ideal IMO. Then you have ones that do that "256 offset" stuff. I end up having to resolve more conflicts this way.
 
  • Like
Reactions: FyberOptic

Qazplm601

Lord of the Tumbleweeds
Sep 21, 2013
2,754
3,282
308
Where else?
in the description it says idfix minus writes the changes to the configs. ps somehow i have made my game idfix dependant! when i launch without it i get railcraftwall cannot be cast to error. lol i know how to fix it, i just dont bother.
 
  • Like
Reactions: Jack0928PC

Jack0928PC

New Member
Jul 29, 2019
206
0
1
In modern NEI, you can go into the Options, Tools, Data Dumps. You can do blocks and items and everything from there. Unfortunately I don't believe there's a way to set it to automatically dump them at startup anymore, which made the process much quicker last I did it. I used a text editor which could compare two text files side-by-side, but you could just open two separate logs in two Notepads or something and compare that way too I suppose.

If block IDs conflict then you're going to know it, because the game will just crash at startup, so that's easier to deal with. No crashes means no conflicts. It's the item IDs which can overlap and be your problem. If you dump a log after installing a mod, install another, and do another dump, then if items overlapped then you'd see an item ID in your dump file suddenly showing a different item at that ID in the latest dump file.

Keep in mind that when dealing with item IDs that they're all all offset by 256. You'll be able to see what I mean if you look at the value in a dump, and look at the value for that item in a config file. It's important to account for that if you have to change an item ID. (EDIT: This is assumign NEI doesn't account for it now? Someone will have to confirm.)

Ok, so I just began installing mods to the Base pack (Direwolf20). I clicked dump for all 5 categories, and closed out. I noticed the list is quite substantial is length, and haven't seen any errors as of yet. So I am just supposed to continue to install mods 1 by one then dumping them? Also do I click dump for all 5 categories each time? One last question, To identify ID overlaps will it just have 2 of the same numbers? example:
3700,Block,ExtraTrees,tile.planks,binnie.extratrees.block.BlockETPlanks
3700,Block,ExtraTrees,tile.fence,binnie.extratrees.block.BlockFence
(This did not occur, just changed the ID after pasting to set up my example)

If this is the case ^, is there an easier way to scan through the file checking if there is 2 of a number then just reading the 30 thousand lines present on the txt file?

Thanks for all the help, -Jack
 

FyberOptic

New Member
Jul 29, 2019
524
0
0
Ok, so I just began installing mods to the Base pack (Direwolf20). I clicked dump for all 5 categories, and closed out. I noticed the list is quite substantial is length, and haven't seen any errors as of yet. So I am just supposed to continue to install mods 1 by one then dumping them? Also do I click dump for all 5 categories each time? One last question, To identify ID overlaps will it just have 2 of the same numbers? example:
3700,Block,ExtraTrees,tile.planks,binnie.extratrees.block.BlockETPlanks
3700,Block,ExtraTrees,tile.fence,binnie.extratrees.block.BlockFence
(This did not occur, just changed the ID after pasting to set up my example)

If this is the case ^, is there an easier way to scan through the file checking if there is 2 of a number then just reading the 30 thousand lines present on the txt file?

Thanks for all the help, -Jack

You mostly only need to dump the item IDs, though I guess it wouldn't hurt to dump the block IDs while you're at it, that way if you add a mod which crashes at statup from an ID conflict, you'll have the list of block IDs to find empty ones to use for it instead.

You won't see a double item ID listed in the dump. It only dumps what is currently in that item ID slot. This is why you need a dump before and after you added a mod, to compare the files to see what changed, to make sure it didn't override an existing item ID from another mod (though be careful, this could happen intentionally in a rare case, just see what kind of items are involved). This is why I used a text editor which could do side-by-side comparisons of files. I used UltraEdit, but I think the free Notepad++ program can also compare with a thing in the plugins menu. That makes the job way easier to spot differences.

EDIT: I should say that there are so many item IDs, far more than block IDs, that you may never come across a single conflict, especially since modders try to avoid it with popular mods. But I do this to make absolutely sure.
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
You mostly only need to dump the item IDs, though I guess it wouldn't hurt to dump the block IDs while you're at it, that way if you add a mod which crashes at statup from an ID conflict, you'll have the list of block IDs to find empty ones to use for it instead.

You won't see a double item ID listed in the dump. It only dumps what is currently in that item ID slot. This is why you need a dump before and after you added a mod, to compare the files to see what changed, to make sure it didn't override an existing item ID from another mod (though be careful, this could happen intentionally in a rare case, just see what kind of items are involved). This is why I used a text editor which could do side-by-side comparisons of files. I used UltraEdit, but I think the free Notepad++ program can also compare with a thing in the plugins menu. That makes the job way easier to spot differences.

EDIT: I should say that there are so many item IDs, far more than block IDs, that you may never come across a single conflict, especially since modders try to avoid it with popular mods. But I do this to make absolutely sure.
ItemIDs include blockIDs. And it seems easy to say this; until you realize that the ranges that not everyone understand that Meta-Data is next to godliness, and that NBT-Tags are purified Jesus Christ riding a jetski in space while eating a chimichonga. They're just that good™.
 

Jack0928PC

New Member
Jul 29, 2019
206
0
1
You mostly only need to dump the item IDs, though I guess it wouldn't hurt to dump the block IDs while you're at it, that way if you add a mod which crashes at statup from an ID conflict, you'll have the list of block IDs to find empty ones to use for it instead.

You won't see a double item ID listed in the dump. It only dumps what is currently in that item ID slot. This is why you need a dump before and after you added a mod, to compare the files to see what changed, to make sure it didn't override an existing item ID from another mod (though be careful, this could happen intentionally in a rare case, just see what kind of items are involved). This is why I used a text editor which could do side-by-side comparisons of files. I used UltraEdit, but I think the free Notepad++ program can also compare with a thing in the plugins menu. That makes the job way easier to spot differences.

EDIT: I should say that there are so many item IDs, far more than block IDs, that you may never come across a single conflict, especially since modders try to avoid it with popular mods. But I do this to make absolutely sure.


Looks like I might have ran into a problem, I was cross checking the Config from Mekanism with the item.csv file and mekanism's battery listed as "2441" did not actually fill the "2441" space on the item.csv file. Also do I need to click dump after ever new mod (wasn't very clear to me).

Screenshot
172rsm.png
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
Looks like I might have ran into a problem, I was cross checking the Config from Mekanism with the item.csv file and mekanism's battery listed as "2441" did not actually fill the "2441" space on the item.csv file. Also do I need to click dump after ever new mod (wasn't very clear to me).

Screenshot
172rsm.png
You don't actually have to do it after EVERY mod, but it's easier to avoid stress from conflicts this way, but easier to be stressed out over the time this takes. Honestly I just take a handful of mods and slam 'em into the game, wait for the game to tell me there is an ID Conflict, open the IDConflicts.txt file and fix what it says it's wrong, check if they have itemIDs that are close to each other, and then run screaming into the game like the time I did when I was on fire but wanted to play some dodgeball.*
*may or may not have actually happened
 
  • Like
Reactions: FyberOptic

Jack0928PC

New Member
Jul 29, 2019
206
0
1
You don't actually have to do it after EVERY mod, but it's easier to avoid stress from conflicts this way, but easier to be stressed out over the time this takes. Honestly I just take a handful of mods and slam 'em into the game, wait for the game to tell me there is an ID Conflict, open the IDConflicts.txt file and fix what it says it's wrong, check if they have itemIDs that are close to each other, and then run screaming into the game like the time I did when I was on fire but wanted to play some dodgeball.*
*may or may not have actually happened
If only someone offered a service to install mods and configure them making sure no IDs were wrong. Now I would pay a pretty penny for that.
 
  • Like
Reactions: FyberOptic

FyberOptic

New Member
Jul 29, 2019
524
0
0
You don't actually have to do it after EVERY mod, but it's easier to avoid stress from conflicts this way, but easier to be stressed out over the time this takes. Honestly I just take a handful of mods and slam 'em into the game, wait for the game to tell me there is an ID Conflict, open the IDConflicts.txt file and fix what it says it's wrong, check if they have itemIDs that are close to each other, and then run screaming into the game like the time I did when I was on fire but wanted to play some dodgeball.*
*may or may not have actually happened

I may have been telling him to do way more work than necessary. I'm not familiar with IDconflicts.txt since it was apparently added somewhat more recently. I didn't even realize what you meant initially regarding that until you named the file specifically just now. Shows how much I keep up with this stuff, I guess!

So yeah you're right, if this is the case, adding mods in a handful at a time might work out just fine.


Looks like I might have ran into a problem, I was cross checking the Config from Mekanism with the item.csv file and mekanism's battery listed as "2441" did not actually fill the "2441" space on the item.csv file. Also do I need to click dump after ever new mod (wasn't very clear to me).

That battery being missing may not mean anything. He could have merged it with some other item or just removed it altogether, I don't know. The battery might also be able to be manually disabled in the config to avoid adding in unncessary items, or could disable itself if it detects another mod which adds an equivalent object into the game. I don't know enough about Mekanism to know.
 

YX33A

New Member
Jul 29, 2019
3,764
1
0
If only someone offered a service to install mods and configure them making sure no IDs were wrong. Now I would pay a pretty penny for that.
It's a easy job, honestly, if you're doing this for a mod pack rather then, say, a single person. Less updates = less things to fix and refix. But for a single person? I don't know how much you're paying, but I'm not super sure I'm willing to be a debug slave for any price. I am open to offers, though.[DOUBLEPOST=1395273065][/DOUBLEPOST]
I may have been telling him to do way more work than necessary. I'm not familiar with IDconflicts.txt since it was apparently added somewhat more recently. I didn't even realize what you meant initially regarding that until you named the file specifically just now. Shows how much I keep up with this stuff, I guess!

So yeah you're right, if this is the case, adding mods in a handful at a time might work out just fine.




That battery being missing may not mean anything. He could have merged it with some other item or just removed it altogether, I don't know. The battery might also be able to be manually disabled in the config to avoid adding in unncessary items, or could disable itself if it detects another mod which adds an equivalent object into the game. I don't know enough about Mekanism to know.
A easy way to check: Delete that line and see if it re-adds itself when you launch the game. A correctly built config can fix itself even if deleted in whole or only partially. And a properly coded config doesn't re-add removed config lines that do jack all.
 
  • Like
Reactions: Jack0928PC