Help Wanted List: Difference between revisions

From Flashpoint Datahub
Jump to navigation Jump to search
(Added RTMP streaming task)
No edit summary
Line 22: Line 22:
# '''RTMP streaming support''': Some games use [https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol Real-Time Messaging Protocol] (RTMP) for streaming video or audio. We need help supporting this technology in Flashpoint.  
# '''RTMP streaming support''': Some games use [https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol Real-Time Messaging Protocol] (RTMP) for streaming video or audio. We need help supporting this technology in Flashpoint.  
#* Flash's RTMP connections appear to completely bypass the Redirector and standard browser developer tools. We need help figuring out how to force Flash Player's RTMP connections to go through Flashpoint's proxy.
#* Flash's RTMP connections appear to completely bypass the Redirector and standard browser developer tools. We need help figuring out how to force Flash Player's RTMP connections to go through Flashpoint's proxy.
#* Flashpoint's Apache/PHP server does not support RTMP, and according to this [https://en.wikipedia.org/wiki/List_of_RTMP_software#RTMP_server_software list of RTMP server software], there may not be any way to do so. We also need help figuring out how to add support for RTMP to Flashpoint's server.
#* Flashpoint's Apache/PHP server does not support RTMP, and according to this [https://en.wikipedia.org/wiki/List_of_RTMP_software#RTMP_server_software list of RTMP server software], there may not be any way to do so. We need help figuring out how to add support for RTMP to Flashpoint's server.
#* Here is an example of a game that uses RTMP for streaming video: https://cdn.discordapp.com/attachments/444854424515379201/620820731793768478/ATTACK_OF_THE_GRASKE.7z


== Former Projects: ==
== Former Projects: ==

Revision as of 06:22, 10 September 2019

  1. Linux testers and developers: Since Flashpoint 5.2, we have been unable to offer a Linux version of Flashpoint. We hope to once again offer a Linux version, but we need help finalizing our experimental build. For more information and the latest download link, see Linux Support. Please join our Discord, and let us know in #tech-development what's working and what isn't. We are also looking for help developing the build further.
  2. Flashpoint Launcher developers: We use a custom Electron app called Flashpoint Launcher for displaying and launching games in Flashpoint. We need some more help with its development.
  3. Help with XML-RPC games: some Adobe Flash games use XML remote procedure calls for some of their functionality. We need help coding this functionality for each game that requires it, using Flashpoint’s PHP library. Here’s an example of how XML-RPC is used: https://help.adobe.com/en_US/as3/dev/WSb2ba3b1aad8a27b061afd5d7127074bbf44-7fff.html
  4. Portable Shockwave Player plugin:
    • The Shockwave Player was discontinued on April 9, 2019: https://helpx.adobe.com/shockwave/shockwave-end-of-life-faq.html
    • The consumer version of the Shockwave Player no longer functions properly. This is because it attempts to download various legacy components from Adobe/Macromedia servers in order to play Shockwave content. However, those components were removed from the Adobe/Macromedia servers on April 9.
    • The licensed version of the Shockwave Player is equivalent to the consumer version, but it includes all legacy components. It continues to function properly. It is available for download here: https://www.adobe.com/products/shockwaveplayer/shwv_distribution3.html
    • The Shockwave Player installs to the following folders: "C:\Windows\SysWOW64\Adobe\Shockwave 12", "C:\Users\USERNAME\AppData\LocalLow\Adobe\Shockwave Player 12" "C:\Users\USERNAME\AppData\LocalLow\Macromedia\Shockwave Player", "C:\Windows\SysWOW64\Macromed\Shockwave 10". The first two are for modern components and the next two are for legacy components.
    • It also uses a number of keys and CLSIDs in the Registry. We are not sure how to allow the Shockwave Player to run without installation.
    • A possible solution is to use Enigma Virtual Box or Cameyo. We need someone to look into their feasibility for creating a portable Shockwave Player. It would likely need to be packaged with a portable browser such as K-Meleon Portable.
  5. HTTPS support: Some games have obfuscation or exact URL sitelocks that make them only work on HTTPS URLs. We would like to support HTTPS in Flashpoint without installing a root certificate on the user's system. We need someone to set up the Apache server to use HTTPS, generate an SSL root certificate (self-signed should be fine), and direct one of our portable browsers to trust this certificate on all sites. The Apache server should act as a proxy for HTTPS traffic and serve files from its htdocs folder, just as it does for HTTP traffic. Tech234a from our Discord has proposed some potential solutions:
    1. My plan for implementing it would be based on this sample extension, and replace the response data outright with a version fetched over HTTP on certain URL match patterns. This is very similar to how I implemented AnnotationsReloaded.
      • filterResponseData was added in Firefox 57, though you could also restrict it on earlier versions in manifest.json.
      • Theoretically you could create a "fake domain" to store a configuration for this extension to be picked up by the proxy and then have the extension dynamically update its matched patterns every time the browser launches (manifest.json would not be able to be updated dynamically). This would require a browser based on Firefox 57+. You wouldn't even need to dynamically process the actual response, just overwrite it.
      • This is a possible Firefox 57+ -based and fully portable browser (recommended by nosamu)
    2. Another potential solution would be something like this, which changes the URL of the request rather than modifying the response. It might perform better in terms of network requests, as they wouldn't be duplicated. I believe the domain fronter changes the URL back once the response is returned, so XHR would report the correct URL.
  6. Help curating Pogo games: Pogo.com is removing all of their Java and Flash games. We need help from someone familiar with capturing network activity (ex. Wireshark) so that we can have a chance to save these games. If you or someone you know have this expertise, please let us know. Please join our efforts to archive these games at this Google doc link: https://docs.google.com/document/d/1PW58X2jfpt57Ce2fN4r4BXeALO0iW9o-r7-cYrI-w2A/edit
  7. Help hacking Unity Web Player games: Several Unity Web Player games such as Nowhere Boys need to be hacked to work in Flashpoint. However, we have not figured out how to successfully repack Unity3D files. We attempted to use DisUnity to unpack and repack the Nowhere Boys file, but even when no changes were made between unpacking and repacking, the resulting file was unusable. Several crashes happened when attempting to load the file in Unity Web Player.
  8. RTMP streaming support: Some games use Real-Time Messaging Protocol (RTMP) for streaming video or audio. We need help supporting this technology in Flashpoint.

Former Projects:

  1. Differential updates: We've figured out the details of a differential updater, and are working on squashing the remaining bugs and improving the user experience. An updater for Flashpoint Ultimate will be released soon.
  2. Action Message Format support: We finished adding an AMF implementation to PHP on Flashpoint's server, so now we are working to save user content databases for games that require AMF.
  3. Help curating Geocities.jp games: Geocities.jp closed on March 31, 2019, and some of the games hosted there were lost forever. At Flashpoint, we worked to curate some of the games, and save the assets for as many as possible so they can be added to Flashpoint later.


See Also: Help Wanted Games