How to set up a retro in 2023 (IIS) (Nitro HTML5) - (Part 1)

Object

?
Nov 10, 2017
415
328
Hi Devbest 👋

I've seen on multiple occasions that some people wish to make their own retro, but struggle to do so! This is why I've decided to take the time and write a three-part series that covers everything from A to Z, using modern & updated technologies in the year 2022.

We'll be using Windows IIS to set up your new Habbo retro - The reason for choosing IIS is that it's a lot more user-friendly than for example a Linux server and I believe most people looking for a series like this are more comfortable using Windows & having a GUI, rather than a plain terminal ✨

Internet Information Services (IIS) setup
MariaDB setup
PHP 8.2 setup
Composer v2 installation
GIT setup
Cloudflare setup
Atom CMS setup
Atom HK setup
Arcturus Emulator 3.5.2 setup
Volta (multi-node version support) installation
Java installation
Nitro v2 setup (dev version) - Latest as July 2023
Nitro Converter setup

A Windows VPS - If you currently don't have a Windows VPS you can buy one from for example ,

Contabo is a cheap VPS host, which is great choice for your first retro.

You can however use any host you'd want, it doesn't have to be Contabo, the important thing is just that your VPS has Windows on it.

You'll also need a domain for you and your users to visit - I personally recommend

Enough of the introduction! Let's get started 🚀

