Introduction

Setting up an instance of GalixiHub is required to take advantage of the value of the Galixsys Communicator platform. While the GalixiHub documentation explains the operation of GalixiHub, the below will go through the most common steps required to not only setup an instance of GalixiHub on the desired hardware or system, but also common configuration steps required in a system’s Internet gateway to make the device running GalixiHub available to the wider Internet if the World created by GalixiHub is to be hosted on a home network. Further, options on how to make an instance of GalixiHub easier to connect to and maintain are also provided.

GalixiHub Options

GalixiHub comes available on a variety of platforms, including native Android devices (as an app downloaded from the Android Playstore) and native Linux systems as a Debian APT install.

The Android release of GalixiHub is intended for a low member world (< 100 members) and hobbyist use. It represents the most direct way to setup a world, and is very useful for the evaluation of the Galixsys Communicator offering. Longer-term or commercial GalixiHub deployments should use the Debian or Docker versions on enterprise grade hardware, or on a cloud service provider (CSP).

The following pages are a step-by-step guide on how to setup an a GalixiHub world, including hardware requirements, GalixiHub acquisition options, setup, and options for gateway, router and DNS management.

Note that the detailed GalixiHub User’s Guide can be found at GalixiHub Documentation.

Hardware Requirements

In order to setup a GalixiHub world, the following hardware is required:

Android

An Android based phone, tablet or other hardware. This device must have a user account in order to download the GalixiHub app from the Google Play Store. This must support Android 13 or later; ideally the latest version of Android.

Debian

An system running a Debian flavor of Linux can include the GalixiHub APT Repository. and install. The Debian package is of type “all” which means it can run on x86 or ARM systems, 32-bit or 64-bit variants.

Docker

A system capable of running git, Docker and Docker Compose may run the Docker version of GalixiHub. To check if these packages are available, please refer to Device Requirements (Docker).

Internet

An Internet connection and access to the Internet provider’s modem/gateway/router. Every Internet Service Provider (ISP) supplies this hardware for either home or business use. Access to this hardware, both physically and via a web browser to it’s configuration options, is required. Note that this step-by-step guide will use AT&T’s fiber Internet and gateway hardware (BGW320) as an example in most cases, but of course any ISP may be used.

GalixiCom

A device running GalixiCom (either Android or iOS) to take advantage of the remote management features. This normally would be the owner’s personal or work phone. This is required for the Debian and Docker GalixiHub installs.

To use the created world, at least two devices running GalixiCom will be required. Please note that these devices do require a yearly subscription to use GalixiCom, but once subscribed, any number of worlds may be joined.

Setup and Configure Hardware

Before installing GalixiHub, there are some (highly) recommend steps to configure the device running GalixiHub for an optimal experience.

  • It is strongly recommended to keep a battery-powered device (i.e., Android tablet or laptop) plugged into a power outlet at all times. This device operates in-effect to a mini-server, and as such, running off battery will eventually cause the device to power down and lose its Internet connection at the most inopportune times.

  • Disable any power savings features. Since the device will be wall-powered, it is advisable to disable any power mode savings. On an Android 15 device, for example, this is done via Settings → Battery → Power saving switch off.

Install GalixiHub

GalixiHub for Android is only available on Google Play. A Google user account is required to install. There is no cost or subscription to use. Installing GalixiHub on an Android device is the same as installing any app from Google Play store:

  • On the Android device open the Play Store app. Search for GalixiHub or,

  • Enter the following web address

The GalixiHub app page looks like the following:

_images/HubPlayStore.png

Once installed, and the license agreement accepted to, it is now time to do the initial configuration of GalixiHub.

For a Debian install, please refer to the GalixiHub Debian User’s Guide.

For a Docker install, please refer to the GalixiHub Docker User’s Guide.

Configure GalixiHub

The below steps through configuring GalixiHub on an Android device. The same screens are used when modifying a World being hosted by a Debian or Docker version of GalixiHub. The setup of the initial Debian version of GalixiHub is explained in the GalixiHub Debian Install., while for Docker it is at GalixiHub Docker Install.. Although the details below are shown on an Android version of GalixiHub, the important concepts, such as choosing a World name, DNS configuration, server ports, etc., apply for the Debian and Docker versions as well.

The initial screen on Android to configure a world is as below

_images/Galixsys_Hub_SC2.png

Details of each field are explained at Create World but the steps that should be taken to get a world configured is outlined below:

  1. Select a world image. There are three options to select a world image:

  • A built in icon can be used, with the options to select a foreground and background color (tap 1)

  • A picture can be taken (tap 2)

  • An existing picture from the device’s gallery can be used (tap 3)

