Jump to content

Gamebrowser file detection


rs6516

Recommended Posts

rs6516

So I'm having a bit of a problem here. some systems and games are not being detected by gamebrowser. I have NES and SNES setup and working correctly.

 

the folder structure for all of my games is like this \\server\games\system name\game name\game name.zip

 

I have all of my games in zip files to save space and my front end takes care of the extraction prior to launch. this adds a bit of load time when launching a title, but I'm trying to save space. Gamebrowser does great on detecting zip files on certain systems like NES and SNES, but other systems it ignores zip files completely. I end up with an empty folder when browsing to them within emby. The only way I have been able to work around this is to select NES as the console type for every system I have... at least that way it'll detect the contents of the folder. I can't seem to make sense of this. Why are zip files ignored for certain consoles??? Is there a list of acceptable formats for each individual console? Any help would be greatly appreciated. 

Link to comment
Share on other sites

rs6516

I think I found it. honestly having this list is really helpful. I only count 46 systems here... not sure which 4 I'm missing, it looks like all of them though. I had a thought as well. why not have an additional option in configpage.html where a user could set an extension for each particular system. that way a user could use whatever extension they want .7z .rar etc. I'm also very curious to see how you have yours set up. What other custom features does yours have? and will you be releasing yours once it's complete?

 

                case "3DO":
                    return new[] { ".iso", ".cue" };
 
                case "Amiga":
                    return new[] { ".iso", ".adf" };
 
                case "Arcade":
                    return new[] { ".zip" };
 
                case "Atari 2600":
                    return new[] { ".bin", ".a26" };
 
                case "Atari 5200":
                    return new[] { ".bin", ".a52" };
 
                case "Atari 7800":
                    return new[] { ".a78" };
 
                case "Atari XE":
                    return new[] { ".rom" };
 
                case "Atari Jaguar":
                    return new[] { ".j64", ".zip" };
 
                case "Atari Jaguar CD": // still need to verify
                    return new[] { ".iso" };
 
                case "Colecovision":
                    return new[] { ".col", ".rom" };
 
                case "Commodore 64":
                    return new[] { ".d64", ".g64", ".prg", ".tap", ".t64" };
 
                case "Commodore Vic-20":
                    return new[] { ".prg" };
 
                case "Intellivision":
                    return new[] { ".int", ".rom" };
 
                case "Xbox":
                    return new[] { ".disc", ".iso" };
 
                case "Xbox 360":
                    return new[] { ".disc" };
 
                case "Xbox One":
                    return new[] { ".disc" };
 
                case "Neo Geo":
                    return new[] { ".zip", ".iso" };
 
                case "Nintendo 64":
                    return new[] { ".z64", ".v64", ".usa", ".jap", ".pal", ".rom", ".n64", ".zip" };
 
                case "Nintendo DS":
                    return new[] { ".nds", ".zip" };
 
                case "Nintendo":
                    return new[] { ".nes", ".zip" };
 
                case "Game Boy":
                    return new[] { ".gb", ".zip" };
 
                case "Game Boy Advance":
                    return new[] { ".gba", ".zip" };
 
                case "Game Boy Color":
                    return new[] { ".gbc", ".zip" };
 
                case "Gamecube":
                    return new[] { ".iso", ".bin", ".img", ".gcm", ".gcz" };
 
                case "Super Nintendo":
                    return new[] { ".smc", ".zip", ".fam", ".rom", ".sfc", ".fig" };
 
                case "Virtual Boy":
                    return new[] { ".vb" };
 
                case "Nintendo Wii":
                    return new[] { ".iso", ".dol", ".ciso", ".wbfs", ".wad", ".gcz" };
 
                case "Nintendo Wii U":
                    return new[] { ".disc", ".wud" };
 
                case "DOS":
                    return new[] { ".gbdos", ".disc" };
 
                case "Windows":
                    return new[] { ".gbwin", ".disc" };
 
                case "Sega 32X":
                    return new[] { ".iso", ".bin", ".img", ".zip", ".32x" };
 
                case "Sega CD":
                    return new[] { ".iso", ".bin", ".img" };
 
                case "Dreamcast":
                    return new[] { ".chd", ".gdi", ".cdi" };
 
                case "Game Gear":
                    return new[] { ".gg", ".zip" };
 
                case "Sega Genesis":
                    return new[] { ".smd", ".bin", ".gen", ".zip", ".md" };
 
                case "Sega Master System":
                    return new[] { ".sms", ".sg", ".sc", ".zip" };
 
                case "Sega Mega Drive":
                    return new[] { ".smd", ".zip", ".md" };
 
                case "Sega Saturn":
                    return new[] { ".iso", ".bin", ".img" };
 
                case "Sony Playstation":
                    return new[] { ".iso", ".cue", ".img", ".ps1", ".pbp" };
 
                case "PS2":
                    return new[] { ".iso", ".bin" };
 
                case "PS3":
                    return new[] { ".disc" };
 
                case "PS4":
                    return new[] { ".disc" };
 
                case "PSP":
                    return new[] { ".iso", ".cso" };
 
                case "TurboGrafx 16":
                    return new[] { ".pce", ".zip" };
 
                case "TurboGrafx CD":
                    return new[] { ".bin", ".iso" };
 
                case "ZX Spectrum":
                    return new[] { ".z80", ".tap", ".tzx" };
 
                default:
                    return new string[] { };
