ContentDB - now with package translation support
-
rob123
- Member
- Posts: 110
- Joined: Wed Mar 03, 2021 07:15
- GitHub: qwerty123a2
- In-game: joe and joergeg
Re: ContentDB - database for the mod/game/txp in-menu installer
The featured list on the main page has not been updated for months. There is still games from the 2022 game jam.
If my post says something, it is a opinion and not fact unless i say something
- ROllerozxa
- Member
- Posts: 228
- Joined: Sun Apr 25, 2021 12:25
- GitHub: ROllerozxa
- IRC: ROllerozxa
- In-game: ROllerozxa
- Location: Sweden
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
Well, can you suggest some new packages to feature then?
- debiankaios
- Member
- Posts: 919
- Joined: Thu Dec 03, 2020 12:48
- IRC: debiankaios
- In-game: debiankaios Nowe
- Location: germany
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
What is about connecting your ContentDB-account with the minetest-client?
📖 Deutsches Modding Book 👽 My Mod ⛏ Proxima Survival(WIP)
2147483 is the new world border.
🔌 TechAge Extension (WIP)
⚔️ Minigames A.E.S(WIP)
🌐 My Website
2147483 is the new world border.
🔌 TechAge Extension (WIP)
⚔️ Minigames A.E.S(WIP)
🌐 My Website
- Neuromancer
- Member
- Posts: 1014
- Joined: Tue Jun 12, 2012 22:28
- GitHub: Neuromancer56
Re: ContentDB - database for the mod/game/txp in-menu installer
Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings. With this functionality it would give non-coders the ability to fine tune a collection of mods so that they make a perfect game, and also resolve minor incompatibilities between mods in collections. There would be an explosion of creativity at this point, because essentially all players (even non-coders) could create compelling games for Minetest. It would also start incentivizing modders to make their mods more configurable, and thus better able to play nice with other mods. It would be a game-changer for Minetest.
- Blockhead
- Moderator
- Posts: 2989
- Joined: Wed Jul 17, 2019 10:14
- GitHub: Montandalar
- IRC: Blockhead256
- In-game: Blockhead Blockhead256
- Location: Land Down Under
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
Settings that override minetest.conf settings when the collection is enabled instead of the individual mods? Or additional settings that mods inside the collection code do conditionals on inside the code?Neuromancer wrote: ↑Sat Aug 19, 2023 12:40Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings.
With the first, there would need to be a list of allowed settings, otherwise you could turn mod security off/add certain mods to mod security and distribute Minetest viruses. With the second, that's not really a non-coder approach.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂
- Neuromancer
- Member
- Posts: 1014
- Joined: Tue Jun 12, 2012 22:28
- GitHub: Neuromancer56
Re: ContentDB - database for the mod/game/txp in-menu installer
I think I'm talking about the first. Meaning configurable at the collection level, and overriding the settings when you go to Settings Tab> All Settings> Content: Mods. You'd want to be able to allow users to tweak this as well. So probably on the Settings tab Content: Mods, have a dropdown for which collection settings you are overriding. I think it would probably be far easier to maintain a blacklist of any sensitive settings that shouldn't be overridden rather than maintaining an ever growing list of which settings are whitelisted. But a poor man's way of doing this if it's too much of a risk would be having the collection creator just put what the settings should be in the collection description/comments, and then allowing the users to enter those settings for the collection under the settings tab in Minetest.Blockhead wrote: ↑Sun Aug 20, 2023 02:53Settings that override minetest.conf settings when the collection is enabled instead of the individual mods? Or additional settings that mods inside the collection code do conditionals on inside the code?Neuromancer wrote: ↑Sat Aug 19, 2023 12:40Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings.
With the first, there would need to be a list of allowed settings, otherwise you could turn mod security off/add certain mods to mod security and distribute Minetest viruses. With the second, that's not really a non-coder approach.
- rubenwardy
- Moderator
- Posts: 7104
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: London, United Kingdom
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
Collections
Users can now make "collections". These are lists of packages that you can reorder and add descriptions to. Each collection has a page where you can add markdown text. Example: https://content.minetest.net/collection ... nal_games/Each user also has a "Favorites" collection, and there's a button on each package page to quickly favorite a package. Favorites collections are public by default but can be changed by editing the collection.

Collections can be used for curation/recommending packages, guides, sharing lists of mods you use, keeping track of packages you want to try, and more. Eventually, you'll be able to install packages from collections in the client.
Collections are also used internally by ContentDB staff to feature packages on the homepage and in the client. This replaces the "protected tags" feature which was quite hacky.
10,000,000 downloads

