/DoujinSoft

Web Shop/Archive for WarioWare DIY games.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

DoujinSoft

Docker Pulls

screen1

Java Web Application for managing and distributing WWDIY content.
Relies on the original DIYEdit by bobmcjr for everything reverse-engineering related.
Uses SQLite, materializeCSS and jQuery.

Features

  • .mio files dropped into the Webapp's data directory are parsed and added to the archive (on every app restart)
  • Searchable lists with pages for every content (Games/Comics/Records)
  • Comics can be directly read through the user's browser
  • Records can be listened to through the browser (uses libTImidity)
  • All the content available on the archive can be automatically inserted into a game save provided by the user.
  • Basic JSON API.

Using the API

Adding &format=json to most search pages in the webapp will give you a JSON equivalent. Use at will! 🙋‍♂️

Environment variables

  • WII_NUMBER: Wii Friend Code associated to the DoujinSoft WiiConnect24 account.
  • WII_FALLBACK: Wii Friend Code that will receive Wii Mail forwarded from DoujinSoft.
  • WC24_SERVER: WiiConnect24 server URL. Currently, there's only really rc24.xyz...
  • WC24_PASSWORD: Password for the DoujinSoft WiiConnect24 account
  • DSOFT_PASS: Password for the Admin console.
  • WEBHOOK_URL: URL for a webhook. This hook is hit whenever new content is uploaded to DoujinSoft.

Deploying through Docker

You can deploy the provided Docker image by mapping a volume to /home/doujinsoft:

docker run --mount type=bind,src=/my/data/directory,dst=/home/doujinsoft -p 8080:8080 difegue/doujinsoft

If you want to use WC24 interop, the environment variables WII_NUMBER, WII_FALLBACK, WC24_SERVER and WC24_PASSWORD must be defined.

Deploying manually

Get the release WAR (or just build it with maven from the sources)
Edit your tomcat context to specify your data directory:

nano /var/lib/tomcat8/conf/context.xml

<Parameter name="dataDirectory" value="/home/DoujinSoft-data" override="false"/>

Create the folder you specified in the Parameter (here /home/DoujinSoft-data), and add .mio files to a "mio" subfolder in it.
Don't forget to make it R/W by your tomcat server.

cd /home
mkdir DoujinSoft-data
chown tomcat8 DoujinSoft-data/
chmod -R 755 DoujinSoft-data/

Drop the WAR into your tomcat webapps directory to start deployment.

Adding .mio files

Add .mio files to the "mio" subfolder in your data directory. The files will be consumed and added to the database.
(This part might take a little time, benchmarks show a ~5 minutes deploy time for 2000 .mio files.)
You can then access the Webapp and check everything's working.

Adding Collections

Collections allow you to display a specific subset of Games to the user through a simple JSON file.
Collection JSON files go in your data directory, subfolder "data/collections". An example file is included at the root of this project.
Correctly written collections will be linked in the home page of the Webapp.

More screenshots

screen2 screen3