Skip to content

atakiya/melatonin

Repository files navigation

💊 Melatonin - BYOND version manager

A version manager for the Build Your Own Net Dream (BYOND) software.

Contributions and improvements are very welcome, as this is my first Rust-based project.

Installation

build from source via

cargo install melatonin

or, with cargo binstall

cargo binstall melatonin

Usage

To quickly get started from scratch:

  1. bvm setup to setup the shims and PATH
  2. bvm install latest
  3. cd your/byondproject/path/here
  4. bvm pin latest

And done!
Now simply invoke your tools as usual, such as

  • dm project.dme - run the CLI compiler against your environment
  • dd project.dmb - run the CLI server against your built binary (BYOND 515+)
  • dreammaker project.dme - run the GUI editor/compiler

For the currently installed versions, run bvm list

For all commands and help, simply run bvm --help

Container Image

Container images are released along with semver tags
Images are tagged as (example semver v1.2.3)

  • v1.2.3 - full version
  • v1.2 - major and minor
  • v1 - major
  • latest

Example Dockerfile for a BYOND project previously pinned with melatonin:

FROM ghcr.io/atakiya/melatonin

WORKDIR /app

# Assuming you're building from your project's root
COPY . .

# Setup shims and install the in the project pinned version of BYOND
RUN bvm setup \
	bvm install $(cat .byondversion)\

# Compile the project
RUN DreamMaker -verbose *.dme

# And run a dedicated server!
ENTRYPOINT [ "DreamDaemon" ]
CMD [ "*.dmb", "5513", "-invisible", "-trusted" ]

License

GNU General Public License v3 or later See LICENSE.md for more information.

Copyright notice

Copyright ©️ 2024 Avunia Takiya - All Rights Reserved
Build Your Own Net Dream is Copyright ©️ BYOND Software