WFClassic

A server emulator which allows you to play older versions of warframe, currently 7.x versions are playbable directly. The two 8.x versions require the use of the OpenWF bootstrapper which can be found here OpenWF Homepage.

This work a combination of information from the OpenWF SpaceNinjaServer project, additional reverse engineering of earlier builds, trial and error, and a decent amount of coffee. Currently using .net9 and sqlite for persistence, linux and windows are both supported and builds are self contained, so no runtime install is necessary.

Getting started

Download the version of the game that you'd like to play using the steam console, here is the command to download the 7.9 version

download_depot 230410 230411 6399786153404128119
  1. Unzip the package to your desired location
  2. In appsettings.json , set BuildLabel to the corresponding version of your client.
  3. Run the executable
  4. Wait for the db to be created / migrations complete.
  5. ????
  6. Profit

You can either create an account via the web interface (http://localhost:5000) or an account will be created automatigally for you upon initial login using the waframe client.

In the steam content folder, C:\Program Files (x86)\Steam\steamapps\content\app_230410\depot_230411, run the following

.\Warframe.x64.exe -log -dx11:1 -webserver:http://localhost:5000/api/ -fullscreen

There is also an online server available which supports the 7.9 build that is listed below

.\Warframe.x64.exe -log -dx11:1 -webserver:http://138.197.55.72:5000/api/ 

Currently Tested Versions

Version Build Id Manifest Id Items not working? Notes
8.3.0 2013.07.04.20.17/ 767517711548082020 Requires the use of the OpenWF bootstrapper
8.0.0 2013.05.23.16.06/ 5108594067645371108 Requires the use of OpenWF bootstrapper
7.10.7 2013.05.15.13.37/ 367921302756169619 Build allows for login, but UI does not allow for gameplay. has a set of errors referring to rootNodeEntity in starchart.lua
7.10.6 2013.05.14.10.33/ 5140912318581454574 Build allows for login, but UI does not allow for gameplay. has a set of errors referring to rootNodeEntity in starchart.lua
7.10.5 2013.05.13.15.20/ 1873918047633104541 Build allows for login, but UI does not allow for gameplay. has a set of errors referring to rootNodeEntity in starchart.lua
7.10.4 2013.05.10.14.33/ 609302931784914878 Build allows for login, but UI does not allow for gameplay. has a set of errors referring to rootNodeEntity in starchart.lua
7.10.3.5 2013.05.09.14.56/ 1333808825789667682 Build allows for login, but UI does not allow for gameplay. has a set of errors referring to rootNodeEntity in starchart.lua
7.10.2 2013.05.08.10.59/ 1214562332840994196 This version has some issues loading certain textures, specifically those around grenades and melee attacks. Can only play a single level before needing to restart as the ui freezes
7.10.1 2013.05.06.10.38/ 4151868779723562813 This version has some issues loading certain textures, specifically those around grenades and melee attacks. Can only play a single level before needing to restart as the ui freezes
7.10 2013.05.03.18.06/ 588705282697359018 This version has some issues loading certain textures, specifically those around grenades and melee attacks. Additionally artifact cards cannot be received as rewards as there is a bug which was later fixed in 7.10.1. Can only play a single level before needing to restart as the ui freezes do not not use this version to play 7.10.x as the card thing is impossible to bypass
7.9 2013.04.26.17.24/ 6399786153404128119
7.8.1 2013.04.24.11.45/ 6629234302933135021
7.7.4 2013.04.15.14.48/ 8278491043607750104
7.7.3 2013.04.12.12.05/ 6961091191944066345
7.7.2 2013.04.05.12.20/ 8357063435845098593
7.7.1 2013.04.04.10.09/ 3065430017475545834
7.7 2013.04.03.14.47/ 6180757407260335433
7.6 2013.04.01.16.24/ 1412521350878833822
7.5.1 2013.03.28.17.01/ 5572824118589588358 Grineer corpses disappear after being killed. sometimes. this looks to be a hotfix
7.4.1 2013.03.27.17.06/ 8927238311553521114
7.4 2013.03.27.09.43/ 1958670258248515033
7.3 2013.03.25.11.45/ 9176710083987114410 Oddities with the starchart, least performant of the tested builds.

How to play versions 7.11

7.x builds after 7.10.2 do not work as they seem to either be missing assets or a missing endpoint which causes issues in the client itself. In order to play 7.11:

  1. download version 2013.05.08.10.59 and copy warframe.exe and Warframe.x64.exe to somewhere safe
  2. delete all 7.10.2 files
  3. Download 7.11 ( manifest id 7689210280991293768)
  4. Delete Warframe64.exe and Warframe.exe from 7.11
  5. Copy Warframe64.exe and Warframe.exe from 2013.05.08.10.59 to to 7.11

Features

Nothing related to multiplayer has been added to the code base, and most likely never will. This is due to the fact that I dont want to get sued.

Client Features

This is not a comprehensive list of features, just the ones that really seem to matter for gameplay

Name Area Description Implementation What needs work
Automatic Account Creation Gameplay Upon initial login from client, a new account will be created if one does not already exist Fully
Login Authnz Fully
Logout Authnz Fully
Initial Training and Warframe Selection Gameplay Fully
Complete Mastery Rank Challenges Gameplay Fully
Attach system wide artifact Gameplay Fully This is not actually an api endpoint, but instead relies on returnign inventory correctly
Obtain daily login reward Gameplay Fully This is customizable and uses older documentation for the rewards listing. Current state drop table percentage is not period accurate
Get the world state Gameplay Partially Can be configured via db, alerts work for the most part. operations are not implemented
Validate daily mission bonus status Gameplay Fully
purchase more revives Economy Fully
update taunt state Gameplay Fully
Get updated credits/plat Economy Fully
Purchase Item Economy Fully All items as of 7.10.0
Craft item in Foundry Foundry Fully all known recipes as of 7.10.0 are included
Claim Foundry Item Foundry Fully
Instantly complete item in foundry Foundry Fully
Check build status in foundry Foundry Fully
Get Player Profile (All Players) Stats Partial Some stats have not appeared in the metrics, so some stats might not be correct
Get Kill Leaderboard Stats Fully
Get Kill Leaderboard With User Ranking Stats Partial leaderboard that is returned is the same as the general leaderboard
Get Inventory Gear Partial
Update Inventory Gear Partial Some areas (goals/completions) might not be updated as they have yet to be encountered
Attach mods Gear Fully
Upgrade Mods Gear Fully
Save loadout Gear Fully
Recharge health item Gear Nothing used to recharge a single item that is not available in the base game.
Attach reactors / catalysts to frames/weapons Gear Fully
Purchase new inventory slots (frames and weapons) Gear Fully
Send friend request Friends Fully
Remove friend Friends Fully
Approve Friend request Friends Fully
Get friend listing Friends Partial / Unknown More data might need to be returned. but list works.
Set player avatar Friends Fully
Get Guild Member Listing Guild Very Little right now has hardcoded return object
Create Guild Guild Nothing
Remove member from Guild Guild Nothing
Donate To Guild Guild Nothing
Customize Guild Ranks Guild Nothing
Invite to guild Guild Nothing
Accept guild invite Guild Nothing
change guild rank Guild Nothing
Get Messages (Api) Nothing No idea what this is and it might be a vestigial endpoint
Send Messages (Api) Nothing No idea what this is and it might be a vestigial endpoint
Get Ignored IRC Users Client:IRC
Add IRC User To Ignore List Client:IRC
Remove IRC User From Ignore List Client:IRC

Web Features

Name Area Description Implementation What needs work
Login Web Fully
Logout Web Fully
Registration Web Fully
View player profile No work done
View individual player stats No work done
Leaderboards (player) No work done
Leaderboards (guild) No work done
View player inventory No work done
Trading system No work done
confirm account via email
ban player

IRC

In order to use IRC at the moment, you must run the client on port 80 or 443. Any IRC server can be used as long as it is running on ports 6695 to 6699. This IRC server will not, by default, be secured as the WF client does not provide a user/password combo. Instead the userId and and current nonce are provided as part of the USER command.

USER {UserIdGuid} 0 ** {CurrentNonce}

If you are utilizing inspircd you can configure sqlauth to query the sqlite db, the current nonce will be used as one time password, similar to how the client utilizes it. It's unknown whether or not the warframe client will routinely attempt to reauthenticate with the IRC server, so irc connections might not be dropped if the wfclassic server restarts.

select  id
from AspNetUsers anu 
where 
id = '$ident'
and CurrentNonce  = $real
and CurrentNonce != 0
limit 1
Description
No description provided
Readme 13 MiB
Languages
C# 96.9%
HTML 3%