DylanMod

v1.0.0·Updated 2024-01-15

With this treasure I summon Dylan, Stand Proud You Are Seaweed, Nah I'd Win Said John the man who left it all behind

About this mod Author’s original text

\#

\!\codecov\\

is a mod database and API for downloading mods.

\## Setup guide for development

\- Copy \.env.template\ to \.env\ and modify as you see fit - If you

have access to the \python-packages\ submodule & it\'s cloned, make

sure to set \BUILD_INSTALL_EXTRAS\ to \true\. Any other value will

not work. Changing this setting will require rebuilding the environment

(e.g. with \docker-compose build\) for it to take effect. - Run

\docker-compose up\ - Run \`docker-compose exec django python

manage.py migrate\ in another terminal - Run \docker-compose exec

django python manage.py shell\` and enter the following code:

\\\`python from django.contrib.sites.models import Site

Site.objects.create(domain=\".localhost\",

name=\"\") \\\`

\\Make sure to substitute \localhost\ with what you use to connect

to the site!\\ In general, you should use \.localhost\

as the main domain to handle auth-scoping correctly (see

\SESSION_COOKIE_DOMAIN\ later on)

You will also need to navigate to the admin panel (\/djangoadmin\) and

configure a mapping from a site to a community. You can create a

superuser account with the \createsuperuser\ Django management command

(akin to how migrate was run) to gain access to the admin panel.

To connect a site to a community, you will need to:

1\. Make sure at least one Community object exists or create one (\`Risk

of Rain 2\` should be created automatically) 2. Make sure at least one

Site object exists or create one 3. Make the site object\'s \`domain

name\` attribute match what you use for connecting to your development

environment 4. Create a new Community Site object, linking the two

together

\### Test data population

There\'s a script for populating the local database with test data. You

can run it as follows:

\\\`bash docker-compose exec django python manage.py create_test_data

\\\`

\## Minio

In local development, \minio\ is used

for S3 compatible file storage. You can access it via

with \:\ credentials

\## REST API docs

The REST API swagger documentation can be viewed from \/api/docs/\.

At the current moment, the only relevant API is \/api/v1/package/\,

which lists all the active mods in the database. A specific mod can also

be fetched if necessary with the \/api/v1/package/{uuid4}/\ endpoint,

where \{uuid4}\ is replaced with the mod\'s uuid4 value.

\## Admin site

The admin site can be accessed from \/djangoadmin/\. To view the admin

site, you need an admin account.

Assuming docker is being used, the admin account can be created as

follows:

\\\` docker-compose exec django python manage.py createsuperuser

\\\`

Do note that if you\'re running on Windows, you will need to use winpty

for running that command.

\## Environment variable configuration for production

\### General variables

\- \DEBUG\: Should be either set to false or not at all for

production - \SECRET_KEY\: A long and random string, used to hash

passwords and other data. Should remain secret, as is implied by the

name. - \ALLOWED_HOSTS\: Comma separated list of hostnames this server

can be connected with. For example \beta..io\ -

\PRIMARY_HOST\: The public name of the server, such as

\beta..io\ - \PROTOCOL\: The protocol which to use to

build URLs to the server. Either \ or \ -

\REPOSITORY_MAX_PACKAGE_SIZE_MB\: The maximum single package size -

\REPOSITORY_MAX_PACKAGE_TOTAL_SIZE_GB\: The maximum total file size

used by packages

\### Gunicorn

\- \GUNICORN_WORKER_COUNT\: Used to control how many workers gunicorn

will spawn - \GUNICORN_LOG_LEVEL\: Used to control gunicorn\'s logging

level

\### Django

\- \SESSION_COOKIE_DOMAIN\: If set, allows sessions to be shared

within a domain and its subdomains. For example: \.io\

For local testing, recommended values are:

\- \SESSION_COOKIE_DOMAIN\: \.local

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackFlipMods-TooManyEmotesOzone-Runtime_Netcode_PatcherSligili-More_EmotesVulf-GokuBrackenno00ob-LCSoundToolClementinise-CustomSoundsx753-Mimics

File & checksum

Filename
DylanMod-1.0.0.zip
File size
82.3 KiB