Link to comment
Share on other sites

Frank Drebin

Hi
Thats correct, in this list you can add/remove/edit as many emulators/extensions you want. You can do that yourself if you download the sourceproject of gamebrowser. Open it in Visual Studio and when you are done, save it and rebuild. After that you get a gamebrowser.dll plugin and you put that in your server client (C:\Users\Io\AppData\Roaming\Emby-Server\plugins)

The default plugin of gamebrowser has not all games listed on thegamesdb but im working on it!

As you said, it would be alot easier if you could just fill in the extensions you want. Im working on that but i have zero knowledge so one step at a time :s

 

59808782eb7d2_extensions.jpg

Edited by Frank Drebin
Link to comment
Share on other sites

Frank Drebin

This is my setup for now:  

 

             case "Panasonic 3DO":
                    return new[] { ".cue" };

                case "Commodore Amiga CD32":
                    return new[] { ".ccd" };

                case "Arcade":
                    return new[] { ".lnk", ".exe" };

                case "Atari 2600":
                    return new[] { ".bin" };

                case "Atari 5200":
                    return new[] { ".bin", ".a52" };

                case "Atari 7800":
                    return new[] { ".a78", ".bin" };

                case "Atari Lynx":
                    return new[] { ".lnx" };

                case "Atari Jaguar":
                    return new[] { ".j64", ".jag", ".ccd" };

                case "Atari Jaguar CD":
                    return new[] { ".ccd" };

                case "Bandai Wonderswan":
                    return new[] { ".ws" };

                case "Bandai Wonderswan Color":
                    return new[] { ".wsc" };

                case "SNK Neo Geo Pocket":
                    return new[] { ".ngp" };

                case "SNK Neo Geo Pocket Color":
                    return new[] { ".ngc" };

                case "Microsoft Xbox":
                    return new[] { ".iso", ".rar", ".zip" };

                case "Microsoft Xbox 360":
                    return new[] { ".iso", ".rar", "zip", ".tar" };

                case "Microsoft Xbox One":
                    return new[] { ".zip", ".rar", ".tar" };

                case "Nintendo 3DS":
                    return new[] { ".3ds" };

                case "Nintendo Switch":
                    return new[] { ".iso", ".rar", ".tar" };

                case "SNK Neo Geo CD":
                    return new[] { ".ccd" };

                case "Nintendo 64":
                    return new[] { ".z64", ".v64", ".n64", ".rom" };

                case "Nintendo DS":
                    return new[] { ".nds", ".dsi" };

                case "Nintendo NES":
                    return new[] { ".nes", "unf", ".fds", ".bin" };

                case "Nintendo Gameboy":
                    return new[] { ".gb" };

                case "Nintendo Gameboy Advance":
                    return new[] { ".gba" };

                case "Nintendo Gameboy Color":
                    return new[] { ".gbc" };

                case "Nintendo Gamecube":
                    return new[] { ".iso", ".gcm" };

                case "Nintendo SNES":
                    return new[] { ".smc", ".sfc" };

                case "Nintendo Virtual Boy":
                    return new[] { ".vb" };

                case "Nintendo Wii":
                    return new[] { ".wbfs" };

                case "Nintendo Wii U":
                    return new[] { ".lnk", ".wux", ".rpx" };

                case "Games for Dos":
                    return new[] { ".lnk", ".exe" };

                case "Games for Windows":
                    return new[] { ".lnk", "exe" };

                case "Sega 32X":
                    return new[] { ".32x", ".bin" };

                case "Sega CD":
                    return new[] { ".iso", ".ccd", ".mds" };

                case "Sega Dreamcast":
                    return new[] { ".img", ".gdi", ".cdi", ".nrg", ".iso", ".mds" };

                case "Sega Game Gear":
                    return new[] { ".gg" };

                case "Sega Genesis":
                    return new[] { ".smd", ".bin", ".gen", ".md" };

                case "Sega Master System":
                    return new[] { ".sms" };

                case "Sega Mega Drive":
                    return new[] { ".smd", ".bin", ".gen", ".md" };

                case "Sega Saturn":
                    return new[] { ".ccd", ".bin", ".mds", ".iso" };

                case "Sony Playstation":
                    return new[] { ".iso", ".ccd", ".bin" };

                case "Sony Playstation 2":
                    return new[] { ".iso", ".bin" };

                case "Sony Playstation 4":
                    return new[] { ".rar", ".tar", ".zip", ".iso" };

                case "Sony Playstation 3":
                    return new[] { ".lnk", ".bin" };

                case "NEC PC-FX":
                    return new[] { ".ccd" };

                case "Sony Playstation Portable":
                    return new[] { ".iso", ".cso" };

                case "Sony Playstation Vita":
                    return new[] { ".iso", ".tar", ".rar", ".zip" };

                case "NEC TurboGrafx-16":
                    return new[] { ".pce" };

                case "SNK Neo Geo":
                    return new[] { ".ccd" };

                case "NEC TurboGrafx CD":
                    return new[] { ".ccd" };

                case "Philips CD-I":
                    return new[] { ".iso", ".bin", ".cue" };

                default:
                    return new string[] { };

