HomePage Logo The Game Star Fleet Other Forum
Article list

« About the Site / Self Hosting

Self Hosting

You often see the phase "proudly hosted by [whatever]" on various websites.
This site by contrast is very humbly hosted on my downstairs PC: Crystal.
Nonetheless, Crystal is a very stable machine and I'm very luck to have it.

In 2025/26 it became apparent to me that, given changes across the hosting industry in general, shared hosting was no longer the best solution for hosting X-Bomber the Game.

Large File Area

The Large File Area was a project that I started in August 2025, when Krystal Hosting started to throw its weight around with us and there were a communications breakdown with the support and customer service.
I'd already been on the look-out for a new host for quite some time and hadn't managed to find one that wasn't going to give us the same problems, if not more.

I found out about XAMPP, which is a single-install webserver for Windows, that gives you Apache, PHP, MariaDB among other things. Even with that running, it didn't look as though it was going to be possible, in anything like the near term, to get the whole site running from a home server, so initially, I created a "large file area" that was linked to from the site's right-hand menu.

Another step forward was to use Dynu DDNS client to handle IP changes and update DNS as required.

Originally, the LFA used Apache's auto-indexing with a whole series of adaptations to present video files and downloads that were too big to host practically on shared hosting and still be able to back them up locally.
After that, I took a stripped-down offshoot of the site's original code that was only designed to index files, and images and display static pages, which I used for another project, and got that running under XAMPP.

It didn't take very long after that before I was able to retrofit the code for the LFA so that it had feature parity with the site.


Main Site Migration

One motivation for developing the LFA has been the vastly increasing cost of storing any decent amount of data on shared hosting.
This occurred as a result of almost every provider migrating from physical web servers to virtual servers running on hosts designed to handle more lucrative cloud compute workloads.
These hosts typically have very low storage latency but also very low storage capacity meaning that fewer decent-sized hosting accounts can be accommodated on any given server.

With shortages of memory, storage and compute components only continuing to worsen, I can see costs of shared hosting increasing even further.

To prepare to migrate the content of the main site across to the LFA home server, it made sense to have Dynu handle the xbomber.com domain and point it towards the home box.
I bought xbomber.com a few years ago and it aimed towards the main site, with xbomber.co.uk still serving as the primary domain.

The next step was to enable the MariaDB service and migrate some of the databases from the main site to the LFA server.
Once the main site DB was migrated, it was possible to migrate the whole site logic and get it running under XAMPP.

The "Other" section of the site was migrated across so that I could see how well XAMPP would handle serving that section.
It was also possible to move the file structure for Sphider and its database across, and get it indexing the section that had been brought over.


Hardware Configuration

It's a bit of a coincidence that my home server got called "Crystal" back in 2012, as it's Krystal Hosting that's done my webhosting since 2003. At the time when I built Crystal, xbomber.co.uk was hosted on Peter Lewis' gibbering.net, which was an offshoot of the illicitdev project. It wasn't until 2014 that the site went back to Krystal hosting.

Crystal was named after Crystal Kane from Centurions.


Network Configuration

Our router is just an ISP-supplied one, but it does have the option under its 'advanced' settings for DMZ mode, where you specify the IP of a machine on the local network and the router will forward requests over port 80 and 443 to it.

With the house being big and old, Wi-Fi doesn't work in every part of it, so we use Netgear Powerline to connect a Netgear extender and the XAMPP server.


Software Configuration

Crystal runs XAMPP, which provides an Apache server for file-serving, PHP for server-side scripting and MySQL/Maria DB for databasing. It also gives you FTP and a few other helpful features, such as phpMyAdmin for DB maintenance.

The XAMPP sits on the machine's M.2 drive so it should always respond quickly.
Crystal's mechanical drives spin down after long stretches of inactivity to conserve power and take a few seconds to spin up when they receive I/O.

XAMPP and Dynu client start automatically as services in the event of a system restart. XAMPP kicks off the Apache and MySQL services on start-up. So it should recover nicely if Microsoft decides to spring further updates on Windows 10.


DDNS and SSL

To compensate for occasional changes to the router's external IP, the Dynu client runs on the box to check the external IP and update Dynu's nameserver records for xbomber.com and crash.ddnsfree.com to point to the new IP, if needed.
Dynu Client is configured to check every 60 seconds and DNS changes seem to propagate within a similar length of time.

Dynu also helps you to create certificate authority-signed SSL certs for domains that it manages. That way, you won't see any privacy warnings in the browser. The below article makes adding the CA-signed to XAMPP nice and straight-forward:

XAMPP SSL Configuration and Installation Guide for Windows

Data Protection

Databases

