Lutris is an open-source Linux game manager. Standalone_Installer.sh Installing via Lutris An example: $ WINEPREFIX="$HOME/bin/FusionFall". If you wish to modify the Wine installation folder from the default, override the WINEPREFIX environment variable before running. One can disable automatic installation by passing -dxvk as an argument, or force installation with +dxvk. The script will report the status of DXVK and enable it automatically if detected. I have found that this game runs best with DXVK installed. sh file (your preference!) to start the launcher. Standalone_Installer.shįinally, use either the.
Installing via a shell scriptįirst, download and install the following packages: wine-staging, winetricks, and optionally dxvk plus its Vulkan dependencies. It creates a wineprefix with the appropriate libraries, runs the FusionFall installer, and provides both a I have developed an installer script that sets up the necessary environment for FusionFall Retro to run. LegacyĪs of now, no launcher or runnable game has ever been released for Legacy. This repo hosts my work on getting the FusionFall Universe releases to run on Linux. Is a community dedicated to bringing back this game, as the official servers were shut down in 2013. After Encrypt_xor_64bit() is called, Encrypt_Data() calls Encrypt_byte_change_A() which looks likeĮncrypt_byte_change_A() swaps some bytes around in an easily reversible way and returns the amount of bytes swapped.On Cartoon Network's shows and characters. It looks like a mess, but basically the default key is xor’d over the data and the size of the xor’d data is returned. They use Marshal to convert the string into an array of bytes and then into a long int (8 bytes long.) We can actually see what this key is used for over in Encrypt_Data()įirst, Encrypt_Data() calls Encrypt_xor_64bit() with the default key, the data, and the size of the data. I’m only going to be talking about the EKey today but the FEKey is used when switching from the login server to the shard server (the actual game server.) In the constructor you can actually see the default key that’s set. You’ll notice there’s an EKey and an FEKey. Let’s take a look at csSocketManager, it’s in charge of obfuscating packets before sending to the server and de-obfuscating packets from the server. $ ilspycmd Assembly \ - \ CSharp.dll > out.cs In fact, after googling “extract UnityWeb assets” I found QuickBMS, which explains that we can just use QuickBMS and a corresponding script to extract the assets from the file.
Luckily though there have been many tools made to extract the assets. Basically the electron client (which is just an old version of chromium) is pointed to resources/app/files/, so when the main.unit圓d file makes the GET request through the browser the electron client just reads our files instead :) Reading the C# assemblies I already took care of assetInfo.php for you and just linked the corresponding CDN link, and loginInfo.php is set to look at 127.0.0.1 on port 8001. Defines the ip & port the loginserver is hosted onīoth of these files can be found at resources/app/files.Defines the base URL from which assets are requested from.Here’s a list of the important requests the beta-20100104 client makes: It turns out the FusionFall client actually makes GET requests to find out where to connect to the login server, and where to look for assets (which I just provided the CDN). If you’ve noticed in the electron client I’ve provided, there’s a lot of non-php files with the. But I’m just going to cut to the chase and give you an old electron client I made that will set everything up for our main.unit圓d file to run through a matching Unity Web Player version. There’s tons of ways to go about this, from using the Pale Moon browser & FF’s old UnityWebPlayer installed. We can’t actually run the client without the Web Plugin installed. If you’ve noticed, that main.unit圓d file is just a unity web player file. So for example, to grab the main.unit圓d for the january 4th 2010 build, we can simply goto. Funnily enough, their old CDN is actually still up to this day! It hosts client versions from early 2010 to late 2011. It ran on a custom Unity Web Player engine until it was shutdown in late 2013. In this post I’m going to explain how I wrote the base for OpenFusion (and JUST the base, seriously, I only mean how OpenFusion accepts connections and sends packets to/from the FF client.) How do we get the client?įusionFall was an old MMO by Cartoon Network. This kick started my journey into the depths of the FusionFall client. A couple of months ago in the spirit of FFR (and because it got brought up in conversation) I started to become curious about how they actually made the server. Unfortunately, that project has since been shutdown. If you remember my old site before I switched to a static site, I wrote a couple of posts about FusionFall Retro.