How to set up a retro in 2021 (IIS) (Nitro HTML5) - (Part 3)

Object

?
Nov 10, 2017
229
107
This is part 3, which is the last part of the: How to set up a retro (IIS) series - In this part, we will be setting up:

Updates:
This is a list of what has been updated overtime.

2nd of January 2022 - The series has been updated to use the nitro v1.2 structure, which is the most recent at the time (This also fixes the configuration failed errors etc) that some people have had issues with

What will we cover in part 3:
In the part 3 which is the last and final part of the series, we will be setting up:
Java
Arcturus Morningstar emulator
Nitro client v1.2 (Latest as of 2nd of January 2022)

Arcturus Morningstar Emulator set up:
Before we can enter our hotel, we'll need to set up our emulator and to do that, the first thing we need to do is to install Java.

To install Java all you have to do is to download it -

Once Java have been downloaded, go through the setup process, by leaving everything to their default preset (Simply click "Install" and let Java install itself).

When Java has been installed, it should look like the image below:
You must be registered for see images attach


Set up the Arcturus MS Emulator:
Before we download the Arcturus MS Emulator, we will need to install WinRAR, as the emulator will come pre-packed as a .rar file.

To install WinRar all you have to do is to - .

Once WinRar has been installed & set up, you can go ahead and download the Arcturus Morningstar emulator - .

When you're at the download page for the emulator, find the part where it says " " and click on the " " (or you can click directly on it from this thread).

The emulator will then download, once it has been downloaded, open up the .rar file and extract the "3-0-0-stable" to the desktop of your server - Here's a GIF of how to do that:

Once the "3-0-0-stable" folder has been placed on your desktop, open it up and open the "config.ini" file in your preferred editor.

You will then have to edit the database credentials so that they match the ones you made when setting up MariaDB - If you don't remember your credentials, simply open the .env file located in the root folder for Cosmic CMS and take them from there. Once you have filled in the correct credentials, you can safely close the config.ini file again.

Import the missing .SQL's & Queries:
For our emulator to function properly, we'll need to import the "3_0_BETA_1 to 3_0_0-Stable" SQL file - It's very important that you don't import the "arcturus_3.0.0-stable_base_database" SQL file.

Once you have imported the "3_0_BETA_1 to 3_0_0-Stable" SQL file, you'll have to run the queries provided below, which will add the remaining missing database things.

If you're unsure on how to run the queries below, you can watch a GIF of how to do it -

Head to and copy all the code.

Once the remaining queries have been executed, head to the list of all your database tables, single click on the "youtube_playlists" and then right-click on the "youtube_playlists", hover "tools" and then click on "truncate", then click on "truncate table parameters" and then "proceed". Once the "youtube_playlists" table has been truncated, head back to your desktop on your VPS and open the "3-0-0-stable" folder and click on the "run" file. Your emulator should now start and run as supposed.

Here's a GIF of the whole process:

There you go! Your emulator now runs smoothly, just like it should. The next step will be to compile & set up the nitro client 🥳

How to set up the nitro client:
Finally! We're at the part where we will not only compile the nitro client but also set it all up so that we can actually have fun and play on our newly setup hotel🙈🥳 Exciting right? Let's get going!

Step one:
The first step on our journey of setting up the nitro client is to clone some of the default assets, the doesn't come with the pack we converted earlier.

Clone the missing default assets:
We'll need to clone some of the missing default assets for nitro, in order to make nitro function properly, and to do that, open your Command Prompt and enter the following:
Code:
cd C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-assets && git clone https://git.krews.org/nitro/default-assets.git

The default assets will then be cloned into the "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-assets\default-assets" folder - which is almost correct. To maintain a clean folder structure, move all the files from the "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-assets\default-assets" into "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-assets" - If you're unsure on what to do, please watch the GIF of the entire process below.

Here's a GIF of the entire cloning process for the default assets -

Step 2 - setup the nitro client:
In step 2, we will focus on cloning, compiling, and setting up the nitro client.

Clone the nitro client:
To clone the nitro client, all you have to do is open your Command Prompt and write the following:
Code:
cd C:\inetpub\wwwroot\Cosmic\public\client\html5 && git clone https://git.krews.org/nitro/nitro-client.git

Once the nitro client has been cloned, you should see a folder named "nitro-client" if you head to "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client".

Inside of the "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client" folder, navigate into the "src" folder and rename the "renderer-config.json.example" and "ui-config.json.example" to:
"renderer-config.json"
"ui-config.json"

