Setting up the Minecraft Server

NOTE: Click the weird, feather-thingy, coloured-orange, on the top-left of the page to go back.

Automatic installation

PS. This guide is the same for Linux. USSR3 does not officially support any other operating systems other than:

  • Linux: Archlinux
  • Windows: W10/W11 x86-64
  • Step 1. Downloading USSR3

    Download USSR3

    Extract it with Tar or your preferred tool.

    Step 2. Installation & configuration

    Everything is almost automatic. Find your way through the CLI menu.

    Install the Minecraft server, there is an option for it in the the menu.

    Then, run the USSR, and go through the steps.

    Step 2b. Creating an Ngrok account

    Make an account on the ngrok website.

    After you have made the account, navigate to the setup page

    $ ngrok config add-authtoken THE-AUTHTOKEN-GIVEN

    Change 'the-authtoken-given' to the one given on the website.

    Step 2c. Configuring everything

    In the menu, enter '2' as the choice, and configure everything to your liking.

    Read the prompt, and type 'Y/N' or whatever it asks for. Your Ngrok-Auth token is necessary if you want to use the NGROK-Autostart feature. If you do not want to enter the token, you can go to the Ngrok setup page, and manually set it up.

    Otherwise, your Ngrok authtoken should be on this page.

    Step 2d. Entering the Webhook URI

    Edit Webhook URL

    Go to Discord, your server, the channel, and click on settings. Then go to integrations, and expand it.

    Click on the desired integration, and copy the URL as shown. Then enter it in the prompt.

    Step 3. Running the USSR

    If you've done everything correctly, start the USSR.

    It should send the URLs in Discord, and you should be able to visit the website on localhost:443

    Step 4: Installing Packetriot to expose the Flask app to your friends

    $ cd ~/path/to/ussr/directory
    $ git clone https://aur.archlinux.org/pktriot.git
    $ cd pktriot
    $ makepkg -si
    $ pktriot http 443

    It will ask you for an Email & Password. Head over to Packetriot and make an account, once done, proceed.

    Example:

    Email: mickey@koolkids.klan

    Password: asirrationalaspi

    This will log you in; it may say 'permission denied.' To fix this, run:

    $ sudo pktriot http 443
    for ussr-ssl.py
    $ sudo pktriot http 80
    for ussr.py

    Windows Installation

    Head over to Packetriot and make an account, once done, proceed.

    Now that you have an account, go to the downloads page, and scroll down until you find the download for your Windows system's architecture. (32-bit or 64-bit.)

    To see the architecture, watch this tutorial

    After you have downloaded the file, create a new folder in the 2.0 directory, and extract the pktriot.exe there. Open command prompt in an elevated window, and type:

    $ pktriot.exe http 443
    for ussr-ssl.py

    It will ask you for a login, so type in the credentials of the account you created earlier — and that's it!

    Manual guide

    This is deprecated, please see newer guide above.

    For Arch

    NOTE: This tutorial is for a Fabric server. If you want to use something like PaperMC, Glowstone, or Airplane, figure it out -- it isn't rocket science.

    Step 1: Acquire the file

    $ mkdir server
    $ cd ~/server $ wget https://meta.fabricmc.net/v2/versions/loader/1.19.4/0.15.3/1.0.0/server/jar $ mv fabric-server-mc.1.19.4-loader.0.15.3-launcher.1.0.0.jar fabric.jar

    Step 2: Install java

    $ sudo pacman -S jdk-openjdk

    Step 3: Initialise and configure

    $ cd ~/server
    $ sudo nano eula.txt

    Add the following text:

    eula=true
    $ sudo java -jar -Xms256M -Xmx5G fabric.jar
    $ stop
    $ sudo nano server.properties

    In the server.properties file, change the rcon port to 25575, the rcon password to root_admin, and the address to 0.0.0.0, localhost, or 127.0.0.1.

    For Windows

    Step 1: Downloading Java

    Download Liberica JDK

    Step 2: Initialise and start

    Make a folder somewhere safe, and name it `server`.

    Download the Fabric server software in the folder

    Change the name of this file to fabric.jar

    Create a text document (.txt) named eula.txt and in the contents of the document, type eula=true.

    Open an elevated command prompt window in the server folder

    $ java -jar -Xms256M -Xmx5G fabric.jar
    $ stop

    Step 3: RCON settings

    After this, open `server.properties` with whatever text-editor, and change:

    RCON port to 25575

    RCON password to root_admin

    RCON address localhost

    Configuring paths (Arch)

    FYI: The following tutorial should be (almost) the same for any other text editor; however, my preferred is nano, so I will be using that. You can use anything like OSS, Neovim, Vim, or even Kate... (Kate?)

    Step 1: Editing `ussr(-ssl).py`

    Edit ussr-ssl.py using Nano or any text editor.

    Let's say we have a user called Katie, and Katie put the USSR folder in ~/Desktop/USSR/Archlinux/

    We would edit the file as follows if the above is met:

    Line 16, Col 58

    Step 1 Screenshot

    Line 39, Col 48

    Step 2 Screenshot

    And that's it for the Archlinux set-up.

    Configuring paths (Windows)

    FYI: Use VSCode if you want to make your life a (little) easier.

    Step 1: Editing `ussr(-ssl).py` on Windows

    Edit ussr-ssl.py using any text editor.

    Let's say we have a user called Katie, and Katie put the USSR folder in their Desktop folder. So:

    C:\Users\Katie\Desktop\USSR\Windows

    We would edit the file as follows if the above is met:

    Line 16, Col 58

    Step 1 Screenshot

    Line 39, Col 48

    Step 2 Screenshot

    Step 2: Editing Ngrok path on Windows

    Let's say Katie placed the downloaded Ngrok executable in her D:\ drive.

    D:\Ngrok\bin\ngrok.exe
    Ngrok Path Screenshot

    Installing Packetriot for Archlinux

    Step 1: Installing Packetriot to expose the Flask app to your friends

    $ cd ~/path/to/ussr/directory
    $ git clone https://aur.archlinux.org/pktriot.git
    $ cd pktriot
    $ makepkg -si
    $ pktriot http 443
    $ pktriot http 80

    It will ask you for an Email & Password. Head over to Packetriot and make an account, once done, proceed.

    Example:

    Email: mickey@koolkids.klan

    Password: asirrationalaspi

    This will log you in; it may say 'permission denied.' To fix this, run:

    $ sudo pktriot http 443
    for ussr-ssl.py
    $ sudo pktriot http 80
    for ussr.py

    Windows Installation

    Head over to Packetriot and make an account, once done, proceed.

    Now that you have an account, go to the downloads page, and scroll down until you find the download for your Windows system's architecture. (32-bit or 64-bit.)

    To see the architecture, watch this tutorial

    After you have downloaded the file, create a new folder in the 2.0 directory, and extract the pktriot.exe there. Open command prompt in an elevated window, and type:

    $ pktriot.exe http 443
    for ussr-ssl.py
    $ pktriot.exe http 80
    for ussr.py

    It will ask you for a login, so type in the credentials of the account you created earlier — and that's it!

    Archlinux Installation

    This guide assumes you have basic Archlinux & overall Linux experience. Please fix the issue yourself if you encounter any.

    Step 1: Let's install Python & dependencies

    $ sudo pacman -S python
    $ cd ussr-xyz
    (ussr-***xyz*** is the version, e.g., you are using version 2.2, that would be: ussr-2.2)
    $ cd archlinux
    $ chmod +x install.sh
    $ ./install.sh

    Step 2: Running the USSR

    $ cd server-arch
    $ sudo python ussr(-ssl).py
    (ussr-ssl.py is optional, use the SSL version if you want HTTPS instead of HTTP. It doesn't matter if you will use Pktriot, though.)

    Windows Installation

    Step 1: Python

    Download Python 3.9.10

    Run the installer, disable PATH limit, and add Python to PATH, it should be in the installer options; if it is not, refer to this tutorial

    Step 2: Dependencies

    Open an elevated command prompt window in the ussr directory.

    $ cd ussr-xyz
    (no need for this if you are already in the directory, not explaining what 'xyz' is, scroll up)
    $ cd windows
    $ "install.bat"

    Port-forwarding your Minecraft server

    We will be using ngrok because it is better.

    Installation for Archlinux

    Step 1: Installing ngrok

    Step 1a: Install snap

    $ cd ~/
    $ git clone https://aur.archlinux.org/snapd.git
    $ cd snapd
    $ makepkg -si

    Step 1b: Install ngrok

    $ sudo snap install ngrok

    Step 2: Making an account and logging in

    Make an account on the ngrok website.

    After you have made the account, navigate to the setup page

    $ ngrok config add-authtoken THE-AUTHTOKEN-GIVEN

    Change 'the-authtoken-given' to the one given on the website.

    Step 3: Starting Ngrok

    You do not need to start ngrok manually,

    ussr(-ssl).py
    does it automatically for you, unless you have
    ngrok.functionality=False
    .

    Installation for Windows

    Step 1: Installing Ngrok

    Install ngrok. You can choose the 64-bit version or the 32-bit version.

    Step 2: Making an account and logging in

    Make an account on the ngrok website.

    After you have made the account, navigate to the setup page

    Open a command prompt window in the folder where you downloaded ngrok, and type

    $ ngrok.exe config add-authtoken THE-AUTHTOKEN-GIVEN

    Step 3: Starting the service

    You do not need to start ngrok manually,

    ussr(-ssl).py
    does it automatically for you, unless you have
    ngrok.functionality=False
    .

    Installation for MacOS, Debian, or Gentoo

    Some info

    Installing the USSR on MacOS, Debian, or any other Linux distribution, such as Gentoo is super easy, simple, and straight forward. You just need to manually install all the dependencies yourself, then run launcher.py and skip through dependency/prerequisite setup. That's all!

    Using Webhooks

    Step 1: Edit these files

    Copy the webhook URL

    Webhook URL Screenshot

    Navigate to Line 26, and edit this:

    discord_webhook_url = "ur_webhook_noob"

    with the actual webhook URI.

    Editing Webhook URL Screenshot