‘CSII_MANAGEDPATH’ has incorrect path(s) when building Cities: Skylines II mod

When we try to build a new Cities: Skylines II code mod, and we get the following error message:

Error User environment variable ‘CSII_MANAGEDPATH’ has incorrect path(s) ‘C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II’ set. Please update the Modding toolchain in-game to reset its value or modify its value to a suitable path SmoothRoads C:\Users\lpint\AppData\LocalLow\Colossal Order\Cities Skylines II.cache\Modding\Mod.targets

During the project setup the template asked for the directory where the game is installed, but we need to point that value to the Cities2_Data\Managed subdirectory of the game folder. To update the value:

  • Right-click the mod project name
  • In the menu select Edit Project File
  • Update the value of <CustomManagedPath> to
    C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II\Cities2_Data\Managed

Using Cities: Skylines II mods

Colossal Order just updated the game with the beta version of the official modding support.

At this time mods usually don’t load during the first load of the game.

At this moment, mods most of the tie don’t load during the first start of the game. To load the mods

  • Exit to Desktop
  • Start the game again

THIS DOES NOT WORK ANYMMORE, AS THE BETA VERSION OF THE OFFICIAL MODDING SUPPORT HAS BEEN RELEASED.

MOD CREATORS ARE WORKING HARD TO MOGRATE THEIR MODS TO ParadoxMods.

The new version of Cities: Skylines has no released official modding framework yet, but leading modders and the developers currently work together to finalize it.

At the time of writing there are two ways to mod Cities: Skylines 2:

Manual installation

As this is not the most convenient way to install a new mod in Cities: Skylines 2, there are some mods, which are not available through the mod manager. To add mods to Cities: Skylines 2

First, install BepInEx

As only one version of BepInEx can be added to the game at a time, all mods have to be compatible with the version of BepInEx. See Installing and using BepInEx to install the correct version of BepInEx.

Using a mod manager

Thunderstore

Thunderstore is an application that manages mods for Cities: Skylines 2. It is very convenient to use, even allows you to run the game in “vanilla” mode without any mods, but not all mods are available through it. To install and use Thunderstore see Installing and using Thunderstore mod manager

Recommended Cities: Skylines 2 mods

ModAvailable in ThunderstoreDepends onDescription
Enable EditorNoBepInEx 6Enables the Map Editor.
MoobYesBepInEx 5Enables the Map Editor.
Image Overlay LiteNoBepInEx 5To Overlay an image on the game map. It works in the game and the Map Editor.
Extended Road UpgradesBepInEx 5 or 6
Upgrade your roads using the game’s built-in tool to transform them into quays, retaining walls, or even elevate them.
AnarchyNoBepInEx 5 and
Unified Icon Library
Disables error checks for tools in a way that the errors are not shown at all.

Installing and using Thunderstore mod manager

Thunderstore is an application that manages mods for Cities: Skylines 2. It is very convenient to use, even allows you to run the game in “vanilla” mode without any mods, but not all mods are available through it. To install Thunderstore

Installing and using BepInEx

BepInEx, the mod launcher for Unity games, including Cities: Skylines 2 has multiple versions. At the time of writing, version 5 is in long term support, and version 6 is already available.

Only one version of BepInEx can be added to the game at a time, and unfortunately, mods target a specific version of BepInEx, so only those mods can run together which use the same version of BepinEx.

Installation

Install BepInEx version 6

To install BepInEx version 6

  • Navigate to from https://paradoxmods.net/files/12-bepinex/
  • Click the Download this file button
  • Download BepInEx-Unity.Mono-win-x64-6…
  • Extract the contents of the ZIP file
  • Copy all files of the top level directory to “C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II”
  • Start the game once, so BepInEx can create the “config” and “plugins” directories in the BepInEx folder
  • Exit the game to the Desktop
  • Place the mod directories into the “C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II\BepInEx\plugins” directory

Install BepInEx version 5

  • Navigate to https://paradoxmods.net/files/12-bepinex/
  • Click the Download this file button
  • Download BepInEx_x64_5…
  • Extract the ZIP archive
  • Copy all files of the top level directory to “C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II”
  • Start the game once, so BepInEx can create the “config” and “plugins” directories in the BepInEx folder
  • Exit the game to the Desktop
  • Place the mod directories into the “C:\Program Files (x86)\Steam\steamapps\common\Cities Skylines II\BepInEx\plugins” directory

Image overlay in Cities: Skylines 2

Image overlay enables us to display a transparent map over our layout in the game and in the Editor.

In the Editor this makes is easy to place outside connections to the correct locations, so when we build our city replica, the roads start at the right place.

In the game it makes it possible to follow the original city layout.

Installation

In the Main Menu of Cities: Skylines II select Paradox Mods

Subscribe to the Image Overlay mod

Usage

Overlay file location

To make the overlay image file available to the mod

  • Create the Overlays directory at “%LocalAppData%Low\Colossal Order\Cities Skylines II”
  • Place the .png overlay files into the Overlays directory. The image size has to be a multiply of 2, up to 16,384×16,384 pixels.