Other ContentDB updates
- Upgraded to Bootstrap 5
- Review helpfulness votes don't reload the page anymore (if you have JS enabled)
- Can submit comments using ctrl+enter
- Improved form UX by adding "Required" labels and improving hints
- Added ability to select date ranges on statistics pages
- Added an API for getting package descriptions as Minetest hypertext. This will allow showing the full descriptions in the client in the future
- Added links to sort packages by downloads/date/etc in user profiles
- Improvements and fixes game support
- Lots of refactoring and modernisation
- Neuromancer
- Member
- Posts: 1014
- Joined: Tue Jun 12, 2012 22:28
- GitHub: Neuromancer56
Re: ContentDB - database for the mod/game/txp in-menu installer
ContentDb just sent me the following message for all of my packages on contentDb: Failed to check git repository
Error: 'fatal: unable to access 'https://github.com/Neuromancer56/phonics/': getaddrinfo() thread failed to start'.
Error: 'fatal: unable to access 'https://github.com/Neuromancer56/phonics/': getaddrinfo() thread failed to start'.
- rubenwardy
- Moderator
- Posts: 7104
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: London, United Kingdom
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
Yeah, that's a very strange issue. Downgrading from Python 3.10.13 to 3.10.11 appears to fix it
- mtvisitor
- Member
- Posts: 157
- Joined: Sun Jul 10, 2022 08:54
- IRC: mtvisitor
- In-game: mtvisitor
- Location: East China
Re: ContentDB - database for the mod/game/txp in-menu installer
Is there some voting sub-system for ContentDB which the mod users and developers could vote for their favorite mod(s) online ?
thank you very much for your help and support. 🤝
thank you very much for your help and support. 🤝
Crane Zhou | My mt. world, my mt. dream | No money, no happy.
- rubenwardy
- Moderator
- Posts: 7104
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: London, United Kingdom
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
ContentDB has a review system, there's a row on the homepage for highest reviewed packages. There's also a favourites/starring system, but that's more for saving packages
- mtvisitor
- Member
- Posts: 157
- Joined: Sun Jul 10, 2022 08:54
- IRC: mtvisitor
- In-game: mtvisitor
- Location: East China
Re: ContentDB - database for the mod/game/txp in-menu installer
okay, thank you very much for your answer(s). 🤝🍺rubenwardy wrote: ↑Sat Sep 02, 2023 09:39ContentDB has a review system, there's a row on the homepage for highest reviewed packages. There's also a favourites/starring system, but that's more for saving packages
Crane Zhou | My mt. world, my mt. dream | No money, no happy.
Re: ContentDB - database for the mod/game/txp in-menu installer
"Failed to check github repository" error because new authentification system I asume.
Re: ContentDB - database for the mod/game/txp in-menu installer
Hey,
I propose a server section, informative thing and even download the entire server from github if available.
Regards.
I propose a server section, informative thing and even download the entire server from github if available.
Regards.
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
I just love the fact that there's several websites dedicated solely to MT, and thay we can post our mods here.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
- sorcerykid
- Member
- Posts: 1920
- Joined: Fri Aug 26, 2016 15:36
- GitHub: sorcerykid
- In-game: Nemo
- Location: Illinois, USA
Re: ContentDB - database for the mod/game/txp in-menu installer
It appears I've discovered a couple issues with the markdown preview on ContentDB. Using the toolbar button to create a list, shows all of the list items running together in the preview pane.

Also, using triple backticks to demarcate a code block results in white on gray text in the preview pane. Oddly enough, it renders fine on the package information page. So perhaps it's just a stylesheet issue.

Edit: It looks like I discovered the issue with the bulleted lists. Apparently a blank line is required before the first list item. Yet testing this on the top 5 markdown editors online, do not have this restriction.

Also, using triple backticks to demarcate a code block results in white on gray text in the preview pane. Oddly enough, it renders fine on the package information page. So perhaps it's just a stylesheet issue.

