Skip to main content
An update replaces a resource directory completely. Everything in it comes from the new release, including the files you edited. This page is the procedure that keeps your work.
Copy out your configuration and language files before you start. Nothing in the update copies them back for you.

Outcome

The new release is running, your configuration and language edits are back in place, and the server starts with no warnings.

Prerequisites

  • The new archive, downloaded from the CFX portal.
  • A copy of every file you have edited. If you do not have one, make it as the first step below.
  • A maintenance window. The server is restarted twice in the worst case.

Steps

Note what you have edited

For each resource you are updating, the files that may carry your changes are:Nothing else in the resource is yours.

Copy them out

Copy those files to a location outside resources. Keeping them in your own version control is better: it gives you a record of what changed and when.

Update the SDK first, if it is part of this update

Products accept a range of SDK versions, so a newer SDK inside that range works with the products you already have. A newer product, on the other hand, may require a newer SDK. Updating the SDK first avoids a failed start in between.Replace resources/[element]/element_sdk with the new release. The SDK has no configuration of its own, so nothing needs restoring.

Replace the product directory

Delete resources/[element]/element_map and extract the new release in its place.
Do not extract over the top of the old directory: files removed in the new release would survive and confuse the result.

Put your files back

Copy your saved files into the new directory, overwriting the ones the release shipped.Before you do, open the release notes for the versions you skipped. If the first part of the version number changed, a configuration key may have been renamed or removed, and your old file may set keys that no longer exist.

Reinstall integrations, if the product ships them

An update replaces the integrations directory and the installer scripts, so run the installer again. See Product integrations.

Restart the server

Verification

The console reports a clean start for the SDK and the product. Confirm three things:
  • No [Dependencies] error. One means the SDK version and the product no longer match. See SDK version requirements.
  • No Config file for "…" missing or invalid warning. One means a file you restored cannot be read.
  • No out-of-date notice for the resource you updated.
If the product raised the version of a configuration namespace, restoring your older file is expected and is reported as it is converted:
The file on disk is not rewritten, so keep the copy as it is. Two other lines mean the conversion did not happen and the release defaults are in use instead:
The second appears when your file is newer than the product reading it, usually after rolling a product back without rolling its configuration back too.
Finally, check in game that your settings are in effect. A key that was renamed in the new release is ignored without any error, so the console alone does not prove your file still does what it did.

Next steps

Rolling back

Reinstall the previous release the same way, and restore the configuration files that belonged to it. Keep one copy per product version rather than one copy in total: a configuration file from a newer release is not usable by an older product.

Deciding when to update

Your server reports what is behind at start:
Nothing updates itself, and nothing stops working because a newer release exists. What the version number tells you about the size of the change is in Releases and versions, and what actually changed in each release is in the changelog.