Note that by tapping 4, this will revert to using an icon if a picture or image had been selected prior.

  1. Choose a world name (tap 5). This can be anything the creator desires, but should reflect in some way the community the world will create.

  2. Choose a world location (tap 8). This can be the actual location, or a fictional one, as it is a simple string and not used anywhere other than to provide some color for the world. Note that for privacy reasons, GalixiHub does NOT access the GPS or other location services data of the device, so there is no way to ‘automatically’ fill in this field.

  3. Describe the world (tap 9). Create a single sentence that will help identify or explain the community of the world. This will always be displayed along with the world.

IMPORTANT! The following steps relate to the setup of the network, and the security options for the world so extra care should be taken when configuring.

  1. Configure the IP Address / Domain Name (tap 6). This is perhaps the most critical decision to be made when creating a world. Please read thoroughly 6. Domain Name or IP Address (q.v.) of the GalixiHub user’s guide in the Create World before continuing. Below are some recommended steps and actions to take.

To have the world be usable to the greater Internet community, the world MUST be configured using the external IP address assigned by your ISP to the modem; do NOT use the local IP address or “Test” mode of GalixiHub. The external IP address is automatically detected by GalixiHub so no additional discovery is required. However, this IP address can change at anytime by the ISP, and unless additional fees are paid to the ISP for a fixed IP Address (usually extremely cost prohibitive), for medium-to-long term operation of the world, a domain name should be acquired. One way to acquire a domain name, although for certain not the only way nor perhaps even the best, is via a service provided for by no-ip. There are both free and paid options, and the hub creator can manage any change to their external IP address via this service by tying their external IP address to the domain name chosen. This will keep the world usable and discoverable without change simply by updating the domain name via this service.

  1. Configure the Port (tap 7). This can be any value, but it is important not to conflict with any other possible servers running on the network. Although this is not likely unless the hub creator has setup other home servers (such as a web server), it is recommended to use a “high” port number (default is 50500) to avoid conflicting with reserved ports. A list of all reserved ports can be found at List of TCP and UDP ports. Note that the next four port numbers from the base entered here will also be used by GalixiHub, so no conflicts from the base + next number must be ensured; in the default base 50500 case this would be ports 50500 and 50501.

  2. (Optional) Require Access Code (tap 10 with the code at 11). If the world is to be private, it is recommended to require an access code to join. Without this, anybody would be able to join, and since there is no real identifying information about who the members are (all meta-data is simply in avatar form), there would be no way to know who joins. This code can be changed so that new people who wish to join could use a different code than prior members.

  3. (Optional) Allow Administrator Assignment (tap 12 with the code at 13). Used in conjunction with Require Access Code above. This code supplied here will allow a member to have the same ability to control the world remotely, just like the owner does. This should only be enabled on worlds that will have multiple users manage.

  4. (Optional but highly recommended) Allow Remote Owner (tap 14 with the code at 15). When enabled, allows control of the world remotely on the creator’s cellular device. The world creator should be the first member to join, and should join using this code. This will allow full control of the world on the creator’s phone, just as if they were managing the world locally on the Android device. Once joined, this switch should be turned “Off” so that no one else may become a remote owner.

With the above steps taken, the world is now ready for public connections from devices running GalixiCom. However, in order to make the device running GalixiHub visible on the Internet, steps usually must be taken to “open up” the ISP gateway to the device.

Configure ISP Gateway

If not using a CSP or other hosting solution to create and host a World, it is expected that the device hosting GalixiHub will be on a home network. Any household that has an Internet connection, for example, will have multiple devices use the same connection and as a result, create a local (home) network of devices. Configuring the home network to allow the device running GalixiHub Internet server access must be performed. This is done via configuring the gateway device provided by the ISP, with optionally additional hardware added for ease-of-management. Configuring the ISP Gateway that provides Internet access from the home is perhaps the most complex operation to be performed for users who wish to host their own world using GalixiHub.

ISP gateway hardware configuration is not only ISP specific, but may differ based on the hardware model provided by the ISP. While there is no direct “one rule” to follow when configuring, there are common operations and best practices that may be applied independently of the specific ISP vendor or hardware model. These best practices are outlined below, with a specific example of what steps to take using AT&T fiber service as the ISP, and the AT&T BGW320 gateway hardware, to make the device running GalixiHub available to the wider Internet.

  • Locate the actual ISP gateway hardware. This would have been most likely setup by the installer who is providing the Internet service (i.e., a serviceman from AT&T in this example). The BGW320 gateway hardware from AT&T looks like the below:

