pixeltris / YgoMaster

Offline Yu-Gi-Oh! Master Duel
MIT License
875 stars 125 forks source link

AI ELO Card Dump issue #21

Closed Roctose closed 2 years ago

Roctose commented 2 years ago

When I perform this step to run CPU Contests...

"In the client console run carddata which should create /Data/ClientDataDump/CardData/, copy the CardData folder to /Data/CardData/."

It spits out ClientDataDump/Card/Data instead of the expected ClientDataDump/CardData

If I'm meant to put "Data/Card/Data" instead of "Data/CardData" it is unclear based on these instructions. I did attempt to run it in command line with both configurations, either way, but the command line just states the decks hit an error attempting to duel one-another and then spits out a results folder with all decks at 1200 elo and all duels resulting in a draw. I have a feeling that has something to do with this Card/Data issue. Dunno if it's just a problem on my end, a problem with the instructions (or my own lack of comprehension) or something entirely different, so I thought I'd make a ticket.

pixeltris commented 2 years ago

Opps yea the instructions of the paths were slightly incorrect. As you observed it creates:

/Build/Data/ClientDataDump/Card/Data/

And you need to move that folder and rename it to:

/Build/Data/CardData/

And this is what the resulting paths should look like:

Build/Data/CardData/CARD_Genre.bytes
Build/Data/CardData/CARD_IntID.bytes
Build/Data/CardData/CARD_Named.bytes
Build/Data/CardData/CARD_Prop.bytes
Build/Data/CardData/CARD_RubyIndx.bytes
Build/Data/CardData/CARD_RubyName.bytes
Build/Data/CardData/en-US
Build/Data/CardData/MD
Build/Data/CardData/en-US/CARD_Desc.bytes
Build/Data/CardData/en-US/CARD_Indx.bytes
Build/Data/CardData/en-US/CARD_Name.bytes
Build/Data/CardData/en-US/DLG_Indx.bytes
Build/Data/CardData/en-US/DLG_Text.bytes
Build/Data/CardData/en-US/WORD_Indx.bytes
Build/Data/CardData/en-US/WORD_Text.bytes
Build/Data/CardData/MD/CARD_Link.bytes
Build/Data/CardData/MD/CARD_Same.bytes

I have attached an example of a Build folder which just contains the CardData and CpuContest folders in their correct structure. Build.zip

Make sure to delete Results.json and the DeckStats / DecksByRatings folders before trying again.

Roctose commented 2 years ago

Thanks!!

I attempted that, using the exact files from your build, and ended up getting the exact same errors.

"Error occurred when running duel sim deck1:247970.ydk deck2:247071.ydk"

Followed by the rest of the duels.

I then tried with the client open, the server open, both open and with the command menu in admin permissions just to be thorough. I also made sure to delete everything but the settings and decks between each attempt. Thoroughly stumped on this one, but it might just be something on my PC preventing me from running it? Thanks for all the help!

pixeltris commented 2 years ago

It most likely means the folder structure is still incorrect unfortunately. The error occurs when there are files missing which are required by the duel engine (or the duel engine isn't found where it should be ../masterduel_Data/Plugins/x86_64/duel.dll).

Roctose commented 2 years ago

Hrm. Alrightie! I'll try to upload some images of my file structure and see if you'd be able to spot anything amiss! Though, if you're busy please feel free to disregard! Your help thus far has been more than necessary, and I'm grateful for this mod to begin with! Thanks for the hard work!

Main Folder image

Data image

And the Plugins folder image

The CPUcontest folder is the very same one that you sent in your build.zip, down to the settings and decks. As is the CardData folder's contents. Upon running with this exact setup I get...

image

pixeltris commented 2 years ago

In your Yu-Gi-Oh! Master Duel folder make a folder called Build. Move Data, YgoMaster.exe, YgoMasterClient.exe, YgoMasterLoader.dll inside of the Build folder.

This is mentioned in the readme, but maybe it isn't clear enough https://github.com/pixeltris/YgoMaster#usage (most things do work when outside of the Build folder, but this is one situation where it doesn't work, as you've observed).

Roctose commented 2 years ago

Excellent! You're the best! Sorry for the confusion.