Once the two config files have been renamed, open the "renderer-config.json" and the "ui-config.json" in your preferred editor and link everything correctly - Don't worry if you have been following the series from step one, you can simply replace your entire renderer-config.json with the one below:

If you have been following this series 1:1, you can simply head over to and click on the green button saying "code" and then click "Download ZIP".

Once you have downloaded the ZIP file containing the two fixed nitro configuration files, simply copy both files into your "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client\src" folder.

Once you have copied both files into your "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client\src" folder, open the "ui-config.json" and replace "YOUR-DOMAIN" with your domain name, once done click save.

Next up rename the ".env.example" to ".env" inside your "C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client" folder and change the variables inside of it to match your structure - If you have been following the tutorial 1:1 you can simply copy the code below and replace your entire .env code with it (Don't forget to replace "YOUR-DOMAIN" with your own domain.

Code:
NG_APP_CONFIG_URLS=renderer-config.json,ui-config.json
NG_APP_SOCKET_URL=wss://nitro.YOUR-DOMAIN:2096
NG_APP_ASSET_URL=https://YOUR-DOMAIN/client/html5/nitro-assets
NG_APP_IMAGE_LIBRARY_URL=https://YOUR-DOMAIN/client/flash/c_images/
NG_APP_HOF_FURNI_URL=https://YOUR-DOMAIN/client/flash/dcr/hof_furni
NG_APP_URL_PREFIX=https://YOUR-DOMAIN/client/html5/nitro-client/dist

Compile the nitro client:
Next up open your Command Prompt and navigation into the nitro-client folder by entering:
Code:
cd C:\inetpub\wwwroot\Cosmic\public\client\html5\nitro-client

When you're inside of the nitro-client folder run the following command:
Code:
npm i yarn -g
once yarn has been installed, install angular CLI globally by entering the following command:
Code:
yarn global add @angular/cli
Once yarn & the Angular CLI has been installed, run the following command:
Code:
yarn install
this will install all the necessary packages for the nitro client - This might take a while to be patient.

You must be registered for see images attach

Once all the packages have been installed for the nitro client, we'll have to compile it and to do just that, simply run the following command:
Code:
yarn build-prod
The nitro client will then be compiled, and the properties set in the .env file will then be injected into the index.html file, linking the files correctly.

Once the nitro client has been compiled, it should look something like the image below:
You must be registered for see images attach

Add the Nitro WebSocket plugin:
In order for the emulator to accept incoming WebSocket requests, that nitro will make use of, we'll need to add the "NitroWebsockets-3.1" plugin to our emulator, and to do that, head to and click on the "NitroWebsockets-3.1.jar" to download the plugin.

Once the plugin has been downloaded, open your "3-0-0-stable" folder on your VPS desktop, open the "plugins" folder and place the "NitroWebsockets-3.1.jar" inside of it.

Next head back to the "3-0-0-stable" folder and click on the "run" file, once your emulator has started successfully, it should look like the image below:
You must be registered for see images attach


Once the emulator has booted fully up, close it by writing "stop" and then press enter inside of the emulator.

Here's a GIF of the entire process: .

Next up open your emulator_settings table inside of DBeaver and keep scrolling until you find the "websockets.whitelist" (it should be at the bottom if you keep scrolling).

Once you have found the "websockets.whitelist" apply the following to the "value" column: "*.YOUR-DOMAIN-WITHOUT-HTTPS://" - Where "YOUR-DOMAIN-WITHOUT-HTTPS://" should be your domain name.

Next up find the "ws.nitro.ip.header" (which should be located 3 lines further down).

Once you have found the "ws.nitro.ip.header" add "CF-connecting-ip" in the value column and press "save".

If done correctly, it should look like the image below:
You must be registered for see images attach

Setup the Cloudflare DNS & Rules
In order for nitro to accept our connections through the WebSockets, we'll need to do 2 things within our Cloudflare dashboard.

The first thing will be to add a DNS record and the second is to make a page rule, disabling SSL for our nitro WebSocket.

Add the DNS rule:
To add the necessary DNS rule, navigate yourself to the and click on the domain, that you are using for your hotel. Once you have clicked on your domain navigate to the DNS page by clicking "DNS" in the sidebar on Cloudflare.

Next up click on the blue button saying "Add record" - A new row should be added just below and inside the "Name" field write "nitro" for the "IPv4" field, write your server IP and click "Save".

If done correctly it should look like the image below:
You must be registered for see images attach

Create a Cloudflare page rule:
We're soon at the end of our journey, before we will be able to connect to our newly setup hotel, will be to create a page rule, disabling SSL for our nitro subdomain, and luckily for us, Cloudflare makes this extremely easy. All we have to do is find "Rules" in the side navigation of our and click on it. Once you have clicked on the "Rules" navigation link, you should see a page, with a blue button saying "Create Page Rule". Click on the "Create Page Rule", which will then take you to the following page (see the image below):
You must be registered for see images attach

If that is the case, simply fill out the fields, so that they look like the image below:
You must be registered for see images attach

Once you have filled out the fields, like the image above, click on "Save and Deploy"

You must be registered for see images attach

We're soon done - Allow port 2096:
Our second last step of this amazing journey is to enable port 2096 to accept TCP connections.

To enable port 2096, simply search for "Windows Defender Firewall with Advanced Security" in your windows search menu and click on it, once you have opened the "Windows Defender Firewall with Advanced Security" application, click on "Inbound Rules" on the left and then "New Rule..." on the right, a new popup should now appear.

Once you see the popup, select "Port" and click "Next" on the next page, leave everything as it is and type "2096" in the text field next to "Specific local port" and click "Next" until you you're able to give the rule a name and enter any name of your choice - Mine will be "nitro" and then click on "Finish".

Here's a GIF of how to create the firewall rule:

The second last step - Link cosmic to our client:
Our very last step is to link cosmic to our nitro index file, and all you have to do, to achieve this is, navigate to "C:\inetpub\wwwroot\Cosmic\src\App" and open the "Config" file in your preferred editor. Once you have opened the "Config" go to line 26 and replace the entire line with
Code:
 "nitro_path"                  => "https://YOUR-DOMAIN/client/html5/nitro-client/dist"

* Don't forget to change "YOUR-DOMAIN" to your real domain name.

Add the nitro MIME type:
We can actually already connect to our client, but if we did so before adding the nitro MIME type, we won't be able to see any avatars nor furniture, as IIS would block any .nitro file extensions.

To add the .nitro mime type, all we have to do is open up our "Internet Information Services" application, click on "VMIxxxx", then double click on the "MIME Types" module:
You must be registered for see images attach


Once you have double-clicked on the "MIME Types" module, you should be able to click "Add..." in the right top corner. when "Add..." has been clicked, a new popup should appear asking for a "Filename extension:" and a "MIME type:".

In the "File name extension:" field add ".nitro" and inside the "MIME type:" field add: "application/octet-stream" and click "OK".

That's it! You can now head to your newly setup retro and start playing 🥳

You have finally made it:
If you have been following along and done everything correctly, you should now be able to get on the client, and have tons of fun! 🥳
You must be registered for see images attach

Did I miss anything?
Please let me know if I missed anything, as the guide contains a lot of information.

Bonus threads:
How to set up the nitro imager for Cosmic CMS -
How to protect your hotel against minor attacks:

-
-
 

Attachments

  • 1639013967074.png
    1639013967074.png
    61 KB · Views: 124
  • 1639013980463.png
    1639013980463.png
    61 KB · Views: 66
  • 1639014480958.png
    1639014480958.png
    26.6 KB · Views: 226
  • 1639014683354.png
    1639014683354.png
    53.4 KB · Views: 217
  • 1639017587634.png
    1639017587634.png
    90.8 KB · Views: 72
  • Screenshot_20211218-221712_Discord.jpg
    Screenshot_20211218-221712_Discord.jpg
    136.4 KB · Views: 41
  • Screenshot_20211218-221712_Discord.jpg
    Screenshot_20211218-221712_Discord.jpg
    136.4 KB · Views: 107
  • Screenshot_20211226-110043_Discord.jpg
    Screenshot_20211226-110043_Discord.jpg
    733.2 KB · Views: 71
Last edited:

boz

don daddy
Mar 23, 2021
140
41
Nice tut denni⚡! Correct me if I’m wrong but you’ve forgot the adding .nitro to the MIME types?
 

Object

?
Nov 10, 2017
229
107
Nice tut denni⚡! Correct me if I’m wrong but you’ve forgot the adding .nitro to the MIME types?
you are right, gr8 catch & thanks for noticing me.

ill make sure to update the thread when im on my pc 😅
Post automatically merged:

Thread updated, with the explanation of adding the .nitro mime type
 
Last edited:

DeMaZe

New Member
Oct 24, 2018
6
1
I'm having a problem with my client being black screen and have a hard time troubleshooting the exact problem.. Do you know which solutions could solve this problem? Followed your guide step by step and thank you for your work!
 

Object

?
Nov 10, 2017
229
107
I'm having a problem with my client being black screen and have a hard time troubleshooting the exact problem.. Do you know which solutions could solve this problem? Followed your guide step by step and thank you for your work!
Try to open your developer tools by clicking "f12" when you're trying to load the client. Click "Console" and see if it shows any errors when you're reloading, if not try and go to the "Network" tab in your dev tool as well and see if anything sticks out there.

Also are you entering domain-name/hotel=beta or domain-name/hotel ?

It's important that you're trying to enter domain-name/hotel=beta as this will be the url that cosmic will be using for nitro :)
 

