Homebrew [Announcement] TitleDB.com - 3DS Homebrew Title Database

Brawl345

Well-Known Member
Member
Joined
Jan 14, 2012
Messages
776
Trophies
2
Website
wiidatabase.de
XP
2,855
Country
Germany
Thanks for the API! I have a few questions related to it:
- What exactly ist "mtime"?
- Why is updated_time sometimes "null"? I noticed this with FBI, CTRXplorer shows a date.
- Can you do the "where" field case-insensitive? E.g., when I POST this:
Code:
{ "action": "list", "fields": ["titleid"], "where": { "name": "ctrxplorer"} }
I get no result ("[]"). It only works when I use "CTRXplorer".
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Good idea. I've modified buildtools to include the description in the long title as mentioned.

One suggestion I have is to also parse the version from the CIA, especially for use by homebrew management applications. I just added proper CIA version support to buildtools as well, and it can be parsed into a nice major.minor.micro format for viewing as specified here: http://3dbrew.org/wiki/Titles#Versions

I've actually been trying to find this already... I'm assuming the TMD is the only location that has a real version in homebrew (based on looking at the makerom code) but so far even knowing the offsets of where it is in there, I haven't been able to find anything that will reliably decode into version numbers. Hopefully I'll have more time to poke at this later in the week. If you can provide any input on the matter, I'd greatly appreciate the assistance.

--------------------- MERGED ---------------------------

Thanks for the API! I have a few questions related to it:
- What exactly ist "mtime"?
- Why is updated_time sometimes "null"? I noticed this with FBI, CTRXplorer shows a date.
- Can you do the "where" field case-insensitive? E.g., when I POST this:
Code:
{ "action": "list", "fields": ["titleid"], "where": { "name": "ctrxplorer"} }
I get no result ("[]"). It only works when I use "CTRXplorer".

Yeah, names are case sensitive... I suppose I could fix that in the backend if it's really a big deal, i'll see what I can do in the next big update.

update_time is null when there's not been an update since the initial creation, its the time when the backend API last saw a change.

mtime is the modification time of the .cia or link, in unix style epoch time (seconds since 1970) as best as can be calculated, since not all web servers are forthcoming with mod times.
 
Last edited by ksanislo,
  • Like
Reactions: Brawl345
D

Deleted User

Guest
I've actually been trying to find this already... I'm assuming the TMD is the only location that has a real version in homebrew (based on looking at the makerom code) but so far even knowing the offsets of where it is in there, I haven't been able to find anything that will reliably decode into version numbers. Hopefully I'll have more time to poke at this later in the week. If you can provide any input on the matter, I'd greatly appreciate the assistance.
If you get the "Version" value from the TMD header (http://3dbrew.org/wiki/Title_metadata#Header), you can then decode it as mentioned in the previous link; bottom 4 bits are the micro version, the next 6 are minor, and the next 6 are major. Most current homebrew doesn't seem to use this, but buildtools now supports it, so mine, and hopefully others, will begin to use it soon. Building the latest source of FBI would provide a CIA that could be tested with any decoding logic.
 
Last edited by ,

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
If you get the "Version" value from the TMD header (http://3dbrew.org/wiki/Title_metadata#Header), you can then decode it as mentioned in the previous link; bottom 4 bits are the micro version, the next 6 are minor, and the next 6 are major. Most current homebrew doesn't seem to use this, but buildtools now supports it, so mine, and hopefully others, will begin to use it soon. Building the latest source of FBI would provide a CIA that could be tested with any decoding logic.

Awesome... I suspected that most of them just didn't have a version, but I'd seen a few that looked like they showed a version when checked with the 3DS's Service API, but the results from trying to decode the TMD never matched, so I put the whole idea aside to focus on other things. I'll get back to trying it, using FBI as an example for something that is known to have good data in it now.
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,787
Country
Ireland
Hi, I have a suggestion. Could it be possible for if you click on the name of the homebrew it goes to the github main page/gbatemp thread so we can know what each homebrew does? Would really make the site more user friendly :)
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Hi, I have a suggestion. Could it be possible for if you click on the name of the homebrew it goes to the github main page/gbatemp thread so we can know what each homebrew does? Would really make the site more user friendly :)

