Generic Installation

Installation

PostgreSQL Database Setup (Linux)

  1. Install PostgreSQL (Any version greater and 12 sudo apt install postgresql postgis)
  2. Access the postgres service sudo -u postgres psql to confirm it is configured \q to quit
    • If this does not work, you will need to start the service using sudo service postgresql start
  3. Required Create a database for udServer to use (sudo -u postgres createdb udserverdb) (or replace udserverdb can be any database name of your choosing, you can configure which database to connect to in Configuring udServer below)
  4. Create a user sudo -u postgres createuser udserveruser (or replace udserveruser with another user name, or optionally use existing postgres user instead)
  5. Set password and grant user permissions by first running sudo -u postgres psql and then run the following:
    1. Run ALTER USER udserveruser WITH PASSWORD '<password>'; (replacing <password> with the desired password) to set the password
    2. Run GRANT ALL PRIVILEGES ON DATABASE udserverdb TO udserveruser;
    3. Quit using \q
  6. Confirm password has been changed by running psql -h 127.0.0.1 -U udserveruser udserverdb, entering the password you set above and then quit using \q

udServer Setup (Windows)

This assumes the database is located on another machine, see above for steps.

  • Install the x64 Visual C++ Redistributable Packages for Visual Studio 2013 from here
  • Unpack udServer zip into your preferred location
  • Configure a service using the following in Powershell New-Service -Name "udServer" -DisplayName "udServer" -BinaryPathName "<udServer location>\udServer.exe" -StartupType Automatic
  • Start the service if it's not already running

udServer Setup (Linux)

  • Install the udserver_1.0.0-1.deb package using the command dpkg -i udserver_1.0.0-1.deb

Configuring udServer

... config.json & licenses.json ...

Server Information

This information is the general settings for this server.

We do not recommend udServer handling SSL connections on production servers with more than 100 concurrent users. A reverse proxy or load balancer can handle this more efficiently.

  • Server name is the friendly name of this server, generally Nuclideon udServer or a region based name would SYD-WIN-UD-053 would be expected
  • Server Address is the listen address of the server. Unless you have a complex shared server, 0.0.0.0 is recommended.
  • HTTP Mode is what do to when someone connects via HTTP:// instead of HTTPS://
  • HTTP Port is the port to listen on if HTTP is enabled. Recommended is 80
  • HTTPS Port is the port to listen on for HTTPS traffic. Port 443 is recommended.
  • SSL Public Certificate is the SSL certificate to use for HTTPS traffic. It will usually begin with -----BEGIN CERIFICATE-----
  • SSL Private Key is the SSL private key, it generally begins with -----BEGIN PRIVATE KEY-----

PostgreSQL Database

Euclideon udServer uses a PostgreSQL database (9 or higher) for storing everything and is unable to work without it. The server must be configured with pgcrypto extension installed.

  • Host is the database host postgres.local or 10.4.1.250 are expected results
  • Port is the database post, by default PostgreSQL uses 5432
  • Username is the database user
  • Password is the database password, it is required and there is no default
  • Database Name is the name of the database Euclideon udServer will use, udserver is recommended
  • Active Database Connections is the number of pooled connections udServer will maintain in order to respond quickly to requests. 10 is recommended and less than 4 is likely to degrade performance.

First Launch

Once the server starts, when connecting you will be prompted for OIDC connection information.

Setting up as a service

If not using the Docker image you can register udServer as a service using the standard service system.

Here is a template udServer.service file for Ubuntu which you can put in /etc/systemd/system/.

[Unit]
Description=Nuclideon udServer
StartLimitInterval=200
StartLimitBurst=5

[Service]
WorkingDirectory=/opt/udserver
ExecStart=/opt/udserver/udServer
SyslogLevelPrefix=false
Type=idle
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

After you create the file don't forget to sudo systemctl daemon-reload and sudo systemctl start udServer!