DeMaZe

New Member
Oct 24, 2018
6
1
On domain-name/hotel the screen is just stuck at being black and on domain-name/hotel=beta it shows a nitro "getting ready" loading screen and never loads. I have screenshots of both with f12 developers tools on this link:
 

Object

?
Nov 10, 2017
229
107
On domain-name/hotel the screen is just stuck at being black and on domain-name/hotel=beta it shows a nitro "getting ready" loading screen and never loads. I have screenshots of both with f12 developers tools on this link:
That all sounds correct the /hotel won't work unless you set up flash and will be using a browser supporting such (my series, doesn't cover this as flash is no longer supported by the majority of browsers). you'll always have to use the /hotel=beta URL

For your nitro to connect, did you finish the entire tutorial, like setting up Cloudflare rules, starting your emulator, adding the nitro WebSocket plugin, etc? :)


*edit
Looking at your screenshot, the reason it won't load is due to it not being able to find the external flash texts json file.

Have you converted your assets yet? and also have you edited your renderer-config properly?
 
Last edited:

DeMaZe

New Member
Oct 24, 2018
6
1
I'm still working on it, once again thank you for your time and help. Just one more question: What do you do with the default assets you download in part 2? Do you just place them on the desktop or do you have to do something special there?
 

Object

?
Nov 10, 2017
229
107
I'm still working on it, once again thank you for your time and help. Just one more question: What do you do with the default assets you download in part 2? Do you just place them on the desktop or do you have to do something special there?

