Tethealla Server Setup Instructions

Sodaboy

Administrator
Staff member
Setup instructions for Tethealla PSOBB server:

Login Server (SQL version) @ https://files.pioneer2.net/spsos_login_v.047.zip
Login Server (.DAT version) @ https://files.pioneer2.net/spsos_login_v.048_nosql.zip
Ship Server @ https://files.pioneer2.net/spsos_ship_v.143.zip
Source Code for everything @ https://files.pioneer2.net/tethealla_source_032111.zip

See the individual notes inside of each archive for details.

For those who need instructions on how to set up the login server, you basically do this:

1. If using the .DAT version, skip to step 6.

2. Install MySQL on a machine. Whether it be Linux/Unix/Windows or whatever, it needs to have MySQL running on it from an accessible port. (For security reasons, you really should have the login server and MySQL server running either on the same machine or AT LEAST on the same network... don't access a MySQL server from the internet...)

3. Add a new MySQL user (don't use root as that'd be noob)

4. Create a new database and import the tables from sql\pso_server.sql into the database.

5. Give the new MySQL user permission to read, write and delete from these tables. Also give the MySQL user access to the MySQL server through whatever host it's going to use.

6. Configure the login_server parameters by editing the tethealla.ini at ini\tethealla.ini Once done with that, copy the tethealla.ini from the ini folders into the same folder as login_server.exe and account_add.exe

7. Run account_add.exe and add the first account. (This account will, by default, be granted global GM as it's the first account on the server...)

8. Run make_key.exe to generate your first ship's key binary file. (This will also import the key into the SQL table with the appropriate index ID...)

9. The ship_key.bin file generated by make_key.exe should be copied into the folder of your first ship's ship_server.exe

10. Edit the welcome.txt in the ini folder then copy it into the same folder as patch_server.exe

11. Run patch_server.exe

12. Run login_server.exe

13. Run ship_server.exe, all should be well. (Provided you already did all the appropriate configuration of ship.ini to connect to the new login_server)

14. Download the unpacked PSOBB executables and hex edit in your IP address.

https://files.pioneer2.net/TethExes010710_PW.zip for the v1.25.10 executables for both Vista and XP. (Password for ZIP is "pioneer2". Had to put a password due to Google flagging it as malware even though it's NOT.)
https://files.pioneer2.net/TethExes12513.zip for the v1.25.13 executable compatible with both Vista/7/8 and XP.
https://files.pioneer2.net/Tethealla_PSO ... Client.rar for complete client including the v1.25.13 executable compatible with both Vista/7/8 and XP

15. Distribute modified EXE to all of your connecting clients.

16. Make sure you've opened up port 11000, 11001, 12000 and 12001 for your login server on your firewall and if you wish players to connect externally configure NAT on your router to point these ports to the IP address hosting the server.**

17. Make sure you've opened ports 5278, 5279, and 5279+the number of blocks you're hosting in succession on your firewall and if you wish players to connect externally configure NAT on your router to point these ports to the IP address hosting the server.**

18. Have clients connect!


.. Hopefully I didn't miss a step.

The .DAT version of the login server has a hardcoded limit of 2,000 accounts. I didn't code any checking but if you attempt to exceed that number of created accounts, the program will crash. (Because I forgot to add in a check for that.. :D)

I'll probably remove the limit later.

If you're serious about setting up any sort of heavy traffic server, you should definitely be using the SQL version (IMHO).

**Your router will need to support loopback NAT for this to work. Check the manufacturer of your router to confirm this.

... Some updates coming soon!!
 
Last edited:

larva

Member
Updated EXE.

probably everyone running a Teth server already has this, but in case you dont. This exe simply the life of having different exe's for different OS.

Quote From Lee Post.

Gameguard Patched
Multi-Client Patched
Ime for XP, Vista and 7 in 1 exe patched. (No need for 2 exe's anymore).
Soda modifications tethella blowfish startup and default table patched.
DNS is set to local host 127.0.0.1
Version string patched to TethVer12513
Patched user name and password to 16 chars

To use this exe you must recompile your logon server so the following line in login_server.c



Code:
*const char *PSO_CLIENT_VER_STRING = "TethVer12510";




says



Code:
*const char *PSO_CLIENT_VER_STRING = "TethVer12513";




Thanks:
Larva for going and getting the exe.
Schthack for his ime patch.
Laura for testing vista.
cat fgt for testing 7.

I don't know what fixes sega made to this but someting about windows 7 blah blah blah

You're welcome :p

Posting this where ever someone may see it since sodafgt took his forum down in a pissy rage.

download link *link updated*
updated again:
http://www.mediafire.com/download/g4wbt ... amefix.rar
 

tofuman

Administrator
Staff member
I'm pretty sure most private servers are now using the latest client created by Lee so I'll get it uploaded to pioneer2.net later.

Thanks.
 

NerdmastaX

Neroziat
did you ever get around to updating the client exe? I ask because I would like to change more resolutions and have things like power mats stackable. Is there offset locations in the hex code i can look for and change to fix those? moreso the item stacking than the resolution.
 

Broomop

Member
just get ultimas exe and unpack it. (aspack unpacker) then compare the bytes from the original teth. Then just do the amendments on the server.
 

tofuman

Administrator
Staff member
I made a launcher for Eden which rewrites the memory in PSOBB before the client launches which enables you to select from as many resolutions as you configure in the launcher. It's inspired by Lee's widescreen modifications but goes about changing the resolution differently. It can also update the HUD resolution which then needs to reposition a crap load of HUD and menu items. There are still things outstanding that I need to fix but nothing game breaking. Kireek did a write up about it on his blog: https://kireekpso.wordpress.com/2014/06 ... -launcher/

The launcher only works with Eden's EXE. But I could always make a generic release launcher for people to use.

Generally making changes to the PSOBB client is straight forward. But you will need experience in ASM to get an idea what to look for when making changes to the game. You can use Cheatengine to make live updates to code which makes making changes much easier and quicker (obviously on your own private server).

Lee did make a util which makes changing the EXE as simple as checking a box. However I'm not sure if he ever got around to releasing it.
 

zeta1

Member
I was just wondering, will the server code be on github at some point? That way updates can spread more easily and issue reporting has the fantastic system built into github to report, trace and fix.
 

Sodaboy

Administrator
Staff member
No, we will never be using GitHub as Tofu despises the thing.

Right now, Tofu and I collaborate through the built in team function of Visual Studio. Not sure if that has a function for public to submit bug reports, but we'll look more into that once we finally get the code ready for release.
 

tofuman

Administrator
Staff member
I *think* it is possible to branch from VS version control but would need to look into it.
 

zeta1

Member
TFS probably has some sort of concurrent version control for large teams, mostly I've used the classical side of it with locked source files when someone edits a class. Looking forward to the public release (and all releases in between naturally)!
 

tofuman

Administrator
Staff member
There are ways to branch it to git I've heard. It'll be something we'll look into when it comes to releasing the code
 

tofuman

Administrator
Staff member
Well it's been pretty much full on. There are only small issues that pop up lately so we're pretty close to releasing it.
 

Neirene

Member
Any ETA on when you will release the newest binaries (it's okay if the source isnt ready yet) but I would like to start to test the new stuff on my local server in the meantime!
 

tofuman

Administrator
Staff member
To be honest we are making changes daily. As you can see from Ephinea its not like we're sitting on a ready to release code and refusing to release it. We just don't think it's worth while releasing binaries/source of the server when they aren't at a completed stage. Since we've uploaded teth to TFS there has been over 300 builds so that will give you an indication of the frequencies of the changes. This is why we haven't given a release date for a while now.

We're working every day on the code and will get it out as soon as possible. Sorry I can't tell you much more than that.
 
Top