_images/BGW300.jpg
  • Find the access code, if required, to enter the web-based configuration for the gateway. On the BGW320, this is located on the back of the hardware.

  • Go to the configuration home page of the gateway. On the BGW320, this is done by opening a web browser on your home pc or other device that is connected to your home network. The gateway configuration home page for the BGW320 is at http://192.168.1.254; other ISP gateway hardware may use a different address which should be listed somewhere on the hardware itself or in its user’s guide. Note it might take a few minutes for this page to display.

  • Open a pinhole in the gateway firewall. By default, since most home users do not run their own servers, most gateway hardware will have a firewall enabled by default to reduce the possibility of external attacks and hackers. A pinhole must be opened to the device (only) that is running GalixiHub, with the port entered when configuring GalixiHub, as well as the next three, as the ‘holes’. On the BGW320 gateway configuration web page, this is done by clicking Firewall → NAT/Gaming. Click on the Custom Services button. In Service Name, enter “GalixiHub” or whatever name you choose to identify the GalixiHub pinholes. In Global Port Range, enter 50500 (or whatever port number was used when configuring GalixiHub) in the first field, followed by 50501 in the second (or add 1 to the base port number used); The Global Port Range should show a 50500 – 50501. Protocol should remain as “TCP/UDP”. Finally, click the Add button. This will return you to the main NAT/Gaming page. Under Application Hosting Entry, on the Service menu, use the pull down to select “GalixiHub”, while on the Needed by Device menu, select the device that is running GalixiHub. Finally, click on the Add button. The firewall will now allow external connection requests to the device running GalixiHub, but only on ports 50500 and 50501.

  • Allow server access on your home network. Some gateway devices may require an additional step to allow a device to run a server. Just to be sure, on the BGW320 configuration page, go to Firewall → IP Passthrough. On the Allocation Mode menu, select “Default Server”. On the Default Server Internal Address menu, in Device List, select the device running GalixiHub. Click on the Save button. This should now allow any devices running GalixiCom from OUTSIDE your home network to access the world created on the device running GalixiHub.

  • Test the connection. Using a cell phone or other device that has a cellular connection, turn off the Wi-Fi or any other access to your home network. It is critical at this stage that only the cellular connection is active as the home network, as currently configured above, will allow only devices that are external to the home network to connect. Open the separate application GalixiCom (if not yet install, install GalixiCom on the device from either the Play Store if Android, or the App Store if iOS. Note that a yearly subscription fee is required to run GalixiCom) and join the world (for details on how to join a world, please see the GalixiCom User’s Guide , or pull down the Help menu in the app in the Join World screen). Upon joining, GalixiCom will return to the “Worlds” screen where, if everything is setup correctly, the created world will appear.

Limitations with the Above Setup

One of the obvious limitations with the above is that in order to access the world from a cell phone while at home, the Wi-Fi of the device needs to be turned off. This is so, because most cell devices will default to any Internet access using the Wi-Fi vrs the cellular connection. The Wi-Fi connection will be on the home network, while the cellular connection is not. A lot of ISP gateway hardware will NOT allow a loopback of an internal local IP address (one that starts with “192.168.x.x” or “127.0.x.x” for example) to access the device running a server at its public IP address. Here are some actions that can be taken to try to resolve:

  • Enable NAT Loopback. If the ISP gateway has a configuration option for NAT Loopback, enable and try to connect to the world, using the external IP address or domain name, with a device running GalixiCom with Wi-Fi enabled. This is the most ideal option, unfortunately, most ISP gateways do not offer this option (AT&T BGW320 does NOT offer).

  • Use Pi-Hole. Pi-Hole is a software tool that runs on Linux-based hardware. In order to use, a system with Linux installed must be available. Several low cost options exist, such as Raspberry Pi. Detailing the configuration of Pi-Hole is beyond the scope of this guide, but the Pi-Hole website provides detailed instructions. Once Pi-Hole is configured, the next step is to have the cell phone or other devices running GalixiCom that is connected to the home network via Wi-Fi to use the Pi-Hole device as a local DNS server when connected on the home network. To do this, on the phone or tablet under Wi-Fi settings, set static DNS with the DNS server now the local IP address of the device running Pi-Hole. This should now allow you to use either Wi-Fi on your home network, or cellular when roaming, and access the created world with the external IP address of the home network, or a domain name if one is used.

Manage GalixiHub and Invite Members

With a world created, visible to the Internet at-large, and remote management setup as the hub owner, full GalixiHub control may be done via the world owner’s phone. This will allow the owner to change world meta-data (update the avatar icon, location, etc.), remove members, change access codes, etc. For a full description of capability, either access the Help menu on the phone, or go to the on-line documentation for GalixiHub

The main screen for GalixiHub is below:

_images/Galixsys_Hub_SC4.png

There are several ways to invite users to join a world:

  • Via QR Code. Tap the QR icon (3) to generate and display a QR code for the world. By using the camera app on a phone, a member may join the world automatically.

  • Via Email. Tap the Add Member icon (4) to call the device’s email client that will have a pre-generated email inviting a user to join. The world owner must input the desired email address to invite, and the invited member will get an email where they can simply tap the provided link to join.

  • Via Text or other messaging apps. The World Link (12) may be copied and then pasted into any other text or messaging app. The invited member then only needs to tap this link to join the world.

In all cases, if the invited member does not have an installed and subscribed instance of GalixiCom on their phone, a re-direct to the appropriate app store will be performed. Note that if an access code is required, the user will be prompted to enter once joined.