Image selection and transparency setting

To select the image, and set the transparency in the game or in the Editor

  • In the Main Menu of Cities: Skylines II select Options
  • On the Image Overlay page select the image file and set the transparency

Creating an AWS Q AI application

To use an AWS Q application we need two components:

  • An AWS Q AI application
  • A SAML 2.0 compliant identity provider

AWS Q application

To set up the AWS Q AI application

  • Search for Q in the AWS console

  • Click the Get started button

  • Click the Create application button

  • Enter the name of the application
    If your user account has rights to create service roles, select Create and use a new service role option
    If your company administrators created a service role for the application, choose Use an existing service role, and select the role.
    Click the Create button

  • Stay on the page until the new role propagates through the system

  • When it becomes available, click the Next button
  • On the Connect data sources page select the source where the custom data is located. To index a web site, select the “Web crawler” data source, and specify the URL of the home page, or the location of the site map. For WordPress sites, the site map is located at https://MY_WEBSITE/sitemap.xml

For more information see Configuring an Amazon Q application

Identity Provider

AWS Q is a paid service based on the number of users.

To control access to AWS Q, we need to configure it with a SAML 2.0 compliant identity provider, like Azure AD, Okta, or we can use the AWS Identity Center, which is accessible through your AWS Console.

Using the AWS IAM Identity Center

IMPORTANT: As AWS Q is not an AWS “managed application”, if we use IAM Identity Center, we need to create an IAM Identity Center “organizations” instance to be able to connect “custom applications”.

For the complete list of steps, see Setting up Amazon Q with IAM Identity Center as identity provider

Amazon Q API

The Amazon Q API documentation is at https://docs.aws.amazon.com/amazonq/latest/api-reference/Welcome.html

Using the Map Editor in Cities:Skylines 2

Import a height map

Generate the height map

To import a height map into the Cities: Skylines 2 Map Editor we need to create a 4096×4096 pixel 16 bit grayscale height map.

To generate the height map of a area of the Earth,

  • Navigate to https://heightmap.skydark.pl
  • Enter the name of the city in the search box
  • Set the Map size to 14.336 km
  • To move the selected area on the map, click and drag the central blue square.
  • To move the map closer to the sea level, click the Base level calculator button
  • Select Draw water streams to create the correct river and lake beds on the height map.
  • To display the elevation contour lines on the map image enable the Show height contours button
  • To display the edge of the water on the map image enable the Show water contours button
  • Click the Download PNG height hap button to download the height map.
  • Click the Download map image button to download the map for the overlay image.

Create the directories

Heightmaps

The editor selects the heightmaps from the Heightmaps folder

  • Create the “Heightmaps” folder for the height map files at “C:\Users\YOUR_USER_NAME\AppData\LocalLow\Colossal Order\Cities Skylines II”

Screenshots

The editor selects the Thumbnail and Preview images from the Screenshots folder

  • Create the “Screenshotsfolder for the thumbnail and preview files at “C:\Users\YOUR_USER_NAME\AppData\LocalLow\Colossal Order\Cities Skylines II”

Update the height map

  • Open the images in Gimp, a free open source image editor
  • Resize the image to 4096×4096
  • Check the image mode, make sure it is set to grayscale

  • Check the color precision, make sure it is set to 16 bit

Save the image in the new Heightmaps folder

  • Export the height map as .PNG

  • Accept the defaults

Enable the image overlay

Import the height map

Load the height map

  • Start Cities: Skylines 2 and open the editor
  • At the bottom, select the Modify Terrain icon

  • Click the Import Heightmap button

  • Select the height map at the top, and click the Load button at the bottom

Add the outside transportation connections

  • At the bottom select Add object
  • In the upper right corner click None
  • Set the filter to only display the outside connections
  • Click away the list to close it and display the list of outside connections
  • Select the connection type
  • Click on the map to place it

Add outside powerline and water connections

To add outside utility connections, we need to search for those.

  • Type outside into the search box
  • Select the connection type to place it.

Save the map

  • In the upper left corner click Map

  • Enter the map name, description, and select the starting tiles

  • Scroll down to expand the Checklist

  • Save the map by clicking the Save Map button
  • Enter a file name and click the Save button

Kerbal Space Program 2 minimum altitudes for each warp level

In KSP 1 the minimum altitudes for each warp level were compiled at Kerbal Space Program 2 minimal altitudes for each warp level by SaintWacko.

As of today I have not found any similar information for KSP 2, so based on experiments I will create a similar table here.

KERBOL

Warp        KSP1 Minimum Altitude
1×          Any
5×           3 270 000 m
10×          3 270 000 m
50×          6 540 000 m
100×        13 080 000 m
1 000×      26 160 000 m
10 000×     52 320 000 m
100 000×    65 400 000 m

MOHO

