Creating a manifest file

From OuroDev
Revision as of 20:11, 9 July 2019 by Red Nile (talk | contribs) (Added notes about URLs used in a manifest, recommended HTTPS, brief descriptions of the other sections of the manifest, and <nowiki> tags for formatting.)

Whichever client you are using, whether its CreamSoda or Tequila, they will come with a manifest file. This file (an XML file) will explain to the client where to go to download files and where to place those files. It will also tell the client how to launch a game client for specific game servers. An example manifest can be found here.

While there are other components, the two main sections in a manifest are:

  • Profiles
  • File List

Profiles

The profile section is made up of "launch" entries and each entry appears in your client as a server to which you can try and connect. Each "launch" entry contains the command instructions necessary to launch the game client exactly as it would if you created a shortcut on your desktop. It contains the following parameters:

  • exec - the file to execute. This has to appear later as a file in the file list section.
  • order - the position the server appears in the list of clients. Starts at 0.
  • website - a url to display when the server is selected.
  • params - the attributes that will be appended to the exec when run. Typically this would include the address of the authentication server and an patch directory.

Example:

 <launch exec="Ouroboros.exe" order="1" website="https://www.thunderspygaming.net/" params="-patchDir ouro -auth 167.114.172.239">/coxg/ (v2:i1)</launch>

Note that if you want to, you can remove all of the other servers and only put your own server in the list, if you want the launcher to focus on just your own server when your manifest file is loaded.

File List

The file list section contains a series of file references. Each "file" entry contains the information necessary to download, correctly place and validate the file in questions. Each "file" entry also surrounds one or more "url" entires from where the file could be downloaded. Each "file" entry contains the following parameters:

  • name - the name and location for the file relative to the CreamSoda or Tequila installation.
  • md5 - the checksum used to validate the downloaded file. For compatibility across different OS please ensure all checksums are in lowercase.
  • size - size in bytes used to validate the downloaded file.
  • url - One or more URLs where CreamSoda or Tequila will actually try to download the files from. It's recommended that you use URLs from the Client Mirror Distribution Project.

Example:

 <file name="Ouroboros.exe" md5="415755240dcce033c27f464724cba3f0" size="9681408">
  	<url>https://brute.coh.network/OuroDev/v2i1/Ouroboros.exe</url>
  	<url>http://cityofhero.es/OuroDev/v2i1/Ouroboros.exe</url>
  </file>
Note: Best practice is to only put HTTPS sources in your manifest file, in order to have secure connections for all of your players when they are downloading files through CreamSoda or Tequila.  Most of the manifests out there right now use HTTP for many of their file URLs.  The Island Rum launcher for Linux apparently has problems using HTTPS, but this is something that should be fixed in that launcher at some point rather than encouraging use of insecure links.

(Advanced) You can also host the files yourself for your players to download from your own web server, if you have one set up (such as for setting up the Account Portal). Get CreamSoda or Tequila to download all of the files for you, then copy the downloaded files into a similar folder structure in C:\xampp\htdocs\public\OuroDev\v2i1 on your web server. Then you can add entries like <url>https://yourserver.com/public/OuroDev/v2i1/Ouroboros.exe</url> to your manifest.

Other Sections

  • Launchers: This is where information about the launcher file itself is. You can either leave this as-is in the example manifest, or you can save the launcher's executable to your own web server and use your own url here if you want your players to get it from your server.
  • Forums: You can specify any forums that might be associated with your server, though it is unclear how to access those forums through the Cream Soda launcher.
  • Webpage: Changing the link in this section will change which website is loaded when Cream Soda first loads up, before any of the servers are selected.

How to Add Your Server

If you are planning on keeping your server in line with the Ouroboros server then adding your own server to a manifest file is relatively simple. Use an existing manifest as a starting point, either the example linked above or one provided by a server you play on. Then you should work out the commands to launch a client and connect to your server. So if you launch a client by typing

 C:\CoH\ouroboros -auth 1.2.3.4 -patchDir ouro

You would add a launch entry to the profiles section of your manifest like this:

 <launch exec="Ouroboros.exe" order="2" website="https://yourserver.com/homepage" params="-patchDir ouro -auth 1.2.3.4">YOUR SERVER NAME</launch>

If you plan on making your own modifications, either to code or textures and models, then that is more complicated and a subject for the Corp Wiki.