Skip to content

Releases: themeldingwars/PIN

Patching in the Basics

02 Jun 22:17
Compare
Choose a tag to compare

This release brings a lot of basic placeholders for the various APIs, fixes quite a few glitches and technologically, switches to the superior AeroMessages library, for all the UDP communication.

Release-1 2 0

Usage

Note: If you want to play around with the configuration, see the Development section below

  1. Install Firefall via Steam
  2. Edit the firefall.ini located in steamapps\common\Firefall
  3. Add content from below
  4. Download the latest PIN release
  5. Make a backup copy of the original FirefallClient.exe in Firefall\system\bin
  6. Replace the FirefallClient.exe with the patched FirefallClient.exe from the PIN release
  7. Make sure the .NET 6 Runtime is installed
  8. Trust self-signed development certificates by running dotnet dev-certs https --trust
  9. Start all three applications:
    • GameServer
    • MatrixServer
    • WebHostManager
  10. Start Firefall
  11. Login to the server:
    • If Steam auto login has been enabled, you will directly be navigated to the character selection screen
    • Otherwise, leave the login fields blank or enter anything you want and click "Login"
  12. Load into the game by pressing the "Enter World" button

firefall.ini

[Config]
OperatorHost = "localhost:4400"

[FilePaths]
AssetStreamPath = "http://localhost:4401/AssetStream/%ENVMNEMONIC%-%BUILDNUM%/"
VTRemotePath = "http://localhost:4401/vtex/%ENVMNEMONIC%-%BUILDNUM%/static.vtex"

[UI]
PlayIntroMovie = false

Changelog

Added

  • Add support for calling down a LGV
  • Add documentation to explain the architecture
  • Use Autofac for dependency injection in UdpHosts
  • Add basic endpoint for character creation handling
  • Add or extend the API endpoints
    • api/v2/accounts/current/status
    • api/v2/accounts/character_slots
    • api/v3/characters/{character_id}/garage_slots
    • api/v3/ui_actions
    • api/v1/characters/{character_id}/data
    • api/v3/characters/{character_id}/inventories/bag
    • api/v3/characters/{character_id}/inventories/gear/items
    • api/v1/zones/queue_ids
    • api/v2/zone_settings
    • api/v1/item_display_attributes
    • api/v1/market_categories
    • api/v1/characters/validate_name
    • api/v3/characters/{characterId}/titles
    • api/v3/characters/{characterId}/garage_slots/{frameId}/perks
    • ...and more
  • Use AeroMessages as submodule instead of a binary reference
  • Use range indexer
  • Modernize code base with support from Rider auto format and clean up
  • Handling of the Steam user id. Currently, it is only held internally and not persisted.
  • Basic GitHub Action to ensure continuous integration
  • Individual .bat files for each game service pointing directly to the respective bin\debug folder.
  • Configuration for the game server. You can edit the App.config file in the GameServer project root for local settings and add working defaults in App.Default.config.
    App.config will be generated from App.Default.config if not present before build.
    Currently, the only option present is the Serilog log level.
  • CLI options parsing. Currently, the only option is the log level. Specifying wrong options will not stop the server from starting.
  • 404 handling to the web server pipeline which prints the contents of 404-producing requests as warnings to see what's missing.
  • ClientEventController with a corresponding endpoint to receive the events from the client. Currently, only the client uptime seems to be posted on exit of the game

Changed

  • Jets rendering correctly
  • Use AeroMessages for nearly all packets
  • Clean up some of the code flow, for easier understanding
  • Use long speaking names for variables
  • Started transition to AeroMessages, this is an incremental process
  • Replace SharedAssemblyInfo with a targets file
  • Update to .NET 6
  • Changed 'missing MSGid' logging to include the details (1st message) in log level warning instead of verbose
  • Update documentation regarding the usage of web hosts
  • Turn Firefall specific location finder to a common location provider

Fixed

  • Fix IndexOutOfRangeException being thrown by the Matrix server
  • Fix string deserialization and corrected Matrix Login packet

Contributors

Get Into The Zone

09 Oct 09:58
Compare
Choose a tag to compare

With this version, you can more easily explore all the available zones, simply by selecting a different character with a matching name in the character selection.

FirefallClient_nHu5RAdMIZ

Usage

  1. Install Firefall via Steam
  2. Edit the firefall.ini located in steamapps\common\Firefall
  3. Add content from below
  4. Download the latest PIN release
  5. Make a backup copy of the original FirefallClient.exe in Firefall\system\bin
  6. Replace the FirefallClient.exe with the patched FirefallClient.exe from the PIN release
  7. Make sure the .NET 5 Runtime is installed
  8. Trust self-signed development certificates by running dotnet dev-certs https --trust
  9. Start all three applications:
    • GameServer
    • MatrixServer
    • WebHostManager
  10. Start Firefall
  11. Login to the server:
    • If Steam auto login has been enabled, you will directly ne navigated to the character selection screen
    • Otherwise, leave the login fields blank or enter anything you want and click "Login"
  12. Load into the game by pressing the "Enter World" button

firefall.ini

[Config]
OperatorHost = "localhost:4400"

[FilePaths]
AssetStreamPath = "http://localhost:4401/AssetStream/%ENVMNEMONIC%-%BUILDNUM%/"
VTRemotePath = "http://localhost:4401/vtex/%ENVMNEMONIC%-%BUILDNUM%/static.vtex"

[UI]
PlayIntroMovie = false

Changelog

  • Characters for each available zone with usable spawn location

Welcome Back to New Eden

06 Oct 09:03
Compare
Choose a tag to compare

While still lurking in the shadow of the big industries and hiding from the Accord's Security Specialists, the Pirate Intelligence Network is seeing it's first released version. It's finally time to Welcome you Back to New Eden. It has been a while, but this is just the dawn of a new beginning.

Demo.mp4

Usage

  1. Install Firefall via Steam
  2. Edit the firefall.ini located in steamapps\common\Firefall
  3. Add content from below
  4. Download the latest PIN release
  5. Make a backup copy of the original FirefallClient.exe in Firefall\system\bin
  6. Replace the FirefallClient.exe with the patched FirefallClient.exe from the PIN release
  7. Make sure the .NET 5 Runtime is installed
  8. Trust self-signed development certificates by running dotnet dev-certs https --trust
  9. Start all three applications:
    • GameServer
    • MatrixServer
    • WebHostManager
  10. Start Firefall
  11. Login to the server:
    • If Steam auto login has been enabled, you will directly ne navigated to the character selection screen
    • Otherwise, leave the login fields blank or enter anything you want and click "Login"
  12. Load into the game by pressing the "Enter World" button

firefall.ini

[Config]
OperatorHost = "localhost:4400"

[FilePaths]
AssetStreamPath = "http://localhost:4401/AssetStream/%ENVMNEMONIC%-%BUILDNUM%/"
VTRemotePath = "http://localhost:4401/vtex/%ENVMNEMONIC%-%BUILDNUM%/static.vtex"

[UI]
PlayIntroMovie = false

Change Log

  • MatrixServer to handle client connection establishment and hand off to GameServer
    • Supports all five packets: ABRT, HEHE, HUGG, KISS, POKE
  • GameServer to handle map zoning and basic character movement
    • Zone into New Eden
    • Spawn on a Watch Tower
    • Have a pre-defined set of Visuals
    • Use your Primary and Secondary Weapon (sometimes it doesn't work)
    • Run and sprint around the whole map
  • WebHostManager to deal with standard web requests from the client through different WebHosts
    • Handle login requests via hardcoded Oracle ticket
    • Provide hardcoded account details
    • Serve the necessary Host Information
    • Return static assets when provided by the user