Feb 5, 2015

Version 36 Update Notes

Client release 12.
Late documentation of the Version 36 final edition update.

Contains server and client changes for a better public release. No new content. Includes some old changes from before I stopped development around June/July 2014, plus several relatively minor bug fixes.

Recent server changes:
- Added an extra layer to password security.

- Added account recovery keys to protect registration keys.

- Fixed some file distribution logic that was preventing alternate ports from working properly.

Old server changes (now implemented):
- Enhanced the ScriptScore system. Some improvements to the core instruction set and flow control, such as nested conditional commands and queued event jumps. AI Scripts, Instance Scripts and Quest Scripts now share the same core. Makes scripts easier to write with unified logic controls.

- Rewrote/tweaked some of the code for mob tether movement.

- Added code for item set bonuses, but data is not implemented (never tested or finished).

- Many small code improvements, fixes, or deletion. Nothing substantial.

- Modified stats on the minions for "It", reduced health, some damage, and removed Nefritari's Aura from the minions. The quest line was never finished.

Client upgrades:
- Added a hack to the scenery load phase that should help reduce load screens when crossing tile boundaries.

- Added a hack to change the login screen from Email to Username since apparently this confused tons of people, including some long time PF veterans. For shame.

- Added a hack to allow launching the game by targeting a specific HTTP port.

- Added a hack to change the router port (for specific hosting needs).

- Changed how catalog files work. Original files are left intact, and modifications are merged into the existing table.

- Fixed a broken asset dependency that prevented Hall of Bones from loading correctly (original had a typo).

- Added missing CAR files, plus extra files from 0.8.8 and 0.8.9 to the master list. Not all of them are usable, but ensures that Download All grabs everything.

Added the following assets from 0.8.8:
These files were merged into the PF 0.8.6 catalog tables:

-- Item Attachments --
Item-1hAxe-MiningPick
Item-1hMace-Epic6
Item-1hSword-Epic3
Item-1hSword-Epic4
Item-1hSword-Epic6
Item-Dagger-Epic6
Item-Dagger-High3
Item-Epic_Axe_Wing
Item-Hat-Anubian_Headdress
Item-Shield-Anubian1
Item-Shield-Anubian2
Item-Staff-Epic3
Item-Staff-Epic4
Item-Staff-Epic5

-- Props --
CL-Garden_Fence_BigSquare
CL-Garden_Fence_Circle
CL-Garden_Fence_Corner
CL-Garden_Fence_Oval
CL-Strange_Device
Prop-Backdrop
Prop-Desert_Dolmen
Prop-Cage
Prop-Tent_Earthrise

-- Creature Models --
Horde-Beast_Catapult
Horde-Strange_Device
Client Router Port Hack
The hack only needs to be used if the server administrator is running the server's router connection on a different port than 4241 or 4242. Such as if the default port is blocked for whatever reason, or if hosting two versions of the server on the same host machine.

At the login screen, the client attempts to make the router connection to a specific port, which is responsible for retrieving the gameplay simulator connection. Normally this port is hardcoded to 4242, although some client versions use 4241. The client Planet Forever Release 12 patch contains a hack that allows changing the router port to something else entirely.

Go to the client folder where Spark.exe is located. If you have attempted to launch the game at least once before, there will be a cache folder. In this folder will be subfolders for the hosting domain that you tried to log into, like planetforevergame.com or localhost if launching locally.

Side note: If you launched using a custom port, it will have something extra in the folder's domain name, like localhost Q. This is because the client does not natively support launching to a URL with a specific port (like http://localhost:81/Release/Current/EarthEternal.car). The extra letter is the ASCII representation of the port number (P, Q, etc correspond to port 80, 81, etc)

In the domain subfolder, create a new file called Router (case sensitive). It must be a plain-text file, but make sure it doesn't have a filename extension (you may need to set your operating system to always show file name extensions). Alternatively you can copy an existing cookie file, rename it Router, and delete the contents.

Open the new file Router in a Notepad, and paste in the following line:
{["mod.router"]=4241}

Or choose whatever different port if not using 4241. Close and save. Now launch the client again. It will now try to make the router connection using that port. Note that as long as this file exists, the router hack will be working behind the scenes. If the hack is no longer necessary, delete the file.