Sep 22, 2026

Tutorial — set up your guild website step by step

Back to blog

This tutorial assumes a decision you already made: the guild site will live on hosting, with your files, not inside a builder. If you are still comparing the two, read dedicated hosting versus builders first. If you have chosen, the path below goes from zero to an HTTPS address with the minimum pages.

Here, Battlehorns is hosting for gaming communities — guilds, clans, and esports — not the metal band. The reference free plan includes a subdomain, PHP 8.3 by default, one MariaDB database, one FTP user, Let's Encrypt, 700 MB of SSD, and 5 GB of monthly traffic. Confirm the numbers on shared hosting the day you order. The context for those limits is in free guild hosting.

Create the account

  1. Open register and sign in with the Discord account the guild should tie to the officer in charge, not a personal account you will lose.
  2. Confirm the name you want on the platform. That is the client-area name, not necessarily the public site title.
  3. Read the terms, especially free-plan quotas, subdomains, and backups. Backups are yours.

If the guild's Discord owner changes later, client-area access has to change too. Note who holds the FTP password and the account. Do not paste them into the officer channel.

Choose the subdomain

On the free plan the address is name.battlehorns.net. Choose name as if you would say it out loud in a trial: the guild name, short, no spaces.

  • Lowercase letters, numbers, and hyphens only. Up to 63 characters. No double hyphen. Not digits only.
  • Reserved names include www, mail, ftp, admin, api, and support. The order rejects them.
  • guildname beats test123. The name stays in bios and league sheets.

The order is placed in the client area, under orders, after you look at plans on hosting. Select the free plan if you want zero cost. Accept the terms and submit once. If an error appears, read it.

Provisioning creates the site, the FTP user, the database, and the certificate. When it finishes, store the FTP host, user, and password somewhere that is not Discord.

The database

There is one MariaDB database. Enough for applications and a handful of news posts. Not enough for a forum, a wiki, and a gallery at the same time.

In the client area, open phpMyAdmin for that hosting. Create only the tables you need. For applications: in-game name, role, region, hours, a profile link, and a short note. Do not ask for the game-account password. Do not ask for a phone number on the first form.

  • Connect with PDO or mysqli and prepared statements. mysql_connect does not exist on PHP 8.3.
  • The database password stays out of public repositories.
  • Export a dump before you run installers. A script run twice can wipe the week's table.
MariaDB logo
The free plan's single database stores the tables you create. Image: Wikimedia Commons.

If the guild has no form yet, you can skip the database on day one. A static index.html already justifies the address.

Files and SSL

  1. On your PC, create a folder with index.html, a CSS file, and an empty img folder.
  2. Upload those files into public_html, not into the account root if the client shows both.
  3. Open https://name.battlehorns.net. Let's Encrypt for the subdomain is issued with provisioning. Do not buy a separate certificate for this name.
  4. If you see a directory index or a default page, index.html is in the wrong place or an index.php is winning. Keep one index.
HTML5 logo
The first upload can be HTML only. PHP arrives with the form. Image: Wikimedia Commons.

Export images at 1600 px as JPEG or WebP before upload. The disk is 700 MB. A backup.zip inside public_html counts toward the quota and can be downloaded. The longer FTP guide is HTML, PHP, and FTP. Use relative links or HTTPS. Mixing in http:// breaks the padlock.

Essential pages

  • Home — name, game, schedule in one sentence, a button to Discord or to the application.
  • Rules — what is required and what gets you removed. Short.
  • Recruitment — who you want, what you offer, how to apply. The page that converts is in recruitment and the member panel.
  • Members — either a short true list, or a link to GuildOps for people who already joined. Do not publish two lists that contradict each other. The app is explained in GuildOps.

On a phone, all four must read without horizontal zoom.

Connect Discord

The site is the address. Discord is the room. On the site, one button, with the invite you control (preferably one that does not expire in an hour). When the invite changes, you change the button. In Discord, the rules channel points at https://name.battlehorns.net. The pairing is described in Discord and your website.

When the first upload fails

Three failures cover almost every first-day ticket. The file went to the wrong folder: the FTP client shows the account home and public_html inside it; the site only reads the second. The browser shows old content: force a refresh, or you are editing index.html while the server serves index.php. The padlock is missing: you opened https:// on the subdomain you ordered, not a name with capitals or www in front.

If the database refuses the connection, use the database name, user, and host the client area showed. Do not use localhost only because a generic tutorial says so. And do not run a WordPress installer "just to see" before you measure the size: demo themes blow past 700 MB.

Final checklist

  • Account created and free plan active on the right subdomain.
  • https:// opens your index, with no certificate warning.
  • Rules, schedule, and how to join are visible without a login.
  • FTP and the database password are not in chat.
  • Images resized. No backup zip in the public folder.
  • If there is a form, you tested it yourself and exported a dump.
  • Discord points at the site. The site points at a valid invite.
  • You know who updates the page next week.

If FTP or the certificate fails, open a ticket at support with the subdomain and a screenshot. When you need your own name, the step is a paid plan and a domain, as in a custom domain. If you change your mind about builders, the comparison continues in Battlehorns, Guildtag, Shivtr, and Guildwork.

In this series: free guild hosting, hosting or a builder, the hosting guide, GuildOps, the setup tutorial, the platform comparison, and recruitment that converts.

Comments (1)

Anti-spam powered by Cloudflare Turnstile.