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

Unity Cache Server re-implementation

License

Notifications You must be signed in to change notification settings

msiebuhr/ucs

Repository files navigation

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

About

Unity Cache Server re-implementation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published