Edited by Frank Drebin
Link to comment
Share on other sites

  • 2 months later...

I know you're still working on adding a user input to game file extensions, but can you please add .zip and .7z to every console here? I've done it myself manually several times, but every time there is an update I get screwed over. Once emby and gamebrowser update I lose all metadata and once I add the extensions back to the dll file I then have to re identify over half the game library... I'm sure you can see how annoying this can be. The only other option I have would be to turn off automatic updating, and I would rather not do that.

  • Thanks 1
Link to comment
Share on other sites

  • 6 years later...
DarkStar1977

Hi, I know this is an old thread but I don't want to open a new one, as this is the correct one.

I was trying to re-compile the DLL for Gamebrowser to add .zip to all the existing systems and even the compilation worked well, seems the DLL is not functional.

I go to emb/plugins, renamed original DLL to GameBrowser.dl_ and uploaded the compiled one with my modifications.

The new DLL made after reboot that emby server does not recognize the plugin as installed.

I've restored the originall DLL and GameBrowser Plugin was present again.

Thoughts ?

In any case, will be more easy that .zip and .iso will be available for all systems from the developer but seems this is not gonna happen ....

Link to comment
Share on other sites

9 minutes ago, DarkStar1977 said:

Hi, I know this is an old thread but I don't want to open a new one, as this is the correct one.

I was trying to re-compile the DLL for Gamebrowser to add .zip to all the existing systems and even the compilation worked well, seems the DLL is not functional.

I go to emb/plugins, renamed original DLL to GameBrowser.dl_ and uploaded the compiled one with my modifications.

The new DLL made after reboot that emby server does not recognize the plugin as installed.

I've restored the originall DLL and GameBrowser Plugin was present again.

Thoughts ?

In any case, will be more easy that .zip and .iso will be available for all systems from the developer but seems this is not gonna happen ....

Hi, the github repo for GameBrowser has moved ahead and is targeting the 4.8 beta server, so if you're going to make changes, then you need to be on that.

Link to comment
Share on other sites

DarkStar1977

Thanks @Lukeat least I know why it's not working :)

Any chances that the .zip and .iso can be available for all systems on the next release ?

If my modifications are right, just took me 5 minutes to add this modifications ;)

Thanks

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...