I'm still working on a solution for this... The problem is that all data is extracted from the .cia itself, and there's no real place that a CIA does, or even can, store that information. I could make a hacky solution that will link back to github projects, but that still leaves everything else that isn't on github with no way to maintain extra data about it. After I get an authentication system bolted into here, I'd like for people to be able to take ownership of their own projects and fill in that data if they'd like on their own.
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,787
Country
Ireland
I'm still working on a solution for this... The problem is that all data is extracted from the .cia itself, and there's no real place that a CIA does, or even can, store that information. I could make a hacky solution that will link back to github projects, but that still leaves everything else that isn't on github with no way to maintain extra data about it. After I get an authentication system bolted into here, I'd like for people to be able to take ownership of their own projects and fill in that data if they'd like on their own.
Never realised the data was extracted from the CIA... That's kinda problematic
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Never realised the data was extracted from the CIA... That's kinda problematic
Unfortunately so, but we've had a few website/homebrew store type projects that always seem to fail because their backend data doesn't stay up to date... I'm trying to avoid that whole mess by making sure that this one doesn't require somebody to baby-sit it and manually update all the projects that are listed.
 

Slattz

Easygoing Fairy
Member
Joined
Nov 21, 2015
Messages
1,259
Trophies
1
XP
1,787
Country
Ireland
Unfortunately so, but we've had a few website/homebrew store type projects that always seem to fail because their backend data doesn't stay up to date... I'm trying to avoid that whole mess by making sure that this one doesn't require somebody to baby-sit it and manually update all the projects that are listed.
That's a really good idea, but how do you support the website with no advertising? Couldn't this die aswell if there isn't enough money to support the costs of running the server?
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
That's a really good idea, but how do you support the website with no advertising? Couldn't this die aswell if there isn't enough money to support the costs of running the server?

Nah, I'm not worried about the costs for keeping things up. I already host enough stuff on the internet that the cost of this one additional service is basically negligible.

Edit: Just because I was curious, I went and checked my actual bandwidth usage for this... Including the launch rush, and repeatedly blowing away the proxy cache while working on things, we're on par to have an actual running cost of somewhere under $0.25 for the site this month. ;)
 
Last edited by ksanislo,
  • Like
Reactions: Slattz and Brawl345

Owarai

Member
Newcomer
Joined
Feb 1, 2016
Messages
23
Trophies
0
Age
32
XP
131
Country
United States
I don't know, I personally don't mind the ads as long as they're not pop-ups that comes out on a link in the site itself. I really want to suppress any chance of this site going down, so if it needs to be done, I think it's ok. Don't know about other people though.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Just a heads up for anyone who wants to write a client that uses this API in Lua, I've cleaned up the httpc networking code in there so it has a functional POST command and can follow URL redirection for downloading apps from the site when they're not proxied as well. Good luck and have fun!
 

m2pt5

Well-Known Member
Member
Joined
Sep 30, 2005
Messages
337
Trophies
0
Age
47
Location
GMT-5
XP
385
Country
United States
Some sort of a report system might not be a bad idea.

In lieu of that - Both Undertale titles on the DB are RickRolls. Don't download them.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Some sort of a report system might not be a bad idea.

In lieu of that - Both Undertale titles on the DB are RickRolls. Don't download them.


That might be the most fantastic thing ever...

But yeah, I need to add a login system first so I can tie things like ratings to a user so they won't just get spammed. I'm working on this as well as download counts and being able to tie a 3DS to a user login on the API, so I can keep better control of some of the actions that need to be restricted. Unfortunately, I'm still needing to split my time between building the back end for this site, and fixing up http support on the 3DS in general, so people can actually make apps that can utilize it.
 
Last edited by ksanislo,

CheatFreak47

Catgirl Expert
Member
Joined
Oct 11, 2011
Messages
1,574
Trophies
2
Age
28
Location
Michigan, USA
XP
2,773
Country
United States
Just wanted to drop by and say that this is an awesome project and I'd love to see more progress made on it.
A centralized location for links to Homebrew CIAs is a really good idea, especially if all homebrew developers can just agree to maintain their links so they're up to date.
 

erman1337

Well-Known Member
Member
Joined
Sep 27, 2015
Messages
1,211
Trophies
0
Location
Brussels
XP
983
Country
Belgium
- Horizontal overflow no matter the viewport width
- Table doesn't have a margin unlike everything else on the page
- The page navigation is centered according to the viewport, not the table itself
- Bootstrap is kinda bland (just my opinion)
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
Is there any moderation queue? It's possible to brick the 3ds from userland CIA, so unmoderated submissions aren't good. Luckily they have only been rick rolls.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto