Configuring Athena

Notes:

  • Import folder is used.
  • Athena is assumed to be in /home/user/Athena.
  • /home/user/Athena/conf/import directory is used wherever possible.
  • If you are using Athena TXT, skip SQL steps.
  • Use Kwrite or your favourite editor.

Edit grf-files.txt:

  • Delete those two active lines
  • Add grf: /home/user/grf/data.grf
  • Add grf: /home/user/grf/sdata.grf
  • If applicable, add data_dir: /home/user/grf/Data
  • If applicable, add grf: /home/user/grf/adata.grf

  • Important: For Athena with mapinfo.txt, add sdata.grf line only for the first start-up run so that the map cache (mapinfo.txt) will be rebuilt according to information found in your sdata.grf. Athena will delete most maps if you were to add your custom grf configuration line.
  • Example:
  • Note: You can actually run Athena with this example file.
    grf: /home/user/grf/sdata.grf

Edit lan_support.conf (Use subnet_athena.conf if applicable):

Important: lan_support.conf has been replaced by subnet_athena.conf from SVN-55xx. If you do not have lan_support.conf in your Athena package, use subnet_athena.conf.
lan_char_ip: 192.168.1.101
lan_map_ip: 192.168.1.101
subnet: 192.168.1.0
subnetmask: 255.255.255.0

Edit subnet_athena.conf:

subnet: 192.168.1.0/255.255.255.0:192.168.1.101:192.168.1.101

or
subnet: 255.255.255.0:192.168.1.101:192.168.1.101

Go to /home/user/Athena/conf/import:

  • Edit login_conf.txt (This setting is deprecated from SVN-5xxx)
    • Add: login_ip: 127.0.0.1
  • Edit char_conf.txt
    • Add: login_ip: 127.0.0.1
    • Add: char_ip: your public IP or myhost.mydomain.tld
    • Add: char_ip: 127.0.0.1
    • Add: map_ip: your public IP or myhost.mydomain.tld
    Important: login_ip configuration line in login_athena.conf has been deprecated from SVN-5xxx.

What have we got?

  • At this point, Athena is configured as a 1/1/1 server with all it needs to start running and to be accessible from the internet using the Test account in TXT version (account.txt) or myname account in SQL version. You should fine-tune Athena by editing its configuration files, preferably using the import folder, activating or deactivating NPCs, and introducing features. You should also think of ways to secure Athena.

Anatomy of Athena SVN configuration:

Athena TXT databases:

The save folder is the data storage of Athena TXT. With the exception of account.txt which may be edited initially for security reason, you should not meddle with those files. Of course, you should backup regularly.
After Athena had been started for the first time, you would have had the following files:
  • account.txt
  • accreg.txt
  • athena_backup.txt
  • athena.txt
  • castle.txt
  • friends.txt
  • g_storage.txt
  • guild.txt
  • mapreg.txt
  • party.txt
  • pet.txt
  • scdata.txt
  • storage.txt




Q&A

But I have a dynamic DNS domain...

Replace your public IP with your dynamic DNS domain name.

But I wanted a LAN-only server...

Replace your public IP with private IP of Athena host.

Why is 127.0.0.1 used instead of LAN IP?

The choice of localhost (127.0.0.1) is to split the Athena process into three segments, namely localhost, local net and internet, to help identify the faulty segment if an error occurs. Athena will always run on localhost, therefore a failure at localhost indicates a faulty Athena build. Local net connections will always succeed, therefore a failure indicates local net problem. Internet connections are forwarded by the router to local IP, therefore a failure indicates problem with port forwarding, firewall or DNS (if used).

Can I change other setttings in the .conf files?

Certainly. It will be better if you could make changes in the import folder. That way, you just copy the whole import folder, grf-files.txt, lan_support.conf, motd.txt and (for Athena TXT) GM_account.txt and put them into the future revisions of Athena instead of doing the configuration again.

What is an offline server?

Funny, I want to ask the same question too.

How do find out if my DNS is working?

You can see it from the server consoles. Login server will show the connecting IP of char server somewhere towards the end of its output. If that IP is your public IP, then your DNS is working. That is subject to your using domain in char_conf.txt and map_conf.txt.
Alternatively, you can obtain your public IP from sites like www.ipchicken.com and www.whatismyip.com and compare it with the output of nslookup (Windows) or dig (Linux).