Skip to content
This repository has been archived by the owner on May 22, 2020. It is now read-only.

Latest commit

 

History

History
70 lines (50 loc) · 2.23 KB

README.md

File metadata and controls

70 lines (50 loc) · 2.23 KB

Unity Cache Server

.. in Go

ARCHIVED

This was a mostly do-some-work-related-Go. As I no longer work with Unity, I don't really have a need for this, nor can I test it in any meaningful capacity.

If you like the project, feel free to fork the project - or petition Unity to take it over.

Installation from source

go get -u github.com/msiebuhr/ucs/cmd/ucs
ucs

This will listen for cache-requests on TCP port 8126 and start a small web-server on http://localhost:9126 with setup-instructinos and Promehteus metrics.

Full usage options are shown with ucs -h. Note that options can be passed as environment variables, making the following examples equivalent:

ucs -quota 10GB
ucs --quota 10GB
QUOTA=10GB ucs

As it is generally recommended to use a cache per major Unity Release and project, the server supports namespaces. This is done by using multiple -port arguments or comma-separated list.

ucs -port=8126 -port=name:8127
ucs -port=8126,name:8127
PORT=8126,name:8127 ucs

Each name/port will have a seperate cache, but garbage-collected as one (so old projects' data will all but vanish and new ones will get lots of space).

For convenience, ports can be named as in name:8127. Is is used for the file-system path, display on the help-page and in metrics. If the name is left out, the port-number also becomes the name.

Load testing

There's also a quick-and-dirty loadtest utility, ucs-bender:

go get -u github.com/msiebuhr/ucs/cmd/ucs-bender
ucs-bender # Will run against localhost

Related

Miscellaneous