wyvern/README.md
2018-08-13 10:14:44 +01:00

3.2 KiB

Wyvern

A centralized storage management system for Minecraft. Basically Dragon, rewritten for sanity and improved networking/error handling. Requires Plethora Peripherals by SquidDev (as that's what allows item transfer by wired network).

Setup

installer.lua is recommended for running everything. Get it with wget https://osmarks.tk/git/osmarks/wyvern/raw/branch/master/installer.lua.

Run installer install to download everything. It will open an editor for the config file, allowing setup of a node. When prompted for a program to run on startup, say client to configure it as a client or backend-chests to run the chest backend.

If you just want to update Wyvern, run installer update.

Networking & Hardware

Chests ───────┐
   │          │
Server ─── Buffer
   │          │
   └────┬─────┘
        │
        ├────────── Processing (not implemented yet)
        │
        │
   ┌────┴──┬───────┐
Client  Client  Client
  • Chests is a set of chests and/or shulker boxes, connected via networking cables and modems, to the Server and Buffer. Cookie jars are not compatible.
  • Buffer is a dropper with a wired connection on the chests' side and clients' side.
  • Server is a computer running backend-chests. Other backends may eventually become available. It must be connected to the chests, clients, and both sides of the buffers.
  • Client is a crafty turtle running client. It must be connected to the server and external side of the buffers.
  • Processing will be used for autocrafting systems. It is not yet implemented.

Configuration

Configuration is stored in wyvern_config.tbl in lua table syntax as used by textutils.(un)serialise.

Client

network_name must contain the network name (thing displayed when modem beside it is rightclicked) of the client turtle.

Server

buffer_internal must contain the network name of the buffer on the chest side. buffer_external must contain the network name of the buffer on the client side. modem_internal can contain the network name of the server on the chest side. This is only required if your network contains chests on the client side which are connected.

Warnings

  • Inserting/extracting items manually into/out of chests will result in the index being desynchronised with the actual items. To correct the index, run reindex in the CLI client.
  • If you try and extract items when the storage server is still starting up, it may fail, as not all chests will have been indexed yet.
  • There are currently small problems with extracting certain quantities of items from storage. Yes, it should probably be by stack.
  • Yes, I am kind of using git wrong, but editing networked CC programs sanely is very hard. Tell me if you find a better solution.

Usage

Once configured, the chest backend can just be plugged in and ignored, unless it explodes. For help using the client, run help or h.

Coming Soon(ish) (maybe)

  • Audit log on server - see when items were moved.
  • Overlay glasses/introspection module client.
  • Autocrafting (just a port from Dragon's).
  • Autosmelting (basically autocrafting).