Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Setting up an Aura Kingdom private server: A beginner-friendly guide

Junior Spellweaver
Joined
Mar 22, 2016
Messages
192
Reaction score
32
So you want to set up a private server?

*Horray!*

Welcome to one of the most painstakingly frustrating past times. I am not telling you that to discourage you. I am telling you that so that you know EXACTLY what you're getting into. The MOMENT you download server files and start digging into the guts of how these games work, you are now a developer. This title comes with all of the positive, and negative, connotation.

If you're reading this guide, you've likely decided that you wanted to set up a private server, yet when following some of the instructions, you have absolutely NO EFFING CLUE what's being said.

"Bash? What's that? Chown? 777? I just wanted to start a server man!!"

Well if the idea of creating a virtual machine, connecting to linux using a terminal client, and possibly navigating SQL using queries makes you nauseous, you've come to the right place my friend. I am here to help supplement your knowledge on setting up and configuring an Aura Kingdom private server.

//========== PLEASE NOTE =============//
This is NOT a step by step guide to configuring a server. This is a complimentary guide for those inexperienced or completely new to linux, virtual machines, SQL and other topics discussed in the actual guide to configuring the server.
//=================================//

"So if you're not going to show me how to configure a server, how am I supposed to use this guide?"

That's an excellent question. Find the guide of your choosing (For Aura Kingdom, there's only one really popular guide, Eperty123's guide) Then open a new tab and open this guide. Keep this guide handy in case a topic is mentioned that you do not understand (like compiling shell scripts or navigating the databases using command line (CLI/Command Line Interface). I am going to try and follow the flow of Eperty123's guide so that way if you're jumping back and forth, what you're looking for here will be somewhat of an indicator as to what step you're on in the guide. So with all of that out of the way, let's get into our first topic.

#Virtual Machines#

Virtual machines are basically emulators for operating systems. They can accommodate a wide array of operating systems from Unix, Linux, Lindows, ReactOS (Open Source Windows Alternative) and even windows from 3.1 all the way up to Windows 10. It uses software that has the capability of pretending to be hardware and functions the same.

#Virtual Box/VMWare Player#

Virtual box or VMWare player are host applications. These are the programs you are going to use to create your VM (Virtual Machine) There's not really much more explanation for these applications. Your VM needs this software, otherwise it will not work. Simply downloading a vdisk image is not enough.

If you're building the virtual machine from scratch, you will need to follow Eperty123's guide. This guide walks you through the process of selecting the host media. You can then skip ahead to #Linux# unless you want to continue just as an informal FYI.

#VM Images#

These are popular in the Pserver community. Essentially they are EZMode servers. Someone has already done the configuration and installation for you. All you need to do is import the image and in almost 30 minutes (Varies from platform to platform but you get the idea) you can have a server up and running. Since Eperty123 is using Virtual Box, I will go over the two most popular types of images you will find:

*.vmdk
*.ova

One will be a blue cube icon, and one will be an orange cube icon. Depending on which one of these you got, it can change your installation process and possibly mess up your ability to follow along with the guide and confuse you. Again, that's what I am here for.

For *.ova (Open Virtualization Format Archive)

This is pretty much the whole shebang in a nice, neat package. All you need to do is click "File" then "Import Appliance" and follow the guided steps and poof. Instant VM.

For *.vmdk (Virtual Machine Disk Format)

This is the less user friendly option. You will need to follow along with the guide with one exception: You will be using advanced mode instead of guided mode. Everything is essentially the same except the options for the Virtual Disk Drive at the bottom. You're going to select "Use an existing virtual disk file" and click the little folder icon at the right of the window. Navigate to where you keep your VMDK file, select that, then hit create.

Not super complicated, however this will throw people off. Especially if they are following a guide to the letter.

Now that you have a linux ISO (CentOS in this case) let's get down to business. Fire up your Pserver in Virtual Box, then buckle your seat belt. Things are about to get wild.

#Linux#

This is likely going to be the bulk of the guide as you will be doing almost all of your configuration work in Linux. Now at this stage in the guide, you are getting your server online. Because you don't know what the IP is, you cannot use a terminal client. You will be logging in on the tiny little window that popped up when you hit the Start button in Virtual Box. That's okay.

When it's finished loading, it's going to ask for a username. The username is root by default. If you've installed this from scratch (Following Eperty123's guide) you would have set this password during the CentOS install. Enter that password and you should be good to go.

If you are using a VM image, the root account would have been set up for you. This is normally included in documentation either on the site or from whoever created the image. If you are using a community release (Tuan565) the password is antiroot.

After logging in, you're going to see "[root@machinename]#" This is the shell. In the windows world, it's called the command prompt. Get familiar with it. You're going to be doing most of your work here.

The first command is ifconfig. "if" is interface, "config" is, well, configuration. Nothing too complicated here.

Once you have the IP, you can use your terminal client of choice. You can use SecureCRT, as the guide says, or if you have another preferred client, you can use that. I prefer PuTTY. The guide also mentions using Navicat (For accessing the SQL tables) and WinSCP (For remote file structure). I used the native SQL functionality in postgreSQL (which I will be walking you through here) and Filezilla.