Edit: It looks like I discovered the issue with the bulleted lists. Apparently a blank line is required before the first list item. Yet testing this on the top 5 markdown editors online, do not have this restriction.
- rubenwardy
- Moderator
- Posts: 7104
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: London, United Kingdom
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
That's the expected behaviour, the preview uses the server-side markdown implementation. I use the "markdown" python library, it's fairly strict with how it interprets the markdown "spec" and so requires a blank space before lists. Markdown is only informally specified, there's no standard spec as such and each implementation does things differently. Perhaps I'll switch to another implementation at some point
- Blockhead
- Moderator
- Posts: 2989
- Joined: Wed Jul 17, 2019 10:14
- GitHub: Montandalar
- IRC: Blockhead256
- In-game: Blockhead Blockhead256
- Location: Land Down Under
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
"top 5 online"? I thought GitHub's markdown previews did the same, and would give that a substantial amount of weight. And like Rubenwardy said, "markdown" isn't really one language. It's got a bunch of different syntaxes that are more or less strict and some extensions like tables - see e.g. commonmark.org.sorcerykid wrote: ↑Sun Oct 15, 2023 14:18Edit: It looks like I discovered the issue with the bulleted lists. Apparently a blank line is required before the first list item. Yet testing this on the top 5 markdown editors online, do not have this restriction.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂
- Linuxdirk
- Member
- Posts: 3415
- Joined: Wed Sep 17, 2014 11:21
- In-game: Linuxdirk
- Location: Germany
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
CommonMark is pretty much consensus nowadays, when it comes to Markdown parsing.
So maybe using mistletoe would be a good idea to consider. It not only follows CommonMark, it’s also extensible by design.
So maybe using mistletoe would be a good idea to consider. It not only follows CommonMark, it’s also extensible by design.
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
guys, just.... Do we really need a github repository for mods? like I have an anti-lag texture pack with 785 textures and I tried to upload them 3 times but once it said try to upload less than 100 files, so I did. BUT THEN I TRIED AGAIN AND when I pressed commit changes it said the submitted form was invalid please try again, so my progress failed, TWO TIMES.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
- ROllerozxa
- Member
- Posts: 228
- Joined: Sun Apr 25, 2021 12:25
- GitHub: ROllerozxa
- IRC: ROllerozxa
- In-game: ROllerozxa
- Location: Sweden
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
You should use a proper Git client for committing that large amount of files rather than using the GitHub web UI. If you are on a phone you can use Termux and install gitui in it.Nininik wrote: ↑Fri Oct 20, 2023 03:30guys, just.... Do we really need a github repository for mods? like I have an anti-lag texture pack with 785 textures and I tried to upload them 3 times but once it said try to upload less than 100 files, so I did. BUT THEN I TRIED AGAIN AND when I pressed commit changes it said the submitted form was invalid please try again, so my progress failed, TWO TIMES.
- Linuxdirk
- Member
- Posts: 3415
- Joined: Wed Sep 17, 2014 11:21
- In-game: Linuxdirk
- Location: Germany
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
No, you can (and should, but that’s just my opinion) use another Git hosting service than GitHub.
You can even host your own.
- rubenwardy
- Moderator
- Posts: 7104
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: London, United Kingdom
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
OAuth2 Applications
You can now create OAuth2 Applications.This could be used for "Sign in with ContentDB" on third-party sites. It currently only allows access to public data, but ability to request more scopes like editing packages could be supported in the future depending on demand. Interested to see what people do with this, and any ideas for future integrations.Docs: https://content.minetest.net/help/oauth/

Other changes
- Added a photo gallery popup/lightbox to packages (thanks recluse4615)
- Added a super fast latest release API (used by update detection in 5.8.0)
- Readded "Sync with forums" button for profile pics
- Fixed position of table of contents on help pages
- Added how to install help page
- Various bug fixes and UX improvements
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: ContentDB - database for the mod/game/txp in-menu installer
wow, gotta love the fact that there's a steam marketplace type of thing but specifically for minetest.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
-
doxygen_spammer
- Member
- Posts: 71
- Joined: Wed Dec 16, 2020 16:52
- GitHub: doxygen-spammer
Re: ContentDB - database for the mod/game/txp in-menu installer
I looked again at this.rubenwardy wrote: ↑Mon Jul 03, 2023 22:22ContentDB uses git-archive-all to create the archives, ContentDB itself never parses .gitattributes. It works with other packages - the only thing different here is **/, so I imagine that is causing the issuedoxygen_spammer wrote: ↑Mon Jul 03, 2023 22:15I already do that (and git-archive-all understands it correctly), but it still doesn’t work.
The problem must be in ContentDB.
The relevant code is:
Perhaps one of these arguments explains why it doesn't work on ContentDB but does work with your tests of git-archive-allCode: Select all
from git_archive_all import GitArchiver archiver = GitArchiver(prefix=release.package.name, force_sub=True, main_repo_abspath=repo.working_tree_dir) archiver.create(destPath)
I quickly found the code you have quoted in July, and I think the issue is just that ContentDB checks the repository, but not the release¹.
I think there is no point in checking the repository, since it may well contain things not in the release.
However, it is necessary to check the release, since it might be missing important things (e. g. be totally empty).
¹) With release I mean the packaged mod which git-archive-all has created, and will be downloaded by Minetest clients.
If I understand everything correctly, the order should be changed.
The below code snipped illustrates it.
Code: Select all
@celery.task(bind=True)
def make_vcs_release(self, id, branch):
release = PackageRelease.query.get(id)
if release is None:
raise TaskError("No such release!")
elif release.package is None:
raise TaskError("No package attached to release")
with clone_repo(release.package.repo, ref=branch, recursive=True) as repo:
post_release_check_update( # }
self, # }
release, # }------->-------+
repo.working_tree_dir) # <--+ # } |
# +------------------+ |
# | |
filename = random_string(10) + ".zip" # | |
destPath = os.path.join( # | |
app.config["UPLOAD_DIR"], # | |
filename) # | |
# ______-------------------+ |
# / \ # V
assert(not os.path.isfile(destPath)) # |
archiver = GitArchiver( # |
prefix=release.package.name, # |
force_sub=True, # |
main_repo_abspath=repo.working_tree_dir) # |
archiver.create(destPath) # |
assert(os.path.isfile(destPath)) # |
# |
# <-------------------------------------------------+
release.url = "/uploads/" + filename
release.task_id = None
release.commit_hash = repo.head.object.hexsha
release.approve(release.package.author)
db.session.commit()
return release.url
Who is online
Users browsing this forum: No registered users and 0 guests