The first step of our journey is to install & set up IIS and to do that, start by opening the "Server Manager" application if it isn't already open.
  1. Click on the "Add rules and features" button - A popup should appear showing a "Before you begin" introduction. Click on "skip this page by default" unless you want to be prompted with this introduction every time you open it
  2. Click on "next" and make sure "Role-based or feature-based installation" is toggled and then click "next" two times (this should land you on the "Server Roles" section
  3. Within the "Server Roles" section scroll down until you find "Web Server (IIS)" and check it (a popup should appear, within this popup click "Add Features". Once done click on "Next" 3 times. This should land you on the "Role services" within the "Web Server Role (IIS) section
  4. Scroll down until you find "Security" and check the "IP and Romain Restrictions"
  5. Open up the "Application Development" category (should be just beneath "Security") and check "CGI" once checked, click "Next" and "Install"
Step two:
  1. Install the PHP Manager extension -
  2. Install URL Rewrite extension -
Once the steps above have been followed-through, you should be able to enter your server IP within your browser and see the IIS Installation screen. Which would look like this:

You must be registered for see images attach

Add the .nitro MIME type:
To allow us to connect to our client, later on, we must tell IIS to allow ".nitro" file types otherwise, IIS won't know to handle those, resulting in us not being able to connect to the client.

To add the ".nitro" MIME type, all we have to do is open up our "Internet Information Services" application, expand the section just beneath the "Start Page" and 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".

Here's a GIF on how to do it:
Requirements:
  • Any text editor / IDE of your choice - My personal recommendation is
  • Git - - Click on the button
  • PHP 8.2 or greater (This guide will be using PHP 8.2) - - Select the "VS16 x64 Non Thread Safe" (it should be the first one - As .zip format)
  • Composer v2 - - Select the " "

Install an editor of your choice:
As mentioned before, it's totally up to you to choose which text editor / IDE you'd want to install & use, the most important thing is to use something you're comfortable with. My recommendation however is Visual Studio Code which you can . Once downloaded simply go through the setup process, by clicking next until finished.

Install GIT:
You'll have to install GIT as not only is it an amazing tool, but it will also be necessary for us later on.
To install GIT simply and go through the installation process, by clicking next until finished.

PHP 8.2 setup:
In this tutorial, we will be using PHP 8.2 which is the most recent PHP version as of December 2022.

To set up PHP 8.2 you'll simply have to and select the "VS16 x64 Non Thread Safe" (which should be the first one).

Once downloaded browse yourself into
Code:
C:\Program Files
and create a new folder named "PHP".
Once the PHP folder has been created, simply copy all the downloaded PHP files into your new "PHP" folder.

Register your PHP version
To make sure IIS will be using your newly downloaded PHP version, open your "Internet Information Services" application, click on the section just below "Start Page", find the PHP manager module, and double-click on it.

You must be registered for see images attach


Once you have opened your PHP Manager click on "Register new PHP version" when clicked a popup should appear, asking you to provide the path to the PHP version. Click the 3 dots next to the input field and browse into C:\Program Files\PHP and select the "php-cgi.exe" and click "open". The path to the "php-cgi.exe" should now be set and click "OK".
If everything was successful you should now see your PHP version etc all within the PHP manager tab

You must be registered for see images attach
You must be registered for see images attach


Install the necessary redistributables:
PHP requires you to download some redistributables, you don't really have to think anything of it. Simply and go through the setup process, by accepting the terms and clicking next until finished.

Composer setup:
It's time to set up Composer. Composer is in the short-term a package managing tool, that we will be needing later on to install the necessary Composer packages required for Atom CMS & Atom HK. and select " ".

Once Composer has been downloaded, open the "Composer-setup" application that you just downloaded and select "Install for all users (recommended)".

You'll then be prompted with "Installation options" leave it as it is and click "Next". Once you have clicked "Next" you should see the "Settings Check" which a little further down should have your php.exe listed automatically for you. If the path seems correct check the "Add this PHP to your path" and click on "Next".

If for whatever reason the automatically selected PHP path isn't correct simply click "Browse..." and browse yourself into "C:\Program Files\PHP" and select "php.exe" then click on "Open" and make sure the "Add this PHP to your path" is checked, then click on "Next".

You must be registered for see images attach


Once you've clicked on "Next" you'll see a "Proxy settings" screen, leave everything as it is and click "Next" and "Install" - Once Composer has finished its installation click "Next" and then "Finish".

Composer is now fully installed and ready to use!

Important: You must not install MariaDB greater than version 10.x, otherwise your emulator won't connect

To get started, with the installation of MariaDB

Next, open the installation file, that just got downloaded and click "next" until you reach the part where you have to set a password for the root user. Fill out a secure password, that you have noted somewhere safe. It's important that you don't lose this password as it will be the password to access your database. Once you have filled out the password fields, go ahead and check the "Use UTF8 as the default server's character set" - It should look something like the image below:

You must be registered for see images attach


Click "Next" and leave everything to their default presets until you can click "Install" then click "install", and wait for the installation to be finished. Once the installation has finished click on "Finish".

Hurray! Your database server has now been set up and will be ready to use 🎉

We'll start off by cloning Atom CMS, this is simply to ease the process of adding the client assets to the correct folders, straight away. In step 2 of this guide, we'll go through the process of actually connecting Atom CMS to IIS making it accessible to the outside world.

Clone Atom CMS:
Now we will have to clone the Atom CMS repository and to do that you'll have to open your CMD (command prompt) application and enter the following:
Code:
cd C:/inetpub/wwwroot
press "enter", then write:
Code:
git clone https://github.com/ObjectRetros/atomcms.git
and press enter once again. Atom CMS will then be cloned into your C:/inetpub/wwwroot in a folder named "atomcms"

For our hotel to work further down the road, we'll need to get our hands on the assets required for the hotel to function.

To do just that, open your Commands Prompt (CMD) and enter
Code:
cd C:/inetpub/wwwroot/atomcms/public && git clone https://github.com/ObjectRetros/2023-hotel-files client

This will take a little bit, so please be patient.

Once the cloning has finished, you can continue to the "database manager installation" step.

To manage our database, we'll need a database manager. In this series, we'll be installing DBeaver, which is a free but yet powerful manager.

MariaDB automatically installs HeidiSQL however as we're going to use DBeaver, you can go ahead and uninstall HeidiSQL if you wish.

The first step will be to install DBeaver itself, which , and select " ".

Once DBeaver has been downloaded, go through the setup process, by simply clicking "Next" until you can click "Install" as it's not necessary to select or change anything.

Open DBeaver and click "No" to the popup asking if you want to create a sample database.

Select "MariaDB" from the list of database servers and click on "Next".

You must be registered for see images attach


Database credentials:
It's time to connect to our database server and to do that, you'll have to fill out the necessary credentials, which will be the following:
Server host: localhost
Port: 3306
Database: Leave this field empty
Username: root
Password: The password you set when installing MariaDB

Once the credentials have been put in place, click "Test Connection" which will ask you to download the necessary drivers, which you can install by simply pressing "Download".

If the filled-in credentials are correct, DBeaver is going to show you a success message looking like the image below.
You must be registered for see images attach


Simply click on "OK"

Create a new database:
Double-click on your "localhost" connection showing on the left side of DBeaver and then right-click on the "Databases" folder and select "Create new database" which will show you a popup asking for a database name.

You must be registered for see images attach


Fill in a database name of your choice (in my case I'll just be using "hotel" as the name) and click "OK" - The Charset & Collation doesn't have to be changed from their default preset.

You must be registered for see images attach


Import your Arcturus morningstar database & catalog:
Start by opening up your DBeaver application (if it isn't open already), right-click on your newly created database and hover the "Tools" and select "Restore database" Which would look like the image below:
You must be registered for see images attach


Once "Restore database" has been selected, click on the orange folder next to the "Input File:" field and navigate to C:/inetpub/wwwroot/atomcms/public folder and select the "arcturus-3-5-2-database.sql" file. Once the .SQL file has been selected click "Start". The database import will then start. Once it has finished successfully a popup looking like the image below should appear:
You must be registered for see images attach


Click on "OK" and then close the pop up windows.

Now repeat the process, but instead of selecting "arcturus-3-5-2-database.sql" you select "2023-catalog.sql" - This will import an updated and well organized catalog.

If you feel a little confused and don't know what exactly to do, that's totally fine. Here's a gif of me doing it - Since this tutorial has been updated, there's only two .sql file instead of multiple, so all you have to do is to import the two .sql files mentioned above:

Once you have successfully imported the arcturus database & updated catalog files, double-click on your database to make it show all the newly imported tables.

You have now successfully created and imported a database for Arcturus Morningstar, which we, later on, will be connecting to Atom CMS & Atom HK when setting that up.

To add some basic protection to our hotel, we will be adding Cloudflare.

Cloudflare makes it a breeze to set up DNS and add page rules, on top of that it adds a decent layer of protection to our hotel as it will automatically proxy your server IP (hide your server IP so if people are trying to find it, they will get Cloudflare's IP) once set up, it will also do its best to mitigate DDoS attacks for you.

I will not cover how you can set up a hotel without a domain or without Cloudflare. If you don't want to use Cloudflare to set up your hotel, you'll have to figure out how to set up a hotel on your own.

Cloudflare setup:
The first thing you'll need to set up Cloudflare is a domain. You can purchase a domain from plenty of different domain providers like - My recommendation is .

Once you have got your hands on a domain, head to and either log in or create a new account.

Once you have logged in or created your new account, click on the account within the "Accounts" section and then click "Add a site" (the blue button on the right).

You will now be sent to a page where you can enter your domain name, once you have entered your domain name click on "Add site".

Once your site has been added, Cloudflare will ask you to select a plan. Scroll to the bottom and click on the free plan and then "Continue"

Cloudflare will be scanning & reviewing your DNS records, once that has been done a full list of your records will be shown. Delete all the records except the "A" record and the "CNAME" record at the top - To delete a record click "Edit" and then "Delete"

Once all the records have been deleted, edit the IP address attached to the A record so that it contains your VPS IP.
The CNAME record should be changed so that the content field matches your domain name.

It should look something like this screenshot (with your domain & VPS IP)
You must be registered for see images attach


Once the above has been done click on "Continue".

Cloudflare will then take you to a page explaining what you should do with your nameservers.

Once you have replaced your nameservers, click on "Done check nameservers"

* It may take up to 24 hours before nameserver changes take effect. However, in most cases, it won't take very long before the changes have been processed.

The next step will be Cloudflare showing you a "Quick Start Guide"

Click on "Get started" and allow the following
Automatic HTTPS Rewrites - On
Always use HTTPS - On
Auto-minify CSS and HTML
Brotli - On

Once your nameservers have been changed and registered your Cloudflare should look like this
You must be registered for see images attach


That's it! easy right? Your Cloudflare has now been set up and you're now ready to set up Atom CMS & Atom HK 🔥


Head to part 2 of the series and learn how to set up Atom CMS!


Did I miss anything?
Please let me know if I've missed a step 🚨
 

Attachments

  • 1638734198057.png
    1638734198057.png
    7.7 KB · Views: 707
  • 1638729378332.png
    1638729378332.png
    23.8 KB · Views: 468
  • 1638725433597.png
    1638725433597.png
    26.2 KB · Views: 431
  • 1638741245626.png
    1638741245626.png
    23.5 KB · Views: 532
Last edited:

Mitro

New Member
Dec 16, 2021
1
0
When installing IIS, under Application Development, do I need to install ASP.NET aswell?
Another question, is there a way that I can get in touch with you on Discord or something?
 

harambee_hd

New Member
Jan 19, 2022
7
2
Requirements:
A VPS with Windows on it - If you don't have a VPS already you can purchase one from tons of different hosts. Personally, I'm using Contabo as my host as they provide Windows 2022 servers together with NVMe disks. The choice is totally yours tho.
hi, noobie here, is there a difference between 2019 and 2022 servers for this tutorial? and also can i use standard instead of datacentre? (ovh only provide standard 2019/2016, contabo provide dataceter 2022.
could i use ovh for this using the standard 2019 without any issues, thanks x
 

Object

?
Nov 10, 2017
415
328
hi, noobie here, is there a difference between 2019 and 2022 servers for this tutorial? and also can i use standard instead of datacentre? (ovh only provide standard 2019/2016, contabo provide dataceter 2022.
could i use ovh for this using the standard 2019 without any issues, thanks x
2019 and 2022 is more or less the same, so thats no problem :D and its up 2 u also w which type u want :D
 

Beast92

Member
Feb 14, 2022
30
7
Hello there. I am new to this and a total noob. I just bought a VPS with windows on it. But I don't know how to set it up through remote desktop because I never used it before. Can someone help me how to get remote desktop on my pc and setup the vps because I just started on this journey and am stuck already..
 

Object

?
Nov 10, 2017
415
328
Hello there. I am new to this and a total noob. I just bought a VPS with windows on it. But I don't know how to set it up through remote desktop because I never used it before. Can someone help me how to get remote desktop on my pc and setup the vps because I just started on this journey and am stuck already..
Just search for "remote desktop" in your windows menu, should be pre-installed by default :D
 

JayC

Always Learning
Aug 8, 2013
5,493
1,398
Hello there. I am new to this and a total noob. I just bought a VPS with windows on it. But I don't know how to set it up through remote desktop because I never used it before. Can someone help me how to get remote desktop on my pc and setup the vps because I just started on this journey and am stuck already..
You should get an email or have a portal that supplies you with the IP and password. If no password is given you will likely need to use the KVM to login to the vps and set the password.
 

Beast92

Member
Feb 14, 2022
30
7
You must be registered for see images attach

Thank you very much for your fast reply. I typed in my search bar ''remote desktop'' and this is the result I got. I don't really think it's this one. It's dutch btw.
Post automatically merged:

You should get an email or have a portal that supplies you with the IP and password. If no password is given you will likely need to use the KVM to login to the vps and set the password.
I did get my login information with my vps account details such as IP and password.
 

Object

?
Nov 10, 2017
415
328
You must be registered for see images attach

Thank you very much for your fast reply. I typed in my search bar ''remote desktop'' and this is the result I got. I don't really think it's this one. It's dutch btw.
Post automatically merged:


I did get my login information with my vps account details such as IP and password.
That's the right one
 

Beast92

Member
Feb 14, 2022
30
7
I changed my pc language to english so you guys understand it better when providing help to me. I am now in here (see pic) but I don't know the name of the ''remote computer'' what exactly do I have to fill in there? And again thanks in advance
You must be registered for see images attach
 

JayC

Always Learning
Aug 8, 2013
5,493
1,398
I changed my pc language to english so you guys understand it better when providing help to me. I am now in here (see pic) but I don't know the name of the ''remote computer'' what exactly do I have to fill in there? And again thanks in advance
You must be registered for see images attach
Computer is the IP
Username is usually Administrator
Then click connect and enter password. You will be prompted for the certificate and just say yes
 

Beast92

Member
Feb 14, 2022
30
7
Phew.. I'm at step 2 now. It says ''
Step two:
  1. Install the PHP Manager extension -
  2. Install URL Rewrite extension -
Do I need to download the files IN the remote desktop or through my normal desktop?
 

Object

?
Nov 10, 2017
415
328
Phew.. I'm at step 2 now. It says ''
Step two:
  1. Install the PHP Manager extension -
  2. Install URL Rewrite extension -
Do I need to download the files IN the remote desktop or through my normal desktop?
everything on your vps
 

Terri96

New Member
Feb 21, 2022
12
4
I've got an issue, I've followed the tut completely but my hotel now keeps re-loading on a loop but not fully loading in.
 

Users who are viewing this thread

Top