Warp        KSP1 Minimum Altitude
1×          Any
5×           10 000 m
10×          10 000 m
50×          30 000 m
100×         50 000 m
1 000×      100 000 m
10 000×     200 000 m
100 000×    300 000 m

EVE

Warp        KSP1 Minimum Altitude
1×          Any
5×           90 000 m (above the atmosphere)
10×          90 000 m (above the atmosphere)
50×          90 000 m (above the atmosphere)
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

GILLY

Warp        KSP1 Minimum Altitude
1×          Any
5×            8 000 m
10×           8 000 m
50×           8 000 m
100×         20 000 m
1 000×       40 000 m
10 000×      80 000 m
100 000×    100 000 m

KERBIN

       Warp  KSP1  KSP2
         1×  Any
         5×  70km (above the atmosphere)
        10×  70km (above the atmosphere)
        50×  70km (above the atmosphere)
       100×  120km
     1,000×  240km  120km
    10,000×  480km  240km
   100,000×  600km  600km
 1,000,000x  n/a
10,000,000x  n/a

MÜN

Warp        KSP1 Minimum Altitude
1×          Any
5×            5 000 m
10×           5 000 m
50×          10 000 m
100×         25 000 m
1 000×       50 000 m
10 000×     100 000 m
100 000×    200 000 m

MINMUS

Warp        KSP1 Minimum Altitude
1×          Any
5×           3 000 m
10×          3 000 m
50×          6 000 m
100×        12 000 m
1 000×      24 000 m
10 000×     48 000 m
100 000×    60 000 m

DUNA

Warp        KSP1 Minimum Altitude
1×          Any
5×           50 000 m (above the atmosphere)
10×          50 000 m (above the atmosphere)
50×          60 000 m
100×        100 000 m
1 000×      300 000 m
10 000×     600 000 m
100 000×    800 000 m

IKE

Warp        KSP1 Minimum Altitude
1×          Any
5×            5 000 m
10×           5 000 m
50×          10 000 m
100×         25 000 m
1 000×       50 000 m
10 000×     100 000 m
100 000×    200 000 m

DRES

Warp        KSP1 Minimum Altitude
1×          Any
5×           10 000 m
10×          10 000 m
50×          30 000 m
100×         50 000 m
1 000×      100 000 m
10 000×     200 000 m
100 000×    300 000 m

JOOL

Warp        KSP1 Minimum Altitude
1×          Any
5×            200 000 m (above the atmosphere)
10×           200 000 m (above the atmosphere)
50×           200 000 m (above the atmosphere)
100×          200 000 m (above the atmosphere)
1 000×        300 000 m
10 000×       600 000 m
100 000×    1 200 000 m

LAYTHE

Warp        KSP1 Minimum Altitude
1×          Any
5×           50 000 m (above the atmosphere)
10×          50 000 m (above the atmosphere)
50×          60 000 m
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

VALL

Warp        KSP1 Minimum Altitude
1×          Any
5×           24 500 m
10×          24 500 m
50×          24 500 m
100×         40 000 m
1 000×       60 000 m
10 000×      80 000 m
100 000×    100 000 m

TYLO

Warp        KSP1 Minimum Altitude
1×          Any
5×           30 000 m
10×          30 000 m
50×          60 000 m
100×        120 000 m
1 000×      240 000 m
10 000×     480 000 m
100 000×    600 000 m

BOP

Warp        KSP1 Minimum Altitude
1×          Any
5×           24 500 m
10×          24 500 m
50×          24 500 m
100×         40 000 m
1 000×       60 000 m
10 000×      80 000 m
100 000×    100 000 m

POL

Warp        KSP1 Minimum Altitude
1×          Any
5×           5 000 m
10×          5 000 m
50×          5 000 m
100×         8 000 m
1 000×      12 000 m
10 000×     30 000 m
100 000×    90 000 m

EELOO

Warp        KSP1 Minimum Altitude
1×          Any
5×            4 000 m
10×           4 000 m
50×          20 000 m
100×         30 000 m
1 000×       40 000 m
10 000×      70 000 m
100 000×    150 000 m

Approaching Kerbin, lowering time warp to 100x for safety!

Interplanetary transfers can only occur at specific times, when the planets are aligned in the optimal position. It can take months until the celestial bodies are in the right position for the interplanetary transfer burn.

If the space craft orbits Kerbin below 120 km altitude, Kerbal Space Program 2 slows down the warp speed to hundred times, so it can properly perform all orbital calculations, and displays the message:

Approaching Kerbin, lowering time warp to 100x for safety!

To enable higher continuous warp speed, raise the periapsis above 120 km.

SyntaxError: The requested module ‘dotenv’ does not provide an export named ‘default’

When we try to use modules in out TypeScript applications we encounter the error message

SyntaxError: The requested module 'dotenv' does not provide an export named 'default'

This is caused by the missing “default” export in the module’s code. To eliminate the error message modify the import statement as

import * as dotenv from "dotenv";
dotenv.config()