No worries, however, there's actually an error in part 2, which I have just corrected.

The nitro imager config I provided said:
"output.folder": "C:/inetpub/wwwroot/Cosmic/public/client/html5/",

But it should actually be:
"output.folder": "C:/inetpub/wwwroot/Cosmic/public/client/html5/nitro-assets/",

This means your assets didn't get converted into the correct folder structure - hence u had issues before most likely.

I'd recommend for you to change your output folder in your configuration.json inside of your converter, delete the previously converted assets, and re-convert.


For your question about the assets. If you're using the git clone command that I have stated, it should automatically place the assets into /client/flash inside of the public folder
 

DeMaZe

New Member
Oct 24, 2018
6
1
Thank you! I made the client work on the VPS, but I can't connect to the client from public (my own pc), i get a black screen with this error: :/
 

Object

?
Nov 10, 2017
229
107
Thank you! I made the client work on the VPS, but I can't connect to the client from public (my own pc), i get a black screen with this error: :/
Are you visitting the correct url /hotel=beta ? :)

To always enter the correct url, just click on the "to hotelname beta" button instead of the "enter hotelname"
 

DeMaZe

New Member
Oct 24, 2018
6
1
Yes I made sure that I entered the correct URL don't worry :p But still getting the black screen unfortunately. I thought it maybe had something to do with not open ports, but i double checked and it was not the case, so now im kinda lost again :/
Post automatically merged:

It also says "waiting on 21253.live.streamtheworld.com" in the bottom left corner when it's loading if that additional information is something useful
 
Last edited:

Object

?
Nov 10, 2017
229
107
Yes I made sure that I entered the correct URL don't worry :p But still getting the black screen unfortunately. I thought it maybe had something to do with not open ports, but i double checked and it was not the case, so now im kinda lost again :/
Post automatically merged:

It also says "waiting on 21253.live.streamtheworld.com" in the bottom left corner when it's loading if that additional information is something useful
Sent u a DM
 

Object

?
Nov 10, 2017
229
107
Everything is correct and its still not work.
Can you please post a screenshot of the entire client including your URL bar.

Also please open your devtools by pressing f12 and head to "console" and show me a screenshot of this aswell - Thank you
 

Users who are viewing this thread

Top