Backing up and restoring the files that make up a live database isn't possible.
In order to back up the databases, the databases have to be exported. This way, they are saved on disk in an application-consistent way, ready for backup.

SQLBackupAndFTP, is a great utility that triggers the mysqldump.exe to export the MySQL databases.
Backups can be scheduled in its GUI and it cleans up old backups. It also compresses the exported database files, which returns significant space savings.

The free version can export two databases.
I configured it to run every four hours with a retention of 6 months, which may be a bit like overkill.

Once the hostname, credentials and the mysql\bin path are set, if you encounter the error: [DBMS-MSSQL:11006#11007], set the "Generate Statistics Histograms" parameter to "Yes" under the "More settings" dialog.

Mirroring

With the databases having been exported to disk and made application-consistent, FreeFileSync mirrors the whole xampp directory, containing the whole XAMPP configuration and the htdocs directory, from OS volume to the machine's three capacity spindle disks, as well as thumb drives, which I keep in some safe locations.

This way, there is certain to be a full mirror of everything that's needed that can be restored by copying whole directories in Windows Explorer.

Archiving

Mirroring the data every 24hrs doesn't help if you need to restore a file to how it was prior to when the mirror copy was taken.

Given that Windows File History is free and built into Windows and it works, I use that for archiving.
I had a big WD Passport drive free, so I plugged that into the machine so that it can keep a practically never-ending history of changes.
Restoration is very convenient because you can access archived copies either through its own nice GUI that it has now, or through the Previous Versions tab of any file's Properties dialog box.


Performance

To try and make sure that the site wasn't going to hit any performance bottlenecks, I tested the site over lot of different networks and VPNs to test the parts of the site that are hosted from home and they would always run quite snappily.
In synthetic tests, the upper end of the range of performance values overlaps the lower end of the spread of values that you get from Krystal.
Sustained download speeds are comparable between the two sources as well.

This was done over the course of a number of months which was important to get a good series of samples.
It was also useful to increase Crystal's areas of responsibility slowly to ensure that it was going to be a reliable solution for more than just the large file area.

Milestones

2025.08.17 - XAMPP installed, firewall and auto-indexing configured
Mirror of Star Fleet AI upscales and all X-Bomber source code and releases added

2025.09.21 - Dynamic DNS set up, using crash.ddnsfree.com

2026.01.04 - SSL CA-signed cert added to Apache, auto-indexing interface refreshed

2026.06.17 - Blank phpBB installed on Crystal for testing

2026.06.20 - Move Star Fleet file structure to Crystal.

2026.07.05 X-Bomber the Game content moved and consolidated with content from the large file area.
Large file area link removed
SFXB forum database and file structure migrated to Crystal
Note: requires servername changes in database and data_global.php
AnubisBB tested and working
Dynu mail relay tested and working with the forum

2026.07.26 - Performance testing

2026.07.27 - Site database and PHP scripts (re)migrated to Crystal,
xbomber.co.uk traffic redirected to xbomber.com

2026.07.28 - HTML embed used to pull forum status summary for homepage sidebar

2026.07.30 - Database backups running

2026.08.23 - Sphider scheduled indexing running

  • Transfer xbomber.com to Dynu.
  • Enable SSL on xbomber.com.
  • Move site database to Crystal
  • Move site header module and plug-in modules to Crystal
    Site functions tested and working
  • Move "Other" file structure to Crystal and cut over.
  • Transfer sphider installation and database.
  • Crystal Hardware Maintenance
    Install repaired drive, cable and secure optical drive, re-cable case fans.

Images

21 items show / hide Details 
 
 

Directory contents last updated: 2026.08.26

Other

About the Site
Legion of Honour
Ruby
Search
Self Hosting
SFXB Forum
Site History
Site Projects

Church Windows Project

Cool Stuff

Games - Babylon 5 Into the Fire
Games - Descent 3
Games - Fury3
Games - Operation Matriarchy
Games - Recoil
Games - Star Trek Generations

mp3

Photos

Sailphone

Ships - AS-5 Proteus
Ships - CA-FMF66 Blizzard
Ships - Space Above and Beyond

Sketchbook

TV Shows - Dan Dare
TV Shows - Fireball XL5
TV Shows - Firestorm
TV Shows - Lavender Castle
TV Shows - Max Steel
TV Shows - New Captain Scarlet
TV Shows - Slugterra
TV Shows - Stingray
TV Shows - Terrahawks
TV Shows - Thunderbirds 1965
TV Shows - Thunder in Paradise
TV Shows - Xcalibur
TV Shows - Zentrix


Quick Links

Contact
Links
Article list Star Fleet Teams
Theme Select

This site and content is unofficial; © 2002-2026 Piers Bell and other authors.

Star Fleet, X-Bomber et al. © Enoki Films.