Networked storage drawer based inventory system for OpenComputers. AKA AEn't v2
Go to file
2021-09-03 11:10:22 +10:00
OpenOS import stuff from in-game 2021-09-03 10:59:21 +10:00
LICENSE Initial commit 2021-09-03 10:50:09 +10:00
README.md basic documentation 2021-09-03 11:10:22 +10:00

OC-DSS2

Networked storage drawer based inventory system for OpenComputers. AKA AEn't v2

Design

OC-DSS2 uses a client-server model in that there is a server that is actually attached to the transposers that talk to the inventory system, and a number of clients that use the services remotely over the network.

Clients submit a search request (in the format described later) to the server, which responds with a liblz16-compressed stream of the search results. Clients can then use RPC endpoints on the server to request items be extracted to their location, if an alias has been set up for it.

Requirements

  • Minitel
  • Minitel RPC
  • liblz16
  • libsyslog (server only)

Setup

Network protocol

In addition to standard RPC calls, OC-DSS2 uses a stream protocol on port 15 (by default).

Requests are submitted as a single line, in the form of key=value pairs, separated by tab characters. The keys map to itemstack values, such as name, label or maxSize.

The server responds with a liblz16-compressed stream, with one serialised table per line, each containing one resulting item stack.

RPC endpoints exported by OC-DSS2 are directly from the server-side "inv" library, contained in OpenOS/server/usr/lib/inv.lua.