Table of Contents
General
The updater supports auto selecting mods that are used on a server out of the box, if these mods exist on the official network or are already installed on the user's computer.
Custom repositories allow anyone with a web-server to setup a repository to host mods and missions of your choosing.
It also allows additional server information to be configured, like required and allowed mods, Teamspeak3/Mumble server information - which Six Updater can use to launch and connect with them.
Any mods required by the server, but not found on the custom repository, will be searched for on the official network - so you can mix and match your hosted mods, and official network mods!
Custom repositories can be hosted as zSync, rSync or both, all from the same source folder.
zSync urls use http:// and requires a webserver
rSync urls use rsync:// and requires a rSync server
You can have an infinite number of repository hosts / mirrors, more hosts means better redundancy, higher speeds, etc.
SU is designed to have the Repository function as "Master" and the Server and Clients as "Slave".
Looking for hosting an official Six Updater Network zSync or rSync mirror? Please see Six Updater+Mirror Setup.
Support
For more information about rSync/zSync and why they are so helpful, please see Six Updater.
For support/assistance, please find: Six Updater+GroupChat
Basic Usage
- The server admin sets up the custom repository with configuration and optionally mods and missions. (Details down below)
- Users can access your repository and servers in multiple ways:
- Server via URL: sixupdater://yourwebsite.net/six_repo/ServerName.yml
- CustomRepos browsing via URL: sixupdater://yourwebsite.net/six_repo/config.yml
- Server via Server Browser. Right click the server and select "New preset with server". SU will auto-detect the custom repo if you put the ServerName.yml address in your server name (server.cfg, hostname)
- Server via Import; On the server browser tab, above the datagrid 'Import Server' button.
- He's now ready to 'Install or Update' (and join server).
If TeamSpeak3 or Mumble server data are available in the configuration, he can automatically or manually join the teamspeak server from within the Updater.
Note: It is recommended to set the 'Server Mods Path' (Relative paths are supported), either globally in the Options, or on favorite Settings Profile, or directly on the server.
Without a Server Mods Path, CustomRepos mods will be installed to the ordinary mods installation folder - migrating existing mod folders to the version available on the zSync repository. While this is useful for those with a lot of bandwidth but little diskspace, it is recommended to seperate mods from the official Six Updater network, and those of custom zSync repositories.
Hosting Requirements
- A http/https web-server of any kind. To be able to use zSync transfers, it must support the HTTP-Range command.
- Tested webservers: Apache2 and Nginx.
- APACHE 2.2.20 and newer have issues, please use 2.2.19 for the time being. E.g: http://apache.xl-mirror.nl/httpd/binaries/win32/httpd-2.2.19-win32-x86-openssl-0.9.8r.msi
- NGINX for Windows: http://nginx.org/en/docs/windows.html
- note: All versions of Microsoft Windows IIS are currently not supported. Apache is available for Windows too.
- The server can run on any port (doesn't have to be port 80)
- optional; http basic authentication is supported (username+password protection)
- .yml / .yaml mime type needs to be active (Should be configurable in .htaccess file)
- Dotted files need to be allowed (files starting with a dot, like .repository.yml) , specifically, to be allowed to serve: .repository.yml and it's .zsync counter part.
- config.yml hosts url format; http://hostname.domain.net/six
- Tested webservers: Apache2 and Nginx.
- A means to remove/add/update files on this http server (e.g FTP or even rSync)
- Optional: rSync server
- You can use rSync (native protocol or over ssh) to upload the repository, instead of using ftp. Benefits include differential updates (delta patching) etc.
- Hosting rSync mirror (Windows) (Point to the same folder as hosted by the web-server)
- Create Six Updater\tools\etc\rsyncd.conf, example content: http://www.pastie.org/2473712
- Allow Six Updater\tools\bin\rsync.exe bi-directional firewall access, it will listen on 873/tcp
- Start the rSync daemon; rsync.exe --daemon --no-detach
- You can schedule or create a service for it
- config.yml hosts url format; rsync://hostname.domain.net/six (as oppoed to zsync's http://hostname.domain.net/six)
- If issues, try the cwRsync suite: http://www.itefix.no/i2/node/10650
Hosting Options
The main mirror should be accessible through a HTTP webserver.
Additional mirrors can be of the following kinds:
- Download: HTTP webserver, preferably supporting zSync (differential transfers). Free DropBox account is also possible but does NOT support differential transfers
Upload: (s)FTP(s) or rSync - Download: rSync server
Upload: (s)FTP(s) or rSync
URLS the user can use
- Browse the repository: sixupdater://server.domain.net/myrepo/config.yml
- Direct server import (creates preset with the server and custom repo configuration): sixupdater://server.domain.net/myrepo/ServerName.yml
- Direct mod import: sixupdater://server.domain.net/myrepo/@MODfolder
Username/Password protection
For HTTP hosts, at this time, only HTTP-Basic authentication is supported, and the username/password combination can only be different per host, not per user.
Configure HTTP-Basic authentication on your hosts, and add the username:password@ part to the sixupdater:// url for users, and your hosts, e.g:
- For users: sixupdater://username:password@hostname.net/su/ServerName.yml
- For hosts: http://username:password@hostname.net/su
For rSync hosts, you can configure rsyncd.conf to require a username/password, and adjust the host url accordindlgy: rsync://username:password@hostname.net/su
Authentication / Secured by SSH is a possibility but not directly supported for downloads (only uploads) at this time.
Repo layout
Config.yml
This file describes which hosts, servers, mods, missions and apps are hosted on this custom repo network
The Mods, Missions and MPMissions sections will be managed automatically by SixZsync utility
For an example, please see below @ Examples.
ServerName.yml
This file describes the arma2 server, which mods, missions and apps are used (required or optional).
("ServerName" is whatever identifier you gave the server, e.g: myServer1)
Mods listed in the server configuration file as required will first be searched for on your custom repo network.
If the mod is not found on your network, the mod will be taken from the Six Updater official network - if available there.
Webserver Layout
- config.yml
- ServerName.yml
- missions\
- mission1.pbo
- ....
- mpmissions\
- mission1.pbo
- ....
- @mod1\
- @mod2\
- ....
Examples
Fully commented example available at: http://www.pastie.org/2887585
Also see Six Updater+Communities for practical implementations.
- ACE Test Server - ACE Nightly Builds
