Skip to content

anegostudios/vsmoddb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vsmoddb

Repository for https://mods.vintagestory.at

VS Mod DB API Docs

Format

Request: Normal GET requests

Response: Json. Every response contains a statuscode property which uses HTTP Error Codes to denote success/failure of a request.

URLS

Api base url http://mods.vintagestory.at/api

Base url for all returned files http://mods.vintagestory.at/

Interfaces

/api/tags

List all mod tags

Example: http://mods.vintagestory.at/api/tags

/api/gameversions

List all game version tags

Example: http://mods.vintagestory.at/api/gameversions

/api/authors

List all authors (users)

Example: http://mods.vintagestory.at/api/authors

/api/comments/[assetid]

Lists all comments for given assetid or latest 100 if assetid is not specified

Example: http://mods.vintagestory.at/api/comments

/api/changelogs/[assetid]

Lists all changelogs for given assetid or latest 100 if assetid is not specified

Example: http://mods.vintagestory.at/api/changelogs

/api/mods

List all mods

Example: http://mods.vintagestory.at/api/mods

Get Parameters:
tagids[]: Filter by tag id (AND)
gameversion or gv: Filter by game version id
gameversions[]: Filter by game version ids (OR)
author: Filter by author id
text: Search by mod text and title
orderby: Order by, one of: 'asset.created', 'lastreleased', 'downloads', 'follows', 'comments', 'trendingpoints' (default: asset.created)
orderdirection: Order direction, one of: 'desc', 'asc' (default: desc)

Search Example: http://mods.vintagestory.at/api/mods?text=jack&tagids[]=7&tagids[]=8&orderby=downloads

/api/mod/[modid]

List all info for given mod. Modid can be either the numbered id as retrieved by the mod list interface or the modid string from the modinfo.json

Example: http://mods.vintagestory.at/api/mod/6
String example: http://mods.vintagestory.at/api/mod/carrycapacity

Development setup

VS Code - Remote Containers

You can use the provided vscode devcontainer to get up a running without installing everything on your own.

Required for that is docker installed aswell as docker-compose and vscode with the Remote-Containers extension. Then you can open the devcontainer.json in vscode, and it should prompt you

Folder contains a Dev Container configuration file. Reopen folder to develop in a container ([learn more](https://aka.ms/vscode-remote/docker)).

Simply click reopen in container, and it should start building the devcontainer and starting the mysql database aswell.

Now edit the config.php to match the settings in the dockerdocker-compose.yml for the db MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD and add 127.0.0.1 stage.mods.vintagestory.at to your hosts file on your local machine.

To deploy the database to the mysql instance run the tables.sql script against the database. You can use MySQL WOrkbench or any other mysql tool. When connecting from your local machine use localhost and 3306 (default) port to connect.

There is also a optional MySQL Workbench container that when enabled in the dockerdocker-compose.yml can be reached at http://localhost:4444/. To connect to the mysql database from workbench container use db for the hostname.

Universal (vscode/intellij/notepad)

Requirements:

Steps:

Result:

Note: the mysql container is set up to automatically execute the provided DB structure + sample data.