Using WinSCP/Filezilla, the guide states to change the permissions of the root folder to 777. This is an extremely important step. Linux is heavily permissions based when it comes to accessing files and folders. In WinSCP (or FileZilla) you will be changing the properties for the root folder. MAKE SURE YOU SELECT THE "RECURSIVE" option. Recursive means it applies to the root folder and every single folder and file inside of the root folder. If you do not do this, you WILL get database access errors later.

#Linux - Navigating the file structure#

There are only a few commands you need to remember in linux in terms of navigating the file structure:

CD (Change Directory)
LS (List Contents of directory)
CD .. (Go back one level)
CD / (Go back to the top level of the file structure)

Because the guide is going to require you to edit files in linux, you're also going to need to know how to use vi

vi <filename> (opens file)
i (changes from read only to insert mode)
u (undo changes. Hit u repeatedly to undo multiple changes)
ESC (Leaves insert mode back to read only)
:x (Quits vi, saving changes)

vi is a text editor in linux. when you open a file in vi, you're in read mode at first. Hit the "i" key to go into insert mode. When you've made the changes you need to make, hit "ESC" then type in :x to quit vi and close the file. It will dump you back to your working directory (The directory you opened the file in)

vi is a powerful tool. Because this isn't windows, however, you can open EVERYTHING in vi. Be mindful of what you're opening. If you open a binary file (application) in vi and accidentally insert text, then save the changes, you can BREAK the application. A good rule of thumb: If you vi a file, and all you see are wingdings and goboldeygook, you opened an application. :x out immediately.

when using the initdb command, you're going to run into an error. It's going to refer you to a different command. Just change out "service" with "systemctl" and it should initialize the database.

#Linux - Users#

The next steps involve you creating a superuser for database modifications. You can do this, or you can leave it default. I am not sure what the default password for the "postgres" user is, as I was unable to install PostgreSQL myself. However once you switch over to postgres and log into psql, you can change the password.

SU is the switch user command. You normally do this when switching over to user accounts that have a different function than your current user. postgres is the SQL super user.

su postgres

Now you will notice this gets you a different shell. This is because postgres has different rights. Typing in psql will then log you into the database.

If you get an access denied error, this is because you did not set your folder permissions in root properly. Go back to WinSCP (Or FileZilla) and right click on root, go to properties, or permissions, and select 777 for the access and "Recursive" to make it apply to all folders.

#SQL#

Once logged into the DB, follow the guide. Here are the SQL commands you're going to need to know for the next steps in the guide. Keep the following in mind: Any SQL query MUST end with a semicolon (;) otherwise the query will not execute. Also when entering information into databases, the new information must be surrounded by ' ' otherwise the query will error out. See below for example:

INSERT INTO accounts (username,password)
VALUES ('pagefault404','test');

If your SQL query is being a pain in the butt. Ensure that all new values have a ' ' surrounding them and that you're ending your query with a semicolon.

\c <database name>(Connects to specified database)
INSERT INTO (Inserts new data into a database table
UPDATE (Updates existing information in a table)
SELECT * FROM (Shows you all information in a table)
DROP DATABASE "db name" (Removes Database)
\dt (Displays all tables in a database)
\l (Lists all databases)
\q (Quits back to Bash)
exit (When in bash will drop you back into root shell)

Databases can be complicated for new users. Think of them like this: The database is a big empty box. Tables are folders inside of that box. The Tables hold the information you want.

If you somehow screw something up, while logged into psql, type in

DROP DATABASE "dbname";

The "" means the DB name is case sensitive. If psql is telling you the database doesn't exist when it clearly shows up when you type \l, you need to use "" and specify the exact case in the spelling"

To update information in a table, you need to know what table and data you're modifying. Let's use the worlds table as an example

\c FFAccount (Connect to FFAccount)
You are now connected to database "FFAccount" as user "postgres"
\dt (Displays tables so you know if you're in the right database or not)
SELECT * FROM worlds; (Shows the current data in the worlds table)

From here, you determine that you need to update the IP as it's wrong. Your server IP is 192.168.1.100. The listed IP is 192.168.1.50 so you will update the database by doing the following query (To expand your query to the next line down, hold down shift and hit enter):

UPDATE worlds
SET ip = '192.168.1.100'
WHERE ip = '192.168.1.50';

You will likely get a message like this

UPDATE 2 entries

Then it will return you to your prompt. SQL queries are a lot easier than you might believe. If you have ANY problems with SQL query related issues, refer to

If you have any problems with the postgres account (Don't know the password for the setup.ini) you can change the password for postgres by typing

ALTER USER <username> WITH PASSWORD '<password>';

This changes the database password for database users.

This is all I can think of for right now. It's 0743 here and I was up all night for the second night in a row trying to get AK to work. Please please please ask all the noobie questions you want here. Even if it's about the errors you get when trying to configure the server. I will do my best to try and help you out. I will also update this as often as I can with new information, formatting, or whatever.

Setting up a Pserver as an untested novice is an extremely daunting task. However the more you work at it and the better you get, the easier it gets.
 
Last edited:
Back
Top