There is currently a small DDoS attack going on, so please be patient about the uptime.
HammerHost dedicated server hosting service
| |
|
Table of contentsIntroductionImprovements from HamHostControl panelGet a server slotOur users
IntroductionHammerHost is a service which hosts your dedicated Blockland server for you.The idea is that it's much more efficient to host multiple Blockland servers on one computer at one location, instead of each player hosting their own server at home. The advantages include:
- Higher-bandwidth Internet connection and lower ping
- A custom control panel for remotely managing your Blockland server
- More CPU and RAM resources
- No need to worry about port-forwarding and router issues
The HammerHost server computer itself is located in New Jersey, U.S. It is on a Verizon FiOS business network, which uses fiber-optic cables right up to the house. This means despite the system being on my home network, the latency will not suffer much.
The system also has an
AMD FX-6300 hexa-core CPU @ 3.9 GHz, and
12 GB DDR3-1600 RAM. The resources are specifically balanced so that the hosting service's Blockland capacity is scaled to 75% of CBMhost's. The motherboard itself can support up to 32 GB of RAM, but I would have to upgrade to Windows 7 professional first.
Improvements from HammerHost"HamHost" was a past hosting service I made in 2013, which lasted from early August to early November. Unfortunately, the infrastructure was poorly designed and I did not spend enough time doing things the proper way. When programming HammerHost's systems, I spent more time and effort, making sure not to repeat last year's mistakes.
Web control panel instead of .exeThe first difference former HamHost clients will notice is that the control panel is now on a web page. No more downloading programs, and most importantly, you can now access the control panel on any electronic device. Web pages can also be updated instantly from the server, and you do not need to run the HamHost launcher anymore to check for updates and execute them. The web server used is Apache Tomcat 7, so that means all HammerHost programs are written in the Java language, and I use JSP for the dynamic pages. No more of HamHost's Node.js!
More robust console output systemThe remote console feature on the HamHost control panel was the least reliable one. After logging in and out of the c-panel, the output stream of the Blockland server would be lost. It was guaranteed to break if you logged out at least 4 times, and you had to restart the BL server to get things working again.
That is why my first design improvement was to isolate the portion of the c-panel server program which deals with console output, and to put it on it's own server. So there are three separate servers: the Apache web server, the main HammerHost CP server, and the console HammerHost CP server. This lets me update 80% of the code without shutting down the console HH CP server (shutting down leads to a loss of the R. console streams), so it's easy to remove bugs and add new features without shutting down the console HHCP server.
JSON data interchangingThe HamHost control panel system used to send messages by separating "words" with the characters "!@#". It both had a sailor's mouth and was hard to read the responses and commands. Lub suggested this:
You could probably improve the panel by using a data interchange format such as JSON or XML.
So when I was constructing the programs of HammerHost, I followed his advice and organized data in JSON objects. Not only did it make the code easier to debug, but it is easier to parse than my old custom text-based interchange format. This is a step toward using standard technologies/libraries instead of creating poor unorganized ones myself.
Control panelThe new web control panel contains a lot more features than HamHost's old panel, and they are more reliable. This is the first tab of the c-panel's page:
From the "Server chat" pane, you can send and receive chat messages remotely. The "Boot" pane lets you start, stop, and update (update = run BlocklandLauncher.exe) the BL server.
The next tab is for the remote console:
In the "Live remote console" pane, the output of the BL server is streamed with a 400ms.-delay. The text area to the bottom is an eval box, for inputting commands.
Every time the BL server closes, the HammerHost c-panel system compresses the console.log file, and stores it in the "/HammerHost_consoleArchives" folder. You can download the .zip archives from here, after pressing the "Refresh list" button.
The next tab is for management of add-ons:
The "Upload add-ons" pane lets you choose .zip add-on files and upload them to the BL server's "/Add-Ons" directory. The "Enable/disable add-ons" pane lets you turn on, turn off, or delete any add-ons or music files.
To get the list, press the "Refresh list" button, and to apply changes, press the "Apply changes" button. The add-on list can also be managed by connecting with an FTP client, downloading the /config/server/ADD_ON_LIST.cs file, editing it, then re-uploading the file to /config/server/ with FTP.
Get a server slotThe hosting service is completely free for now, and sign-ups will start tomorrow. But you can still submit an application right now.
For now, 10 slots will be open, until I determine how stable things are, and the initial set of clients learn how to use the control panel. To apply, just send a PM to my account, in this format:
- In-game name
- In-game BL_ID
- E-mail address
- Desired password for your hosting service accounts
- What kind of authentication you want (shared Steam or manual BL key)
Requirements:
• Know how to use an FTP client. Any client is okay, but Filezilla is the best.
Help video• Outgoing ports 3002 and 3003 (TCP) must not be blocked by a firewall. To test, go to the HammerHost site:
http://www.hammereditor.net:3002/.
• For Android mobile phones released before early 2013, the control panel may not work because it requires web socket support. You will have to use a different electronic device.
Types of authentication methods:
Shared Steam: If you feel insecure with your Blockland key, you can decide to have your server run under my Steam account. However, the name will start with "HammerHost's".
Manual BL key: This method is the one which most users chose so far, and the BL server will run temporarily under my Steam account. After that, I will e-mail you saying you need to activate the server. You then join, and input the product key using chat eval. After this, you tell me, and I will switch the authentication method so it is now under your name.
Automatic BL key:
This method is not available yet. This will come in the near future, at the same time when I create a web page for registering. Unfortunately, I cannot ask for plaintext Blockland keys over forum PM or e-mail, unless it's directly inputted into a web page.
If you do not have a forum account, send it by e-mail.
Our users Buttman: | Whirlwind: |
Nal: | Hammereditor: |
Caribou: | Monkeyfunky: |
Nails: | Renderman: |
Deadzone: | TristanLuigi: |
Outpact: | Panquake: |
Boodals: | Ardenlo7: |
Ahead: | ReeCocho: |
Ghoststar: | SwissJosh: |
Crispy: | TheHellSpy: |
Blok: |