<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://flashpointarchive.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Strawrat</id>
	<title>Flashpoint Datahub - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://flashpointarchive.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Strawrat"/>
	<link rel="alternate" type="text/html" href="https://flashpointarchive.org/datahub/Special:Contributions/Strawrat"/>
	<updated>2026-10-17T19:09:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=10027</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=10027"/>
		<updated>2023-12-22T21:59:57Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Remove version history, remove spreadsheet links, update Flashpoint Cache Exporter link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them.&lt;br /&gt;
&lt;br /&gt;
'''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [https://discord.gg/kY8r2BbPQ9 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued by June 15th, 2009, not long after the show it was based on had ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. It is partially playable in Flashpoint, yet there are still plenty of files for it that can be found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002-2004): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, a partially corrupted prototype exists courtesy of the game's developer Pepworks and the Training and Chapter 1 exists but the Chapter 2-5 its entirety is gone, and that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Orbit Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2010): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
* '''Tank Attack 3D''' (2013-2016): a 3D shooter Shockwave game created by Silent Bay Studios and released by Miniclip. Delisted when major browsers remove a NPAPI support, completly removed from folders in 2020/2021.&lt;br /&gt;
&lt;br /&gt;
* '''Desperado''' (2014-2016): a 3D shooter Shockwave game created by Silent Bay Studios and released by Miniclip. Delisted when major browsers remove a NPAPI support, completly removed from folders in 2020/2021.&lt;br /&gt;
&lt;br /&gt;
* '''Mamamoto''' (2011-2016): a multiplayer racing Shockwave game created by Silent Bay Studios. The game was released in beta in 2011, the site stopped working at the end of 2016, and the game never left the beta.&lt;br /&gt;
&lt;br /&gt;
* '''Tour de Flex''' (2009-2014): a component explorer initially created in Adobe AIR for a desktop. It replaced Adobe Flex: Component Explorer. A little later, a slimmed-down Flash online version with no AIR examples came out. The AIR version is still available [http://download.macromedia.com/pub/developer/air/TourDeFlex.air here], but not all features are working anymore and doesn't install in Adobe AIR 32. It has been replaced by &amp;quot;Apache Flex: Tour De Flex Component Explorer&amp;quot; which has been available since Flashpoint 11 and is still available on live web. Source code still exists, but binary web version is lost. [https://www.youtube.com/watch?v=K4sYmtijXXk Video footage]&lt;br /&gt;
&lt;br /&gt;
* '''The Smurfs 2: Smurfette Vs Naughties''' (2013-2016): a 3D shooter Shockwave game created by Silent Bay Studios and released by Miniclip. Delisted when major browsers remove a NPAPI support, completly removed from folders in 2020/2021.&lt;br /&gt;
&lt;br /&gt;
* '''Abraham Lincoln Vampire Hunter - Motion Comic''' (2012-2013): a HTML5 Interactive Comic Game created by Trigger LLC and released by 20th Century Fox. Delisted sometime in 2013. More info about it here: https://thefwa.com/cases/abraham-lincoln-vampire-hunter Originally Available here: https://web.archive.org/web/20120902085421/http://www.abelincolnvampirehunter.com/&lt;br /&gt;
&lt;br /&gt;
* '''Transformers Prime - Kinder Surprise Russian Microsite''' (2014): a Flash Microsite made to promote the Kinder Transformers Prime toys. The Microsite featured 3 sections: A Rock-Paper-Scissor type Minigame, A Character Bios and A Memory Game. Delisted sometime in 2014. Originally available here: https://web.archive.org/web/20140217074522/http://www.2magic.com:80/mk/lang/ru_RU/minisites/transformers.htm&lt;br /&gt;
&lt;br /&gt;
* '''Oreo Transformers: Lab Grab''' (2014): a HTML5 Minigame made for a Competition. Delisted in 2014. Originally available here: https://web.archive.org/web/20140603172530/http://www.oreotransformers4.com:80/sg/en/game&lt;br /&gt;
&lt;br /&gt;
* '''Oreo Blizzard''' (1998-1999): a Shockwave game made for the Holiday season in 1998. Delisted in 1999. Originally available here: https://web.archive.org/web/19990210082627/http://www.oreo.com/holidaygame/oreo_blizzard.html&lt;br /&gt;
&lt;br /&gt;
* '''Watch Me Change''' (July 2005-February 2006): a Shockwave dress up game, where the person danced after disguising. Asset &amp;lt;code&amp;gt;graphics_shared.cct&amp;lt;/code&amp;gt; is lost. Originally available here: https://web.archive.org/web/20050728030216/http://www.watchmechange.com/&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
Image:TankAttack3D.png| Screenshot from Tank Attack 3D taken from [https://www.youtube.com/watch?v=BzNq2RlhwvI this video].&lt;br /&gt;
&lt;br /&gt;
Image:Desperado.png| Screenshot from Desperado taken from [https://www.youtube.com/watch?v=mh9UvF9J488 this video].&lt;br /&gt;
&lt;br /&gt;
Image:TourDeFlex.jpg| Screenshot from desktop version of Tour de Flex taken from [https://web.archive.org/web/20121110214651/http://www.adobe.com/devnet/flex/tourdeflex.html this website].&lt;br /&gt;
&lt;br /&gt;
Image:Smurfette Vs Naughties.gif| Screenshot from Smurfette Vs Naughties taken from [https://img.y8.com/cloud/y8-thumbs/56031/big.gif Y8].&lt;br /&gt;
&lt;br /&gt;
Image:Prime.png| a Screenshot from Transformers Prime - Kinder Surprise Russian Microsite taken from [https://www.youtube.com/watch?v=Da7EjgBMjF4&amp;amp;list=PLO4GabV0OEIqw0BERilz_4ZA6MurVhIb7&amp;amp;index=56 YouTube].&lt;br /&gt;
&lt;br /&gt;
Image:Alvh fwa screen-P4BK.jpg| a Screenshot from Abraham Lincoln Vampire Hunter - Motion Comic taken from [https://thefwa.com/cases/abraham-lincoln-vampire-hunter FWA].&lt;br /&gt;
&lt;br /&gt;
Image:Oreo-Transformers-4-promo.jpg| a Screenshot from Oreo Transformers: Lab Grab taken from [http://manilamommy.com/wp-content/uploads/2014/07/Oreo-Transformers-4-promo.jpg This Site] Notice that the bottom of the 3rd picture contains a picture of the game.&lt;br /&gt;
&lt;br /&gt;
Image:promnight.jpg| a Screenshot from Prom Night taken from the Developer's site.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): a Shockwave game developed by &amp;quot;Skyworks Technologies&amp;quot; and published by &amp;quot;Candystand&amp;quot; on September 14th, 2007. The game was rebranded in 2009 due to a change in ownership of the [https://web.archive.org/web/20081105135625/http://www.candystand.com/play.do?id=18202 Candystand.com] website. Although the game was playable before, the branded assets were found in the web cache.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): a Shockwave game developed by &amp;quot;Silent Bay Studios&amp;quot; and published by &amp;quot;Candystand&amp;quot; on May 30th, 2008. The game was rebranded in 2009 due to a change in ownership of the [https://web.archive.org/web/20081106055129/http://www.candystand.com/play.do?id=18322 Candystand.com] website. Although the game was playable before, the branded assets were found in the web cache.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-2014): a Java game published by &amp;quot;Naughty Dog&amp;quot; in 2001. This game was an official demake of the first world from the 2001 PS2 game &amp;quot;Jak and Daxter: The Precursor Legacy&amp;quot;. It was removed from the [https://web.archive.org/web/20080729235026/http://www.jakanddaxterlegend.com/ JakAndDaxterLegend.com] website in 2014.&lt;br /&gt;
&lt;br /&gt;
* '''Life Savers Match Maker''' (2004-2009, 2011-2016): a Shockwave game developed by &amp;quot;Skyworks Technologies&amp;quot; and published by &amp;quot;Candystand&amp;quot; in 2004. It was replaced with a Flash version in 2009 due to a change in ownership of the [https://web.archive.org/web/20081127160151/http://www.candystand.com/play.do?id=17950 Candystand.com] website. The Shockwave version was brought back and rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011, where it stayed until January 1st, 2016, when the [https://web.archive.org/web/20120504000145/http://www.candystand.com/play/match-maker-classic Candystand.com] website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Line Rider &amp;quot;i'm ridin' it&amp;quot;''' (2008-2009): a Flash game developed by &amp;quot;inXile Entertainment&amp;quot; and published by &amp;quot;McDonald's&amp;quot; on August 25th, 2008. This promotional version of &amp;quot;Line Rider&amp;quot; was made to advertise the [https://www.sweepstakesmag.com/video-games/mini-size-fun-sweepstakes-at-mcdonalds/ &amp;quot;Mini Size Fun Sweepstakes at McDonald's&amp;quot;]. It was removed from the [https://web.archive.org/web/20090204210827/http://minisizefun.com/ MiniSizeFun.com] website on November 11th, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game developed by &amp;quot;Silent Bay Studios&amp;quot; and published by &amp;quot;Candystand&amp;quot; on March 4th, 2008. It was removed from [https://web.archive.org/web/20100301190013/http://www.candystand.com/play/slipstream Candystand.com] on January 1st, 2016, shortly before discontinuation of this page.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://mega.nz/file/Ew9FCYrB#arlnz_UjovQuj4XPbWI0aNTtseOIjhIjmFahLtHF120 Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]]. You can also use a program such as [https://www.hirensbootcd.org/ Hiren's BootCD PE] with a flash drive or CD to change the user passwords on your old Windows PC if you've forgotten them. Similarly, do not use the web browsers on your old computer to download this.&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now look inside these folders to see if any game files were found. One quick way to do this is by opening each CSV file and checking the list of files that were copied.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you send any files to another person, be aware that your browser cache will likely contain sensitive data, such as names and addresses.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Be sure to check your files first before you upload them anywhere. Alternatively, you can ask a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [https://discord.gg/kY8r2BbPQ9 our Discord server] if you can send the files privately by messaging them.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine.&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these files some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=6964</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=6964"/>
		<updated>2022-02-17T20:26:14Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Update list of games found by searching the web cache.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued by June 15th, 2009, not long after the show it was based on had ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): a Shockwave game developed by &amp;quot;Skyworks Technologies&amp;quot; and published by &amp;quot;Candystand&amp;quot; on September 14th, 2007. The game was rebranded in 2009 due to a change in ownership of the [https://web.archive.org/web/20081105135625/http://www.candystand.com/play.do?id=18202 Candystand.com] website. Although the game was playable before, the branded assets were found in the web cache.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): a Shockwave game developed by &amp;quot;Silent Bay Studios&amp;quot; and published by &amp;quot;Candystand&amp;quot; on May 30th, 2008. The game was rebranded in 2009 due to a change in ownership of the [https://web.archive.org/web/20081106055129/http://www.candystand.com/play.do?id=18322 Candystand.com] website. Although the game was playable before, the branded assets were found in the web cache.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-2014): a Java game published by &amp;quot;Naughty Dog&amp;quot; in 2001. This game was an official demake of the first world from the 2001 PS2 game &amp;quot;Jak and Daxter: The Precursor Legacy&amp;quot;. It was removed from the [https://web.archive.org/web/20080729235026/http://www.jakanddaxterlegend.com/ JakAndDaxterLegend.com] website in 2014.&lt;br /&gt;
&lt;br /&gt;
* '''Life Savers Match Maker''' (2004-2009, 2011-2016): a Shockwave game developed by &amp;quot;Skyworks Technologies&amp;quot; and published by &amp;quot;Candystand&amp;quot; in 2004. It was replaced with a Flash version in 2009 due to a change in ownership of the [https://web.archive.org/web/20081127160151/http://www.candystand.com/play.do?id=17950 Candystand.com] website. The Shockwave version was brought back and rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011, where it stayed until January 1st, 2016, when the [https://web.archive.org/web/20120504000145/http://www.candystand.com/play/match-maker-classic Candystand.com] website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Line Rider &amp;quot;i'm ridin' it&amp;quot;''' (2008-2009): a Flash game developed by &amp;quot;inXile Entertainment&amp;quot; and published by &amp;quot;McDonald's&amp;quot; on August 25th, 2008. This promotional version of &amp;quot;Line Rider&amp;quot; was made to advertise the [https://www.sweepstakesmag.com/video-games/mini-size-fun-sweepstakes-at-mcdonalds/ &amp;quot;Mini Size Fun Sweepstakes at McDonald's&amp;quot;]. It was removed from the [https://web.archive.org/web/20090204210827/http://minisizefun.com/ MiniSizeFun.com] website on November 11th, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game developed by &amp;quot;Silent Bay Studios&amp;quot; and published by &amp;quot;Candystand&amp;quot; on March 4th, 2008. It was removed from [https://web.archive.org/web/20100301190013/http://www.candystand.com/play/slipstream Candystand.com] on January 1st, 2016, when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now look inside these folders to see if any game files were found. One quick way to do this is by opening each CSV file and checking the list of files that were copied.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you send any files to another person, be aware that your browser cache will likely contain sensitive data, such as names and addresses.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Be sure to check your files first before you [https://bluepload.unstable.life/ upload them to our website]. Alternatively, you can ask a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server] if you can send the files privately by messaging them. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Version 10] (2021-07-07):&lt;br /&gt;
** Updated the Web Cache Exporter, MZCacheView, VideoCacheView, CSVFileView, and SearchMyFiles.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-1-selfextracting.exe Version 9.1] (2021-02-07):&lt;br /&gt;
** Updated the Web Cache Exporter.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
** Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=6943</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=6943"/>
		<updated>2022-02-09T21:36:59Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Correct BFAHP end date.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued by June 15th, 2009, not long after the show it was based on had ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now look inside these folders to see if any game files were found. One quick way to do this is by opening each CSV file and checking the list of files that were copied.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you send any files to another person, be aware that your browser cache will likely contain sensitive data, such as names and addresses.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Be sure to check your files first before you [https://bluepload.unstable.life/ upload them to our website]. Alternatively, you can ask a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server] if you can send the files privately by messaging them. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Version 10] (2021-07-07):&lt;br /&gt;
** Updated the Web Cache Exporter, MZCacheView, VideoCacheView, CSVFileView, and SearchMyFiles.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-1-selfextracting.exe Version 9.1] (2021-02-07):&lt;br /&gt;
** Updated the Web Cache Exporter.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
** Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=5366</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=5366"/>
		<updated>2021-07-07T17:34:52Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Version 10 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now look inside these folders to see if any game files were found. One quick way to do this is by opening each CSV file and checking the list of files that were copied.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you send any files to another person, be aware that your browser cache will likely contain sensitive data, such as names and addresses.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Be sure to check your files first before you [https://bluepload.unstable.life/ upload them to our website]. Alternatively, you can ask a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server] if you can send the files privately by messaging them. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v10-selfextracting.exe Version 10] (2021-07-07):&lt;br /&gt;
** Updated the Web Cache Exporter, MZCacheView, VideoCacheView, CSVFileView, and SearchMyFiles.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-1-selfextracting.exe Version 9.1] (2021-02-07):&lt;br /&gt;
** Updated the Web Cache Exporter.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
** Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4432</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4432"/>
		<updated>2021-02-07T22:28:55Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Version 9.1 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v9-1-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now look inside these folders to see if any game files were found. One quick way to do this is by opening each CSV file and checking the list of files that were copied.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you send any files to another person, be aware that your browser cache will likely contain sensitive data, such as names and addresses.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Be sure to check your files first before you [https://bluepload.unstable.life/ upload them to our website]. Alternatively, you can ask a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server] if you can send the files privately by messaging them. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-1-selfextracting.exe Version 9.1] (2021-02-07):&lt;br /&gt;
** Updated the Web Cache Exporter.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
** Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4429</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4429"/>
		<updated>2021-02-06T22:17:12Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
** Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4428</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4428"/>
		<updated>2021-02-06T22:15:48Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Version 9 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v9-selfextracting.exe Version 9] (2021-02-06):&lt;br /&gt;
* Updated the Web Cache Exporter, ChromeCacheView, and CSVFileView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4412</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=4412"/>
		<updated>2021-01-30T21:56:04Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Added a link to the web cache recovery spreadsheet. Removed the &amp;quot;Using the complete variant&amp;quot; and &amp;quot;What it creates after running&amp;quot; subsections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
[[File:web_cache_recovered_game.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in the spreadsheet linked above.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache. '''[https://docs.google.com/spreadsheets/d/1YGO5f0nXCKTE1b-fe4grhim3yIihoG81rjCPHx4puBM/edit?usp=sharing You can track the games that have been found so far in this spreadsheet.]'''&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Other Guides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Web_cache_recovered_game.png&amp;diff=4411</id>
		<title>File:Web cache recovered game.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Web_cache_recovered_game.png&amp;diff=4411"/>
		<updated>2021-01-30T21:49:15Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3842</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3842"/>
		<updated>2020-11-27T04:58:42Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer export Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3839</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3839"/>
		<updated>2020-11-26T17:59:40Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer exports Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt; and should be used manually.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3838</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3838"/>
		<updated>2020-11-26T17:58:57Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer exports Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3837</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3837"/>
		<updated>2020-11-26T17:58:25Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats. This tool is located in &amp;lt;code&amp;gt;App\web-cache-exporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer exports Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview\FlashCookiesView.exe&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3836</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3836"/>
		<updated>2020-11-26T17:56:00Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch files no longer exports Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview\FlashCookiesView.exe&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3835</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=3835"/>
		<updated>2020-11-26T17:38:37Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Version 8 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Exporter ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Exporter&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 14 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (ExportedCacheInfo and ExportedCache) and two new files (ExportedCacheInfo.7z and ExportedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The ExportedCacheInfo.7z file contains the list of all your cached files while ExportedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send ExportedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send specific files from the ExportedCache folder if they belonged to a lost game. Since these files could be larger than the previous one, you can [http://bluepload.unstable.life/ upload them here] and post the link in the same Discord channel. You may also send the full ExportedCache.7z file, though you should check it first to guarantee that it doesn't contain any sensitive information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs belong to a certain domain (like cartoonnetwork.com or nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will export all cached files and place them in a single archive (called ExportedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use them to check if any important game assets weren't exported by FlashpointCacheExporter.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheExporter.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheExporter.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on the format and domain)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''ExportedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''ExportedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. These are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheExporter.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''ExportedCache''' and '''ExportedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type or URL.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see the contents of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Exporter's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, and URL. The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Documents and Settings\John\Local Settings\Temporary Internet Files\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcacheexporter-v8-selfextracting.exe Version 8] (2020-11-26):&lt;br /&gt;
** Renamed the tool to Flashpoint Cache Exporter.&lt;br /&gt;
** Added a new tool called the Web Cache Exporter which exports the WinINet (IE 4-11), Flash, Shockwave, and Java Plugin's cache formats.&lt;br /&gt;
** The batch files no longer create and compress the folders &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt;. The Web Cache Exporter is used instead.&lt;br /&gt;
** Removed the Java Plugin Cache Exporter. The Web Cache Exporter is used instead.&lt;br /&gt;
** The batch file no longer exports Flash cookies. The tool in &amp;lt;code&amp;gt;App\flashcookiesview\FlashCookiesView.exe&amp;lt;/code&amp;gt; can still be used manually.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/video_cache_view.html NirSoft's VideoCacheView] to view any cached video files. This tool is located in &amp;lt;code&amp;gt;App\videocacheview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MZCacheView and ChromeCacheView.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MZCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using the Web Cache Exporter ===&lt;br /&gt;
&lt;br /&gt;
For the Web Cache Exporter, follow the instructions specified in the readme.txt file inside the &amp;lt;code&amp;gt;web-cache-exporter&amp;lt;/code&amp;gt; folder. You can easily find and export all supported cache formats by running the following command: &amp;lt;code&amp;gt;WCE32.exe -find-and-export-all&amp;lt;/code&amp;gt;. This tool also allows you to export the cache from external drives. Read the help file in &amp;lt;code&amp;gt;web-cache-exporter\ExternalLocations&amp;lt;/code&amp;gt; to learn how.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Exporter. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Exporter, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheExporter.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2758</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2758"/>
		<updated>2020-05-30T02:58:19Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Dumper ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Dumper&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 15 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (DumpedCacheInfo and DumpedCache) and two new files (DumpedCacheInfo.7z and DumpedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The DumpedCacheInfo.7z file contains the list of all your cached files while DumpedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send DumpedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send DumpedCache.7z in case you have any files belonging to a lost game. Since this file is larger than the previous one, you can [http://bluepload.unstable.life/ upload it here] and post the link in the same channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see what websites were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs begin in a certain way (like www.cartoonnetwork.com or www.nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will copy all cached files and place them in a single archive (called DumpedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use these to check if any important game assets weren't copied by FlashpointCacheDumper.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheDumper.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheDumper.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists Flash cookies&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on MIME type and URL)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies the Java Plugin's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all of Internet Explorer 6 or older's cache manually&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (to a separate archive and based on file extension)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to using NirSoft's IECacheView to list and copy files cached by Internet Explorer, this tool will also do this manually if it detects IE 6 or older. This is because of [https://en.wikipedia.org/wiki/Internet_Explorer#Cache a bug in these versions] where some cached files are left behind even though their respective indexes are deleted by the browser. IECacheView relies on these indexes to find the cached files, meaning we could potentially miss games that were left behind by this bug.&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); all Flash cookies; and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* FlashCookies.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* RawInternetExplorerCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawJavaPluginCache''' which contains all the files cached by the Java Plugin. These are separated into the following folders:&lt;br /&gt;
* AppData_LocalLow (for Windows Vista or newer)&lt;br /&gt;
* ApplicationData (for Windows XP or older)&lt;br /&gt;
* LocalSettings_ApplicationData (for Windows XP or older)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawJavaPluginCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawInternetExplorerCache''' which contains any files cached by Internet Explorer which have a certain file extension. These file extensions are [[#MIME types and file extensions|listed below]]. This folder is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawInternetExplorerCache.7z''' This file is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. Like the Java Plugin folder, these are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''DumpedCache''' and '''DumpedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type, URL or file extension.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see some of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Dumper's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, URL, and Extension (for &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; only). The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;FlashCookies.csv&amp;lt;/code&amp;gt; file lists the Flash cookies (local shared objects) that were saved by Flash applications. These were used for several purposes, including saving a Flash game's progress. Note that these are not game files, and will not be copied by this tool. They only indicate that a specific game was played at some point, and not necessarily that its files are still in your cache.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawJavaPluginCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by the Java Plugin. To do so, use the Java application located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;. Much like the Cache Viewer programs used by the Flashpoint Cache Dumper, this application will also create a CSV file with additional information. See the readme.txt file in that same folder for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
==== The RawInternetExplorerCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt; folder exists, you should pay close attention to the files it contains. This folder is only created if the tool detected Internet Explorer 6 or older, and may contain extra files that are not listed in &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; or contained in InternetExplorer. You may use the SearchMyFiles utility to explore this folder and the CSV Viewer to check &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MozillaCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Dumper. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Dumper, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the cache is located at:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2757</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2757"/>
		<updated>2020-05-30T02:53:50Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Added the cache locations for Netscape Navigator and Shockwave. Added a table with common environment variable values.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Dumper ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Dumper&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 15 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (DumpedCacheInfo and DumpedCache) and two new files (DumpedCacheInfo.7z and DumpedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The DumpedCacheInfo.7z file contains the list of all your cached files while DumpedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send DumpedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send DumpedCache.7z in case you have any files belonging to a lost game. Since this file is larger than the previous one, you can [http://bluepload.unstable.life/ upload it here] and post the link in the same channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see what websites were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs begin in a certain way (like www.cartoonnetwork.com or www.nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will copy all cached files and place them in a single archive (called DumpedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use these to check if any important game assets weren't copied by FlashpointCacheDumper.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheDumper.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheDumper.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists Flash cookies&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on MIME type and URL)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies the Java Plugin's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all of Internet Explorer 6 or older's cache manually&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (to a separate archive and based on file extension)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to using NirSoft's IECacheView to list and copy files cached by Internet Explorer, this tool will also do this manually if it detects IE 6 or older. This is because of [https://en.wikipedia.org/wiki/Internet_Explorer#Cache a bug in these versions] where some cached files are left behind even though their respective indexes are deleted by the browser. IECacheView relies on these indexes to find the cached files, meaning we could potentially miss games that were left behind by this bug.&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); all Flash cookies; and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* FlashCookies.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* RawInternetExplorerCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawJavaPluginCache''' which contains all the files cached by the Java Plugin. These are separated into the following folders:&lt;br /&gt;
* AppData_LocalLow (for Windows Vista or newer)&lt;br /&gt;
* ApplicationData (for Windows XP or older)&lt;br /&gt;
* LocalSettings_ApplicationData (for Windows XP or older)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawJavaPluginCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawInternetExplorerCache''' which contains any files cached by Internet Explorer which have a certain file extension. These file extensions are [[#MIME types and file extensions|listed below]]. This folder is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawInternetExplorerCache.7z''' This file is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. Like the Java Plugin folder, these are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''DumpedCache''' and '''DumpedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type, URL or file extension.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see some of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Dumper's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, URL, and Extension (for &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; only). The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;FlashCookies.csv&amp;lt;/code&amp;gt; file lists the Flash cookies (local shared objects) that were saved by Flash applications. These were used for several purposes, including saving a Flash game's progress. Note that these are not game files, and will not be copied by this tool. They only indicate that a specific game was played at some point, and not necessarily that its files are still in your cache.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawJavaPluginCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by the Java Plugin. To do so, use the Java application located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;. Much like the Cache Viewer programs used by the Flashpoint Cache Dumper, this application will also create a CSV file with additional information. See the readme.txt file in that same folder for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
==== The RawInternetExplorerCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt; folder exists, you should pay close attention to the files it contains. This folder is only created if the tool detected Internet Explorer 6 or older, and may contain extra files that are not listed in &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; or contained in InternetExplorer. You may use the SearchMyFiles utility to explore this folder and the CSV Viewer to check &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MozillaCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Dumper. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
Some common values of the locations that are used in the next subsections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Environment Variable&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | WINDIR&lt;br /&gt;
| 95, 98, ME, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\WINDOWS&lt;br /&gt;
|-&lt;br /&gt;
| 2000&lt;br /&gt;
| C:\WINNT&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | USERPROFILE&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | APPDATA&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Roaming&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Location&lt;br /&gt;
! Windows Version&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Program Files&amp;gt;&lt;br /&gt;
| 98, ME, 2000, XP, Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Program Files&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; | &amp;lt;Application Data&amp;gt;&lt;br /&gt;
| 98, ME&lt;br /&gt;
| C:\WINDOWS\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| 2000, XP&lt;br /&gt;
| C:\Documents and Settings\&amp;lt;Username&amp;gt;\Application Data&lt;br /&gt;
|-&lt;br /&gt;
| Vista, 7, 8.1, 10&lt;br /&gt;
| C:\Users\&amp;lt;Username&amp;gt;\AppData\Local&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Dumper, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Netscape Navigator ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Browser Version&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| 3.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Communicator\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 4.x&lt;br /&gt;
| &amp;lt;Program Files&amp;gt;\Netscape\Users\&amp;lt;Profile Name&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 6.x, 7.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Mozilla\Users50\&amp;lt;Profile Name&amp;gt;\&amp;lt;Profile Salt&amp;gt;.slt\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 8.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\NSB\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|-&lt;br /&gt;
| 9.x&lt;br /&gt;
| &amp;lt;Application Data&amp;gt;\Netscape\Navigator\Profiles\&amp;lt;Profile&amp;gt;\Cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shockwave ===&lt;br /&gt;
&lt;br /&gt;
On Windows, the Shockwave cache is stored in the temporary files directory. This location is specified in the &amp;lt;code&amp;gt;TEMP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TMP&amp;lt;/code&amp;gt; environment variables. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold;&amp;quot;&lt;br /&gt;
! Operating System&lt;br /&gt;
! Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| Windows 98, ME&lt;br /&gt;
| %WINDIR%\TEMP&lt;br /&gt;
|-&lt;br /&gt;
| Windows 2000, Windows XP&lt;br /&gt;
| %USERPROFILE%\Local Settings\Temp&lt;br /&gt;
|-&lt;br /&gt;
| Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| %USERPROFILE%\AppData\Local\Temp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The names of these cached files start with &amp;lt;code&amp;gt;mp&amp;lt;/code&amp;gt;, followed by at least six more characters (e.g. &amp;lt;code&amp;gt;mpb02684.w3d&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2732</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2732"/>
		<updated>2020-05-24T03:17:04Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Added two new curation tips.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://www.miniclip.com/games/real-space-2/en/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Be aware of how HTML comments can affect the parameters specified in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;game.class&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;param1&amp;quot; value=&amp;quot;abc&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;!-- &amp;lt;param name=&amp;quot;param2&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt; --&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you run the applet in the AppletViewer using &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;, both parameters are set. Otherwise, if you run it in a browser using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, only &amp;lt;code&amp;gt;param1&amp;lt;/code&amp;gt; is set.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
If the web page tries to play MIDI or WAV audio using the [https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bgsound &amp;lt;code&amp;gt;&amp;lt;bgsound&amp;gt;&amp;lt;/code&amp;gt;] tag, you must convert it to an equivalent &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;bgsound src=&amp;quot;game.mid&amp;quot; loop=&amp;quot;infinite&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;embed type=&amp;quot;audio/midi&amp;quot; src=&amp;quot;game.mid&amp;quot; loop=&amp;quot;true&amp;quot; autostart=&amp;quot;true&amp;quot; hidden=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;bgsound src=&amp;quot;game.wav&amp;quot; loop=&amp;quot;infinite&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio src=&amp;quot;game.wav&amp;quot; loop autoplay&amp;gt;&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since &amp;lt;code&amp;gt;&amp;lt;bgsound&amp;gt;&amp;lt;/code&amp;gt; is ignored outside of Internet Explorer, you should keep it alongside the new tags for future reference.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the original file, without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't work properly in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2730</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2730"/>
		<updated>2020-05-23T20:16:58Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://www.miniclip.com/games/real-space-2/en/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the original file, without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't work properly in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2729</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2729"/>
		<updated>2020-05-23T20:14:09Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the original file, without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't work properly in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2727</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2727"/>
		<updated>2020-05-22T21:11:27Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't work properly in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2726</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2726"/>
		<updated>2020-05-22T21:00:58Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2725</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2725"/>
		<updated>2020-05-22T17:48:09Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- &amp;lt;code&amp;gt;Applet.getImage()&amp;lt;/code&amp;gt;] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- &amp;lt;code&amp;gt;Applet.getAudioClip()&amp;lt;/code&amp;gt;], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- &amp;lt;code&amp;gt;AppletContext.getApplet()&amp;lt;/code&amp;gt;] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2724</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2724"/>
		<updated>2020-05-22T17:45:10Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's .class or .jar files with a Java decompiler such as JD-GUI. Images and sounds are often loaded using [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getImage-java.net.URL- Applet.getImage] and [https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html#getAudioClip-java.net.URL- Applet.getAudioClip], respectively. Alternatively, you can open them in a hex editor such as HxD, though this will make it hard to know how and when the game is requesting assets. References to external assets are often plain text strings, so you may try searching for common asset types such as .gif and .jpg images or .au sounds.&amp;lt;br&amp;gt;Regardless of the method used, you can make a list of these assets, then download them from the internet and add them to the game's directory. All of these tools are linked in [[#Useful tools and resources|this section]].&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand character (&amp;amp;), wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2722</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2722"/>
		<updated>2020-05-22T02:31:37Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2721</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2721"/>
		<updated>2020-05-21T20:23:51Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the [[#Debugging Java applets|debugging options mentioned above]] when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2720</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2720"/>
		<updated>2020-05-21T20:22:04Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2719</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2719"/>
		<updated>2020-05-21T20:04:29Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape Navigator would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate the files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2718</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2718"/>
		<updated>2020-05-21T18:23:44Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine (see [[#Finding Java applets in the Wayback Machine|this section]] for more details).&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate the files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2717</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2717"/>
		<updated>2020-05-21T18:21:32Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate the files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these assets for your Java curation, create a text file with these URLs and then add &amp;lt;code&amp;gt;http://web.archive.org/web/1id_/&amp;lt;/code&amp;gt; to the beginning of each one. The &amp;lt;code&amp;gt;1id_&amp;lt;/code&amp;gt; segment tells the Wayback Machine to use the most recent capture of the file without any modifications. Then, drag the text file onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool to start downloading them (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2716</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2716"/>
		<updated>2020-05-21T18:06:44Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Added new section &amp;quot;Finding Java applets in the Wayback Machine&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Finding Java applets in the Wayback Machine ==&lt;br /&gt;
&lt;br /&gt;
Since Java applets were first introduced in 1995, it can sometimes be hard to locate the files belonging to older games. This section will show you how to more easily find these by using the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server Wayback CDX Server API]. For example, if you wanted to see what Java games hosted on Shockwave.com were saved by the Wayback Machine, you could use the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=*.shockwave.com/&amp;amp;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;amp;fl=original,timestamp,statuscode&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=*.shockwave.com/&amp;lt;/code&amp;gt; says to search in every Shockwave.com subdomain.&lt;br /&gt;
* &amp;lt;code&amp;gt;filter=original:.*(\.class|\.jar|\.zip|\.cab|\.au).*&amp;lt;/code&amp;gt; says to only show the URLs that contain these file extensions: .class, .jar, .zip, .cab, and .au.&lt;br /&gt;
* &amp;lt;code&amp;gt;fl=original,timestamp,statuscode&amp;lt;/code&amp;gt; says to show three fields in this order: the URL, timestamp, and HTTP status code.&lt;br /&gt;
* &amp;lt;code&amp;gt;collapse=urlkey&amp;lt;/code&amp;gt; says to only show unique URLs.&lt;br /&gt;
Now that we have this list, we can scan it for Java games. For example, the game Cubis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/cubis.jar 20180828052922 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/allcubes.au 20180828054857 200&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/sounds/blank.au 20180828055355 200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that this game also uses .jpg and .gif images. We didn't include these file extensions in the query above since it would also include every unrelated image from Shockwave.com. Now that we know where to look, we can locate every file in the game's directory with the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://web.archive.org/cdx/search/cdx?url=www.shockwave.com/content/cubis/sis/*&amp;amp;fl=original&amp;amp;collapse=urlkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where:&lt;br /&gt;
* &amp;lt;code&amp;gt;url=www.shockwave.com/content/cubis/sis/*&amp;lt;/code&amp;gt; says to show every URL with that prefix.&lt;br /&gt;
We can now see the additional files that were excluded by the first query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/o_solid.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/panel.jpg&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/piece_marker.gif&lt;br /&gt;
http://www.shockwave.com/content/cubis/sis/images/rim_b.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To download these files for your Java curation, create a text file with these URLs and then drag it onto the [[Helpful Tools#Software for Archiving|cURLsDownloader]] tool (read its help file for more details). For more information on the Wayback CDX Server API, refer to the [https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server documentation on its GitHub].&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2715</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2715"/>
		<updated>2020-05-21T16:13:12Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2714</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2714"/>
		<updated>2020-05-21T16:08:32Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like [[Helpful Tools#Software for Archiving|wget or cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For example, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&lt;br /&gt;
java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2712</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2712"/>
		<updated>2020-05-21T02:05:25Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can start the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2711</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2711"/>
		<updated>2020-05-21T02:04:38Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require a different plugin to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2710</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2710"/>
		<updated>2020-05-21T01:50:23Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require different plugins to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to [[#startJavaInBrowser.bat|this section]] to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2709</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2709"/>
		<updated>2020-05-21T01:48:32Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first. Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require different plugins to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;lt;code&amp;gt;Play in the AppletViewer&amp;lt;/code&amp;gt; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download '''[https://bluepload.unstable.life/flashpoint-java-wrappers-v3.zip this ZIP]''' which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to this section to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''after''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the game in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2708</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2708"/>
		<updated>2020-05-21T01:19:00Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java. &lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require different plugins to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;quot;Play in the AppletViewer&amp;quot; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download [https://bluepload.unstable.life/flashpointdisablefocustraversalkeyswrapperappletv2.zip this ZIP] which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to this section to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''before''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can see what the current locale settings are by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2707</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2707"/>
		<updated>2020-05-21T01:16:42Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Updated page for Core 5.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java. &lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example_launcher_logs.png|center|Some of the files requested by &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; in the Logs tab of the Flashpoint launcher.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Go to the &amp;lt;code&amp;gt;Curate&amp;lt;/code&amp;gt; tab and press the &amp;lt;code&amp;gt;New Curation&amp;lt;/code&amp;gt; button on the top right corner. Enter the game's title, platform, application path, and launch command in the respective text fields. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by pressing the &amp;lt;code&amp;gt;Run&amp;lt;/code&amp;gt; button at the bottom of your new curation. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|&amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; running in the AppletViewer.]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Fill the rest of the fields and submit your curation by following the [[Curation Format]]. For more information on how to curate games for Flashpoint, refer to the [[Curation Tutorial]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require different plugins to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;quot;Play in the AppletViewer&amp;quot; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful tools and resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download [https://bluepload.unstable.life/flashpointdisablefocustraversalkeyswrapperappletv2.zip this ZIP] which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to this section to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer specific troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''before''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can see what the current locale settings are by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_curation_example_launcher_logs.png&amp;diff=2706</id>
		<title>File:Java curation example launcher logs.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_curation_example_launcher_logs.png&amp;diff=2706"/>
		<updated>2020-05-21T01:04:26Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_character_encoding_comparision.png&amp;diff=2705</id>
		<title>File:Java character encoding comparision.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_character_encoding_comparision.png&amp;diff=2705"/>
		<updated>2020-05-21T01:00:27Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Strawrat uploaded a new version of File:Java character encoding comparision.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A comparision between using the English locale (left) and the Japanese locale (right) in a Java web game from GeoCities Japan.&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_curation_example.png&amp;diff=2704</id>
		<title>File:Java curation example.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_curation_example.png&amp;diff=2704"/>
		<updated>2020-05-21T01:00:00Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Strawrat uploaded a new version of File:Java curation example.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Realspace 2 - Emperor's Revenge running in the AppletViewer&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_example.png&amp;diff=2703</id>
		<title>File:Java browser curation example.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_example.png&amp;diff=2703"/>
		<updated>2020-05-21T00:59:38Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_certificate_warning_example.png&amp;diff=2702</id>
		<title>File:Java browser curation certificate warning example.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_certificate_warning_example.png&amp;diff=2702"/>
		<updated>2020-05-21T00:59:28Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_warning_example.png&amp;diff=2701</id>
		<title>File:Java browser curation warning example.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_warning_example.png&amp;diff=2701"/>
		<updated>2020-05-21T00:59:19Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_blocked_example.png&amp;diff=2700</id>
		<title>File:Java browser curation blocked example.png</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=File:Java_browser_curation_blocked_example.png&amp;diff=2700"/>
		<updated>2020-05-21T00:59:06Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2699</id>
		<title>Java Curation</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Java_Curation&amp;diff=2699"/>
		<updated>2020-05-21T00:58:21Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: Updated page for Core 5.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will show you how to curate Java games and animations using Flashpoint Core, as well as dealing with any problems that may come up in the process.&lt;br /&gt;
&lt;br /&gt;
Note that Flashpoint doesn't currently support Java Web Start or Microsoft Java. &lt;br /&gt;
&lt;br /&gt;
This page is accurate as of '''[https://bluemaxima.org/flashpoint/downloads/ Flashpoint Core 5]'''.&lt;br /&gt;
&lt;br /&gt;
== Recognizing Java applets ==&lt;br /&gt;
&lt;br /&gt;
Unlike other technologies such as Flash or Shockwave, Java applets are most commonly embedded on a page using an applet tag rather than an object/embed tag. Finding these tags is important since they're necessary to get the games running in Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Here's an example of the most basic type you can find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet code=&amp;quot;iceblox.class&amp;quot; width=&amp;quot;390&amp;quot; height=&amp;quot;350&amp;quot;&amp;gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's a more complex example that shows certain parameters being passed to the game and that the class files may be packaged in a JAR/ZIP/CAB archive. If you tried to run this game on a browser that didn't support Java, you'd only see &amp;quot;Unfortunately, your browser does not support Java&amp;quot;. This can be a good way to know if the web game or animation you're trying to curate uses Java.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;gamehouse.SuperApplet.class&amp;quot; archive=&amp;quot;Collapse.zip&amp;quot; height=&amp;quot;400&amp;quot; width=&amp;quot;460&amp;quot; viewastext mayscript&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;Collapse.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;canvas&amp;quot; value=&amp;quot;Collapse.CollapseCanvas&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;bgcolor&amp;quot; value=&amp;quot;FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;textcolor&amp;quot; value=&amp;quot;000000&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;buyurl&amp;quot; value=&amp;quot;http://get.games.yahoo.com/proddesc?gamekey=spcollapse&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;target&amp;quot; value=&amp;quot;_blank&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	Unfortunately, your browser does not support Java.&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets may also be embedded using the object and embed tags, although this appears to be less common:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;object classid=&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot; codebase=&amp;quot;http://java.sun.com/products/plugin/1.2/jinstall-12-win32.cab#Version=1,2,0,0&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; name=&amp;quot;Rockz&amp;quot; alt=&amp;quot;Java applet failure&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;code&amp;quot; value=&amp;quot;rockz.Run.class&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;archive&amp;quot; value=&amp;quot;rockz.jar&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;name&amp;quot; value=&amp;quot;Rockz&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;type&amp;quot; value=&amp;quot;application/x-java-applet;version=1.2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;embed code=&amp;quot;rockz.Run.class&amp;quot; archive=&amp;quot;rockz.jar&amp;quot; name=&amp;quot;Rockz&amp;quot; type=&amp;quot;application/x-java-applet;version=1.2&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; alt=&amp;quot;Java applet failure&amp;quot; pluginspage=&amp;quot;http://java.sun.com/products/plugin/1.2/plugin-install.html&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;
&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To find these tags, right-click the page with the applet, click &amp;quot;Inspect Element&amp;quot; or &amp;quot;View Page Source&amp;quot; and then search for &amp;quot;applet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Curation Steps ==&lt;br /&gt;
&lt;br /&gt;
Flashpoint runs Java applets offline by using an application called the AppletViewer. You can think of it like the equivalent to a Flash projector. Let's take a look at a simple example by curating the game &amp;quot;Realspace 2 - Emperor's Revenge&amp;quot; from https://www.miniclip.com/games/real-space-2/en/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this page in your browser. You should see the text saying that Java is not enabled or installed. This indicates that it's a Java game, so we should take a look at the page's source and try to find the applet tag. If we search for &amp;quot;applet&amp;quot;, we'll find the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
	If you see this message you do not have Java enabled or do not have Java installed.&amp;lt;/br&amp;gt;&amp;lt;a href=&amp;quot;http://wwww.java.com&amp;quot;&amp;gt;Please see Java.com&amp;lt;/a&amp;gt; to download the latest version of Java.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the page could have also written the tag dynamically which means that you wouldn't be able to find it by just checking its source. In this case you would use your browser's &amp;quot;Inspect Element&amp;quot; option and search for it there.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
In your Flashpoint Core directory, navigate to &amp;lt;code&amp;gt;Server\htdocs&amp;lt;/code&amp;gt;. In htdocs, create a series of directories that match the original site's structure. In this case, we'd create four directories, each inside the previous one: &amp;lt;code&amp;gt;www.miniclip.com\games\real-space-2\en\&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Navigate to the last directory (in this case &amp;lt;code&amp;gt;\en\&amp;lt;/code&amp;gt;) and create the file that will contain the applet tag we found in step 1. You should give it the same name as the original site. In this case there isn't one, so we'll just create a file called &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Open this file you've just created in a text editor and paste the applet tag in there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot; code=&amp;quot;gameapp.class&amp;quot; archive=&amp;quot;gameapp.jar&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;SIZE_SCALE&amp;quot; value=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Download the game's assets (code, images, sounds, etc) and put them in the correct directories so that they also match the original site's structure. It's possible that all the files needed are inside the archive (called gameapp.jar here). If they were and we didn't need any additional files then we could move onto the next step.&lt;br /&gt;
&lt;br /&gt;
However, for this and most other Java games, the archive only has the game's code. We still need to download the rest of the assets. This can be done in several ways, including:&lt;br /&gt;
&lt;br /&gt;
* Checking what the game is requesting by running it, looking at the '''Logs''' tab in the Flashpoint launcher, and downloading these files manually.&lt;br /&gt;
* Using a tool like wget or [[Helpful Tools#Software for Archiving|cURLsDownloader]] to download the assets from specific URLs. This is especially useful if you want to download the files from the Wayback Machine.&lt;br /&gt;
* Using a tool that automatically downloads these files from the original site as they're requested by the game. See the [[MAD4FP]] page for more details on how to do this.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
You can now test your curation in Flashpoint Core. Press the &amp;quot;New Game&amp;quot; button on the bottom right corner and enter the game's title, platform, application path and launch command. In this case, they would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Title: Realspace 2 - Emperor's Revenge&lt;br /&gt;
Platform: Java&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.miniclip.com/games/real-space-2/en/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The platform should be the same for all Java curations. Make sure that the launch command starts with http:// and '''not''' https://&lt;br /&gt;
&lt;br /&gt;
You can run the game by double-clicking its thumbnail in the launcher. You should now see the game running in the AppletViewer:&lt;br /&gt;
&lt;br /&gt;
[[File:java_curation_example.png|center|300px|Realspace 2 - Emperor's Revenge running in the AppletViewer]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Create a curation by following the [[Curation Format]]. Don't forget to copy the information from the four fields you filled out in the previous step. Then, follow the steps explained in [[Instructions for Curating]] to submit the game.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Curation Tips ==&lt;br /&gt;
&lt;br /&gt;
* You may sometimes see a parameter in the applet tag called &amp;lt;code&amp;gt;cabbase&amp;lt;/code&amp;gt; that specifies a CAB file. This was used to allow the same applet to run in different browsers - Netscape would download the JAR or ZIP in the archive attribute while Internet Explorer would download the CAB in the cabbase parameter. Although the AppletViewer doesn't request this file, you should still include it in your submission for preservation's sake.&lt;br /&gt;
&lt;br /&gt;
* The AppletViewer ignores everything in the file it reads except for the tags that embed a Java applet. You can see the tag that was read by the AppletViewer by going to &amp;lt;code&amp;gt;Applet &amp;gt; Tag...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* You can sometimes find more information about the author, version and copyright of an applet by going to &amp;lt;code&amp;gt;Applet &amp;gt; Info...&amp;lt;/code&amp;gt; in the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
* If a Java game requests external assets during gameplay and you don't have time to play through the entire game, try opening the game's &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; files in a hex editor such as [[Helpful Tools#General Software|HxD]. References to external assets are often plain text strings, so try searching for common asset types such as &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.jpg&amp;lt;/code&amp;gt; images or &amp;lt;code&amp;gt;.au&amp;lt;/code&amp;gt; sounds. Make a list of these assets, then download them from the internet and add them to the game's directory.&lt;br /&gt;
&lt;br /&gt;
== Application Paths ==&lt;br /&gt;
&lt;br /&gt;
This section will list all the possible values for the &amp;lt;code&amp;gt;Application Path&amp;lt;/code&amp;gt; field in the metadata and launcher. Note that both of these currently use Java 8 update 181. If you encounter any problems that you think might be solved by using an older Java version, read the steps in the [[#Troubleshooting|troubleshooting section]] first.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; to run the applet in the AppletViewer (as we saw in [[#Curation Steps|the example above]]). If you use this application path, put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJava.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the URL contains spaces, replace them with &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index%20with%20spaces.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also pass extra command line arguments to the Java Virtual Machine (JVM) by placing them '''after''' the URL. These options must be prefixed with '''-J''' For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -J-Duser.language=en -J-Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Read the [[#Troubleshooting|troubleshooting section]] to see how these may be used to solve some common problems.&lt;br /&gt;
&lt;br /&gt;
If the URL contains an ampersand (&amp;amp;) character, wrap it in double quotes. This happens when you use PHP to set certain parameters dynamically in the applet tag. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: &amp;quot;http://www.example.com/game/index.php?param1=value1&amp;amp;param2=value2&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Where &amp;quot;value1&amp;quot; and &amp;quot;value2&amp;quot; could change what the parameters are set to.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;FPSoftware\startJavaInBrowser.bat&amp;lt;/code&amp;gt; to run the applet in a browser. Unlike the application path mentioned above, you don't have to necessarily put the URL to the file that contains the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag in the &amp;lt;code&amp;gt;Launch Command&amp;lt;/code&amp;gt; field. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application Path: FPSoftware\startJavaInBrowser.bat&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The previous notes about the launch commands also apply, with the exception of the extra command line arguments. If you use &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, these options are '''not''' prefixed with '''-J'''. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Launch Command: http://www.example.com/game/index.html -Duser.language=en -Duser.country=US&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to this, you '''must''' always follow the next two steps. These will ensure that the applet is allowed to run in its domain with the correct Java version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add the game's domain to the end of the exception site list file in &amp;lt;code&amp;gt;FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;lt;/code&amp;gt;. For this example, this would be &amp;lt;code&amp;gt;http://www.example.com/&amp;lt;/code&amp;gt;. If you're curating multiple games from the same domain, you only have to do this once. Be sure to include this information in the &amp;lt;code&amp;gt;Curation Notes&amp;lt;/code&amp;gt; field in the metadata. For example: &amp;lt;code&amp;gt;Before testing the game, add http://www.example.com/ to the exception site list file in FPSoftware\Java\JDK_1.8.0_181\jre\lib\exception.sites&amp;quot;.&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add these two parameters to the &amp;lt;code&amp;gt;&amp;lt;applet&amp;gt;&amp;lt;/code&amp;gt; tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the applet uses an &amp;lt;code&amp;gt;&amp;lt;embed&amp;gt;&amp;lt;/code&amp;gt; tag instead, these parameters would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;embed java_version=&amp;quot;1.8.0_181&amp;quot; separate_jvm=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
These parameters have no effect if the same applet is launched in the AppletViewer via &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every applet that runs in a browser will show a security prompt that must be accepted before starting. To make this clear to Flashpoint users, add the following to the beginning of the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This Java game will run in a browser. Make sure to accept any security prompts that show up while playing.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_blocked_example.png|The security prompt that shows up if the applet's domain isn't added to the exception site list.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_warning_example.png|The security prompt that asks the user to allow the applet to run.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_certificate_warning_example.png|Another security prompt that asks the user to allow the applet to run. This one only appears if the applet includes an expired certificate.&lt;br /&gt;
&lt;br /&gt;
Image:java_browser_curation_example.png|The game Urbanoids running in a browser. Notice the various page elements that are used to interact with the game, and the three music tracks (MIDI, MOD, SID) that each require different plugins to be played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since in-browser Java applets are currently only supported on Windows, you should provide an option to launch them in the AppletViewer (if possible). You can do so by making an additional application called &amp;quot;Play in the AppletViewer&amp;quot; with the &amp;lt;code&amp;gt;startJava.bat&amp;lt;/code&amp;gt; application path, and by adding the following to the &amp;lt;code&amp;gt;Game Notes&amp;lt;/code&amp;gt; field in the metadata:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If playing in a browser doesn't work, try using the &amp;quot;Play in the AppletViewer&amp;quot; option under Additional Applications.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== When to run applets in a browser ====&lt;br /&gt;
&lt;br /&gt;
You should run Java applets in a browser if any of the following conditions are met:&lt;br /&gt;
* The page has two or more applets that communicate via JavaScript. Note that it's possible for multiple applets to communicate with each other using the AppletViewer, provided they do so using the [https://docs.oracle.com/javase/8/docs/api/java/applet/AppletContext.html#getApplet-java.lang.String- AppletContext.getApplet] method.&lt;br /&gt;
* The applet relies on page element interaction (e.g. pressing buttons) to be played.&lt;br /&gt;
* The applet uses browser cookies to save the game's progress. These are saved and loaded using JavaScript.&lt;br /&gt;
* The page contains other multimedia elements that enhance the experience. For example, the page might embed Flash or Shockwave movies, or play music (MIDI, MOD).&lt;br /&gt;
These aren't hard requirements, you can curate any applet using &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt; if you feel like it captures the original experience. If you decide to curate an applet using this application path, you should also include any other assets (images, sounds) that are embedded on the same page.&lt;br /&gt;
&lt;br /&gt;
==== Browser curation tips ====&lt;br /&gt;
&lt;br /&gt;
If some JavaScript code on the page is meant to interact with the applet, you should check how it's doing so. Older applets may rely on old JavaScript functionalities that modern browsers don't support. For examples, in the game Urbanoids, the player has to click a button on the page to start the game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function start_it() {&lt;br /&gt;
	document.game.clickStart();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 name=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;java_version&amp;quot; value=&amp;quot;1.8.0_181&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;separate_jvm&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This wouldn't work because the applet tag uses the attribute &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. To fix this, we would need to change it to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;noids.class&amp;quot; width=240 height=263 id=&amp;quot;game&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Java applets ==&lt;br /&gt;
&lt;br /&gt;
If an applet doesn't seem to be working properly, check if any error occurs while it's running. You can see what the applet writes to the standard output and error output by editing the batch files specified in the Application Path. It's highly recommended that you enable these features when curating Java applets.&lt;br /&gt;
&lt;br /&gt;
=== startJava.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;&amp;quot;java&amp;quot;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&amp;quot;javadebug&amp;quot;&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FlashpointSecurePlayer -n &amp;quot;java&amp;quot; -sw %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A separate window containing the applet's output will now show up everytime you run the AppletViewer.&lt;br /&gt;
&lt;br /&gt;
=== startJavaInBrowser.bat ===&lt;br /&gt;
&lt;br /&gt;
Open &amp;lt;code&amp;gt;FPSoftware\startJava.bat&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;OFF&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;ON&amp;lt;/code&amp;gt; in the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET FLASHPOINT_DEBUG_MODE=OFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will always show the Java console when the applet runs and will place a Java icon in the system tray, which you can use to bring up the console at any time.&lt;br /&gt;
&lt;br /&gt;
== Useful Tools and Resources ==&lt;br /&gt;
&lt;br /&gt;
This section will link to external tools and resources that may be useful to learn more about the technology or to try to get certain games and animations working.&lt;br /&gt;
&lt;br /&gt;
* AppletViewer: [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/appletviewer.html general documentation], [https://docs.oracle.com/javase/8/docs/technotes/tools/appletviewertags.html how it handles different tags]&lt;br /&gt;
&lt;br /&gt;
* Decompilers: [https://github.com/java-decompiler/jd-gui/releases JD-GUI], [https://github.com/deathmarine/Luyten/releases Luyten]&lt;br /&gt;
&lt;br /&gt;
* Bytecode Editors: [http://dirty-joe.com/ dirtyJOE], [https://github.com/GraxCode/JByteMod-Beta/releases JByteMod]. Always check if there's a simpler way to get Java applets working. Only modify the original files as a last resort!&lt;br /&gt;
&lt;br /&gt;
* API Specification for [https://docs.oracle.com/javase/8/docs/api/ Java SE 8].&lt;br /&gt;
&lt;br /&gt;
See also: [[Helpful Tools]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some of the problems that may arise when curating Java games and animations. It's highly recommended that you enable the debugging options mentioned above when curating Java applets. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== The applet closes immediately when I try to run it ===&lt;br /&gt;
&lt;br /&gt;
The AppletViewer will close immediately if it can't find the specified file or if this file doesn't have an applet tag. You should check if the launch command is correct and if the file has a valid applet tag in it.&lt;br /&gt;
&lt;br /&gt;
=== The applet is trying to request files that are suspiciously missing from the original site ===&lt;br /&gt;
&lt;br /&gt;
If the class files are packaged in JAR or ZIP archives, be sure to open them and check if the missing files are there. If they are, extract them to the same directory as the archive. Some Java games have trouble loading assets from inside these archives and will instead try to load them externally. Note that you'll never have to extract class files.&lt;br /&gt;
&lt;br /&gt;
=== The applet isn't displaying certain characters correctly ===&lt;br /&gt;
&lt;br /&gt;
Try setting the correct character encoding and locale properties in the AppletViewer. For example, if a game from GeoCities Japan needed to display Japanese characters, you would add '''all''' of the following to the end of the game's launch command: &amp;lt;code&amp;gt;-J-Dfile.encoding=UTF8 -J-Duser.language=ja -J-Duser.country=JP&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, remove the '''-J''' prefix.&lt;br /&gt;
&lt;br /&gt;
[[File:java_character_encoding_comparision.png|center|thumb|A comparision between using the English locale (left) and the Japanese locale (right)]]&lt;br /&gt;
&lt;br /&gt;
You can also see what the current character encoding and locale settings are in the AppletViewer by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, don't use this option. Instead, [[#startJavaInBrowser.bat_2 | enable the Java console]] and press 's' to show the current settings.&lt;br /&gt;
&lt;br /&gt;
If you would like to know more about which character encodings and locales are supported in Java 8, see:&lt;br /&gt;
* https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html&lt;br /&gt;
* https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html&lt;br /&gt;
&lt;br /&gt;
=== The applet ignores the Tab key's input ===&lt;br /&gt;
&lt;br /&gt;
If the applet doesn't seem to be registering the Tab key's input, then follow the next steps:&lt;br /&gt;
&lt;br /&gt;
# Download [https://bluepload.unstable.life/flashpointdisablefocustraversalkeyswrapperappletv2.zip this ZIP] which contains a wrapper applet that will fix this problem before loading the main applet.&lt;br /&gt;
# Put &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet.class&amp;lt;/code&amp;gt; next to the applet's class files or archives.&lt;br /&gt;
# Add the following parameter to the applet tag: &amp;lt;code&amp;gt;&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, where the value is the one specified in the code attribute. Remove the trailing &amp;lt;code&amp;gt;.class&amp;lt;/code&amp;gt; if there is one.&lt;br /&gt;
# Change the code attribute to &amp;lt;code&amp;gt;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;lt;/code&amp;gt;. The wrapper applet will run before loading the main one.&lt;br /&gt;
&lt;br /&gt;
This wrapper disables all forward and backwards focus traversal keys (like Tab and Shift-Tab), so that these key events become available to the key event listeners. These keys would normally be used to change the keyboard focus in components like buttons and text fields. Applets affected by this problem expect the Tab key's input to work since they were made before Java 1.4 (2002) where this change was introduced.&lt;br /&gt;
&lt;br /&gt;
Here's an example of a modified applet tag from the game Teslatron, where the second player uses the Tab key to drop bombs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;applet code=&amp;quot;FlashpointDisableFocusTraversalKeysWrapperApplet&amp;quot; width=&amp;quot;523&amp;quot; height=&amp;quot;367&amp;quot; archive=&amp;quot;client_hacked.zip&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;flashpointClassToLoad&amp;quot; value=&amp;quot;client.RobombClient&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;param name=&amp;quot;cabbase&amp;quot; value=&amp;quot;client.cab&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;game&amp;quot; value=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;on-site&amp;quot; value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;param name=&amp;quot;noPlayers&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on key listeners and focus traversal keys in Java, see the following pages:&lt;br /&gt;
&lt;br /&gt;
* https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html (in particular the first version note)&lt;br /&gt;
* https://www.developer.com/java/other/article.php/2244591/Changing-Focus-Traversal-Keys-in-Java-V14.htm&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start in the AppletViewer and shows the following error: netscape.javascript.JSException ===&lt;br /&gt;
&lt;br /&gt;
This means that the applet wants to interface with the browser, likely trying to execute some JavaScript code. This error may be ignored in some cases. For example, an applet that uses JavaScript to track the number of times the game has been played. If this doesn't impact the gameplay or show any side effects, you can safetly ignore it. Otherwise, you will need to run the applet in a browser. Refer to this section to learn how to do it.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows the following error: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that the class file is in fact just an HTML file. This is likely due to being served a 404 page because the class file is missing. Try opening the file in a text editor or browser to confirm this. The value 1008813135 represents &amp;lt;code&amp;gt;&amp;lt;!DO&amp;lt;/code&amp;gt;, in other words, the start of an HTML &amp;lt;code&amp;gt;&amp;lt;!DOCTYPE&amp;gt;&amp;lt;/code&amp;gt; declaration. You may see a different magic value in the error depending on the wrong type of file you were served. The class file format is always supposed to have 3405691582 (0xCAFEBABE in hexadecimal) as the first four bytes.&lt;br /&gt;
&lt;br /&gt;
=== The applet doesn't start and shows one of the following error: java.lang.ClassFormatError: Name index 0 in LocalVariableTable has bad constant type in class file ===&lt;br /&gt;
&lt;br /&gt;
This error means that Java encountered a problem while checking if the class file is formatted correctly. You can fix this by adding the following option to the end of the launch command: &amp;lt;code&amp;gt;-J-Xverify:none&amp;lt;/code&amp;gt;. If you're running the applet in a browser with &amp;lt;code&amp;gt;startJavaInBrowser.bat&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;-Xverify:none&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
This command line argument tells Java to skip the bytecode verification step, meaning this error will be ignored and the applet can continue running. Note that this should be done sparingly, and only when you know it's an error of this nature. You should always check if the applet works correctly after using it.&lt;br /&gt;
&lt;br /&gt;
This same fix also applies to the following errors: &amp;lt;code&amp;gt;java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;java.lang.ClassFormatError: Illegal field name &amp;quot;?&amp;quot; in class&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
More information about this error: when [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html compiling Java source files], you can specify certain debug options, one of which generates information about the local variables of each method (the LocalVariableTable attribute). This error happens when there's a single LocalVariableTable that is invalid according to the [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.13 class file format]. It seems to be most common with applets in the late 1990s and early 2000s which were compiled using older Java versions.&lt;br /&gt;
&lt;br /&gt;
[[File:java_dirtyjoe_localvariabletable_comparision.png|center|thumb|A comparision between a normal LocalVariableTable (left) and an invalid one (right) using [http://dirty-joe.com/ dirtyJOE]. Notice the use of an [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.3.2 invalid descriptor] (NULL) in this last one.]]&lt;br /&gt;
&lt;br /&gt;
== Developer Specific Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
This section will cover some problems that commonly show up when curating Java games and animations from specific developers. This might also be useful if you're experiencing similar issues in applets made by developers that aren't listed here. If you're experiencing an issue not mentioned in this section be sure to ask for help in the &amp;lt;code&amp;gt;#curator-lounge&amp;lt;/code&amp;gt; channel in the Flashpoint Discord server.&lt;br /&gt;
&lt;br /&gt;
=== MumboJumbo ===&lt;br /&gt;
&lt;br /&gt;
If a game crashes after your score reaches 1,000 points, try changing the locale property to English (US). You can do this by adding the following '''before''' the game's launch command: &amp;lt;code&amp;gt;-J-Duser.language=en -J-Duser.country=US&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that you won't experience this issue if this is already your default locale. To avoid curating a game that might crash for another player, try playing the game with the following locale settings: &amp;lt;code&amp;gt;-J-Duser.language=es -J-Duser.country=ES&amp;lt;/code&amp;gt;. You can see what the current locale settings are by using &amp;lt;code&amp;gt;-J-XshowSettings&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Why this happens: the game uses [https://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#getInstance-- &amp;lt;code&amp;gt;NumberFormat.getInstance()&amp;lt;/code&amp;gt;] to get a number format to format the player's score. This method uses the default locale, meaning that a number like one thousand is formatted as either &amp;lt;code&amp;gt;1,000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1.000&amp;lt;/code&amp;gt; [https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html depending on your locale]. The game's score font data is only defined for the numbers 0 through 9 and the comma, but not for the period. While the game is iterating over the formatted score string, the image data relative to the period will be returned as null, causing the game to eventually throw a NullPointerException when it accesses the image's attributes.&lt;br /&gt;
&lt;br /&gt;
=== GameHouse ===&lt;br /&gt;
&lt;br /&gt;
GameHouse Java games are both site and time locked, which means that they can only be played in certain domains and before a certain date. These game check where and when they're being played by requesting a file called &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; which contains one or more license keys. Each key is associated with a domain name and expiration date. The idea was that game portals like Shockwave.com or Yahoo! Games would pay GameHouse to renew their licenses. If a game detects that it's being played after this date, then it won't start and will print the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Init 2.4&lt;br /&gt;
Date Value 1567034208000&lt;br /&gt;
Please Contact GameHouse, Inc. for configuration instructions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're collecting a game's assets by using a tool like [[MAD4FP]], you can set your system clock to the year 2000 before running it.&lt;br /&gt;
&lt;br /&gt;
If you already have all the game's assets and want to curate it, change the contents of the &amp;lt;code&amp;gt;license.txt&amp;lt;/code&amp;gt; to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#gamehouse.com&lt;br /&gt;
Ajeaarvtzvfaapntzpjtziftzjgaakwszrgaabgaachaariszmesz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, you have to move the assets to &amp;lt;code&amp;gt;gamehouse.com&amp;lt;/code&amp;gt; (and not www.gamehouse.com). This new license key has no date associated with it, and was meant for GameHouse to host their own games without having to worry about expiration dates. Since you are moving the files from their original source, you can use the following directory structure: &amp;lt;code&amp;gt;gamehouse.com\Java\GameName&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you'd like to learn more about GameHouse's Java games installation instructions, see [https://web.archive.org/web/20190827130108id_/http://www.cyberkids.com/fg/gamehouse/JavaGameIntstall.txt this page].&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2593</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2593"/>
		<updated>2020-05-04T00:46:58Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in '''[https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet]''' that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Dumper ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Dumper&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 15 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (DumpedCacheInfo and DumpedCache) and two new files (DumpedCacheInfo.7z and DumpedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The DumpedCacheInfo.7z file contains the list of all your cached files while DumpedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send DumpedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send DumpedCache.7z in case you have any files belonging to a lost game. Since this file is larger than the previous one, you can [http://bluepload.unstable.life/ upload it here] and post the link in the same channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see what websites were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs begin in a certain way (like www.cartoonnetwork.com or www.nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will copy all cached files and place them in a single archive (called DumpedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use these to check if any important game assets weren't copied by FlashpointCacheDumper.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheDumper.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheDumper.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists Flash cookies&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on MIME type and URL)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies the Java Plugin's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all of Internet Explorer 6 or older's cache manually&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (to a separate archive and based on file extension)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to using NirSoft's IECacheView to list and copy files cached by Internet Explorer, this tool will also do this manually if it detects IE 6 or older. This is because of [https://en.wikipedia.org/wiki/Internet_Explorer#Cache a bug in these versions] where some cached files are left behind even though their respective indexes are deleted by the browser. IECacheView relies on these indexes to find the cached files, meaning we could potentially miss games that were left behind by this bug.&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); all Flash cookies; and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* FlashCookies.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* RawInternetExplorerCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawJavaPluginCache''' which contains all the files cached by the Java Plugin. These are separated into the following folders:&lt;br /&gt;
* AppData_LocalLow (for Windows Vista or newer)&lt;br /&gt;
* ApplicationData (for Windows XP or older)&lt;br /&gt;
* LocalSettings_ApplicationData (for Windows XP or older)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawJavaPluginCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawInternetExplorerCache''' which contains any files cached by Internet Explorer which have a certain file extension. These file extensions are [[#MIME types and file extensions|listed below]]. This folder is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawInternetExplorerCache.7z''' This file is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. Like the Java Plugin folder, these are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''DumpedCache''' and '''DumpedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type, URL or file extension.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see some of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Dumper's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, URL, and Extension (for &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; only). The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;FlashCookies.csv&amp;lt;/code&amp;gt; file lists the Flash cookies (local shared objects) that were saved by Flash applications. These were used for several purposes, including saving a Flash game's progress. Note that these are not game files, and will not be copied by this tool. They only indicate that a specific game was played at some point, and not necessarily that its files are still in your cache.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawJavaPluginCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by the Java Plugin. To do so, use the Java application located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;. Much like the Cache Viewer programs used by the Flashpoint Cache Dumper, this application will also create a CSV file with additional information. See the readme.txt file in that same folder for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
==== The RawInternetExplorerCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt; folder exists, you should pay close attention to the files it contains. This folder is only created if the tool detected Internet Explorer 6 or older, and may contain extra files that are not listed in &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; or contained in InternetExplorer. You may use the SearchMyFiles utility to explore this folder and the CSV Viewer to check &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MozillaCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Dumper. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Dumper, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2592</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2592"/>
		<updated>2020-05-04T00:46:36Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown. You can track the recovery process in [https://docs.google.com/spreadsheets/d/10n8l8hBhaQHMVV83AV_-iBHO9Jdkxlo-mjb3KtRF4tU/edit?usp=sharing this spreadsheet] that shows which game assets have been found.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Dumper ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Dumper&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 15 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (DumpedCacheInfo and DumpedCache) and two new files (DumpedCacheInfo.7z and DumpedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The DumpedCacheInfo.7z file contains the list of all your cached files while DumpedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send DumpedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send DumpedCache.7z in case you have any files belonging to a lost game. Since this file is larger than the previous one, you can [http://bluepload.unstable.life/ upload it here] and post the link in the same channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see what websites were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs begin in a certain way (like www.cartoonnetwork.com or www.nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will copy all cached files and place them in a single archive (called DumpedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use these to check if any important game assets weren't copied by FlashpointCacheDumper.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheDumper.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheDumper.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists Flash cookies&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on MIME type and URL)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies the Java Plugin's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all of Internet Explorer 6 or older's cache manually&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (to a separate archive and based on file extension)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to using NirSoft's IECacheView to list and copy files cached by Internet Explorer, this tool will also do this manually if it detects IE 6 or older. This is because of [https://en.wikipedia.org/wiki/Internet_Explorer#Cache a bug in these versions] where some cached files are left behind even though their respective indexes are deleted by the browser. IECacheView relies on these indexes to find the cached files, meaning we could potentially miss games that were left behind by this bug.&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); all Flash cookies; and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* FlashCookies.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* RawInternetExplorerCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawJavaPluginCache''' which contains all the files cached by the Java Plugin. These are separated into the following folders:&lt;br /&gt;
* AppData_LocalLow (for Windows Vista or newer)&lt;br /&gt;
* ApplicationData (for Windows XP or older)&lt;br /&gt;
* LocalSettings_ApplicationData (for Windows XP or older)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawJavaPluginCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawInternetExplorerCache''' which contains any files cached by Internet Explorer which have a certain file extension. These file extensions are [[#MIME types and file extensions|listed below]]. This folder is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawInternetExplorerCache.7z''' This file is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. Like the Java Plugin folder, these are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''DumpedCache''' and '''DumpedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type, URL or file extension.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see some of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Dumper's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, URL, and Extension (for &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; only). The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;FlashCookies.csv&amp;lt;/code&amp;gt; file lists the Flash cookies (local shared objects) that were saved by Flash applications. These were used for several purposes, including saving a Flash game's progress. Note that these are not game files, and will not be copied by this tool. They only indicate that a specific game was played at some point, and not necessarily that its files are still in your cache.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawJavaPluginCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by the Java Plugin. To do so, use the Java application located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;. Much like the Cache Viewer programs used by the Flashpoint Cache Dumper, this application will also create a CSV file with additional information. See the readme.txt file in that same folder for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
==== The RawInternetExplorerCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt; folder exists, you should pay close attention to the files it contains. This folder is only created if the tool detected Internet Explorer 6 or older, and may contain extra files that are not listed in &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; or contained in InternetExplorer. You may use the SearchMyFiles utility to explore this folder and the CSV Viewer to check &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MozillaCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Dumper. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Dumper, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
	<entry>
		<id>https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2553</id>
		<title>Recovering Files from Browser Cache</title>
		<link rel="alternate" type="text/html" href="https://flashpointarchive.org/w/index.php?title=Recovering_Files_from_Browser_Cache&amp;diff=2553"/>
		<updated>2020-04-28T04:38:12Z</updated>

		<summary type="html">&lt;p&gt;Strawrat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Web browsers often save files from websites you visit in a location called the &amp;quot;cache&amp;quot;. This speeds up page loading times on subsequent visits because the cached files do not have to be redownloaded. We can use this to our advantage when looking for web games whose files are now unavailable.&lt;br /&gt;
&lt;br /&gt;
This method for finding assets belonging to lost games is imprecise for a few reasons: &lt;br /&gt;
* It requires access to an old computer where you played the game. &lt;br /&gt;
* Files in your browser cache might have been deleted automatically or manually.&lt;br /&gt;
* A game could have a lot of files, some of which are only requested at certain times. For example, the files for each level might only be downloaded when you beat the previous level. This would require you to have completed the whole game.&lt;br /&gt;
&lt;br /&gt;
Because of this, you're more likely to find a game by using one of the following methods:&lt;br /&gt;
* Checking if the files are still in the original site. They might still exist even if the game is unlisted.&lt;br /&gt;
* Checking if the game exists on another site.&lt;br /&gt;
* Checking the [https://archive.org/web/ Wayback Machine].&lt;br /&gt;
* Looking for a fan or fanmade project who saved the game while it was still available.&lt;br /&gt;
* Asking a developer who worked on the game if they still have any files they'd be willing to send.&lt;br /&gt;
&lt;br /&gt;
This guide will list some lost games where these methods have all been tried and which are only likely to be found by searching the web cache. It will also show you how to recover these cached files by using a small script which can be easily run on a computer running Windows 98, ME, 2000, XP, Vista, 7, 8.1 or 10.&lt;br /&gt;
&lt;br /&gt;
== List of currently lost games ==&lt;br /&gt;
&lt;br /&gt;
This section lists some missing games where searching for their files in browser cache seems like the most promising way to find them. '''If you still have access to an old computer where you played any of these, be sure to contact a staff member in the #web-cache channel of [http://discord.gg/S9uJ794 our Discord server!] You could very well help us make them playable again.'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.fosters-home.com/forum/showthread.php?t=4737 Big Fat Awesome House Party]''' (2006-2009): a Shockwave game released on May 15th, 2006, which was playable on &amp;lt;code&amp;gt;awesomehouseparty.com&amp;lt;/code&amp;gt;. It was developed by Powerful Robot Games and published by Cartoon Network. The game was discontinued on July 13th, 2009, not long after the show it was based on ended. The game had a Flash movie which was used to handle account registrations and logins (this shouldn't be confused for the real game). These Flash files were hosted on &amp;lt;code&amp;gt;i.awesomehouseparty.com&amp;lt;/code&amp;gt;. The files for the actual Shockwave game are all missing and may have been hosted here as well. The names of these files are also unknown.&lt;br /&gt;
&lt;br /&gt;
* '''Wave Rider''' (2007-2016): Added to Candystand.com on October 11, 2007 and removed on Jan 1, 2016. The branded assets and 4th level have been recovered, but the 1st-3rd levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Dirt Track''' (2008-2016): Added to Candystand.com on July 2, 2008 and removed on Jan 1, 2016. The branded assets and 1st level have been recovered, but the 2nd-4th levels and unbranded assets have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Stack-it''' (2008-2016): Added to Candystand.com on May 7, 2008 and removed on Jan 1, 2016. The 1st-5th action levels and branded versions have been recovered, but the 6th-34th action and 3rd-34th puzzle levels have not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''4 Wheel Blitz''' (2006-2016): Added to Candystand.com on July 21, 2006 and removed on Jan 1, 2016. An incomplete version was recovered, but the full version with a few more logos has not been recovered yet.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik World''' (2004-2008): a point and click Flash game released in 2004, which served as the hub of &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt;. Players could move around various locations in the game's world, some of which linked to other pages and games on the website. The game was removed in late 2008 due to changes in the website. Although the Wayback Machine saved a reasonable amount of assets, the files for each different room in the 2D world map (&amp;lt;code&amp;gt;a5.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;b6.swf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;c2.swf&amp;lt;/code&amp;gt;, etc) are all missing.&lt;br /&gt;
&lt;br /&gt;
* '''Nesquik Xtreme Kart''' (2004-2008): a Shockwave racing game released in 2004, which was playable on &amp;lt;code&amp;gt;nesquik.com&amp;lt;/code&amp;gt; until it was removed in late 2008 due to changes in the website. Only the game's loader (&amp;lt;code&amp;gt;loader.dcr&amp;lt;/code&amp;gt;) was saved by the Wayback Machine. The following files are missing: &amp;lt;code&amp;gt;xtremekart.dcr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3d.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;graphics.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;library.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scripts.cct&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sounds.cct&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;track1.cct&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;track5.cct&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* '''Toonami: Trapped in Hyperspace''' (2002): a 3D Groove game which was on the Cartoon Network website, meant as part of Toonami's TIE event. It was a game like Descent which involves flying a ship through a futuristic maze and shooting enemies. The TV series is on YouTube, and a partially corrupted prototype exists courtesy of the game's developer Pepworks, but the final game in its entirety is gone, and all that Wayback Machine saved is its loader. The game's main file would have been called &amp;lt;code&amp;gt;toon0.dcr&amp;lt;/code&amp;gt;. This is NOT to be confused with the &amp;lt;code&amp;gt;toon.dcr&amp;lt;/code&amp;gt; file which is only a loader and is not a part of the game!&lt;br /&gt;
&lt;br /&gt;
* '''Waffleboy Mountain Adventure''': a Flash game from Postopia which was developed by Smashing Ideas. It's a tough as nails 2D platformer with motorcycle segments and minigames. This game is partially playable in Flashpoint but is missing important files including cutscenes.&lt;br /&gt;
&lt;br /&gt;
* '''Orbitz Spherez''': a Shockwave game from Candystand that was removed January 1, 2016. The game's premise is similar to Marble Blast; it's a 3D platformer where you navigate a marble through an obstacle course. This game is partially playable in Flashpoint, but is missing the Shockwave 3D World files for levels 4 - 6, and will simply crash when it tries to load a non-existent level.&lt;br /&gt;
&lt;br /&gt;
* '''Wonderville 3D''' (2004 - 2011): an educational Shockwave game that was developed by Idea Machine/Rare Method for the Wonderville Foundation. It involved navigating a 3D city on a hoverboard to find minigames and trivia facts. It was meant to serve as a resource for school students, and was created in Calgary based on the Alberta curriculum. All that exists of it is a loader and screenshot.&lt;br /&gt;
&lt;br /&gt;
* '''Jimmy Neutron Gotta Blast: Rocket Race''' (2002 '''Promo Version'''): a 3D Groove game developed by Gigawatt Studios which was added to the Nick website in 2002 and taken down the same year in September as part of a contest. The contest was advertised on TV and there exists commercials of it on YouTube. There is a non-promo version with all the contest elements including the online multiplayer and extra levels stripped, which is available in Flashpoint, but the original promo version is lost. This game was available for only a very brief period, so it's likely very rare.&lt;br /&gt;
&lt;br /&gt;
* '''Burnin' Rubber (Virtools)''': an alternate version of the game Burnin' Rubber which plays in the 3DVIA Player, rather than using Shockwave 3D. This was developed by Xform before the Shockwave port. ''The Shockwave port is NOT lost!'' The original Virtools game was never available on Shockwave.com and was exclusively available on Xform's own website Xform.nl!&lt;br /&gt;
&lt;br /&gt;
* '''Riven Elementary''' (1996): a small Shockwave game developed by Jigint Interactive for Shockwave.com, meant to promote Riven: The Sequel to Myst by Cyan Worlds. The game features the only instance of D'ni numerals being used in math equations, although this is non-canon. The main game file exists but many images are missing and have been recreated as closely as possible using screenshots from Riven.&lt;br /&gt;
&lt;br /&gt;
* '''Postopia Game Frame''' (2003-2006): A small collection of 6 shockwave games from Skyworks Technologies made to advertise the Postopia PDA. The first 3 games were available to play while the other 3 needed postoken codes from PDAs inside select cereal boxes to unlock, Despite this however, every game was stored on a single CCT file (ppdadata.cct) that the main DCR (ppdamain.dcr) would load from. The CCT file was the only part of Game Frame not archived.&lt;br /&gt;
&lt;br /&gt;
* '''Jeep Disc Dogger''' (2001): A 3D Groove advergame developed for Jeep, by Yaya and Wei Ho. The description of the game from Jeep.com was &amp;quot;Ah, nature. Just you, your Jeep® vehicle and your dog. Play catch and rack up points in this fun game.&amp;quot; No download version was available.&lt;br /&gt;
&lt;br /&gt;
* '''Mountain Dew Skateboarding''': A 3D Groove advergame developed for Mountain Dew by Pepworks. This is a realistic skateboarding game with a trick system, where you collected Mountain Dew as energy points. An unbranded release candidate is in Flashpoint, but the branded version is lost.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream 2''' (2009-2016): The sequel to Slipstream, a Shockwave game which was added to Candystand on Jan 6, 2009, and was removed on Jan 1, 2016&lt;br /&gt;
&lt;br /&gt;
* '''Night Spy Mission''' (2003-2011): A stealth maze game from Postopia developed by Smashing Ideas. Your objective was to navigate through your house to sneak a movie in with your friends without waking up your parents, which would happen if you interacted with red tiles for too long. Along the way you could pick up collectables for points and items to help you get through blocked paths.&lt;br /&gt;
&lt;br /&gt;
=== Gallery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image:Cache_Dumper_-_Big_Fat_Awesome_House_Party.jpg | Big Fat Awesome House Party being played on Mozilla Firefox in Windows XP. Taken from [https://www.youtube.com/watch?v=aOd4z3TMHZE this YouTube video] uploaded on March 29, 2009.&lt;br /&gt;
&lt;br /&gt;
Image:WaveRider.PNG | Screenshot of Wave Rider's first level taken from the [https://www.youtube.com/watch?v=CwJRCacWHuI tralier] on Candystand's official Youtube channel. The video was uploaded on Oct 16, 2007.&lt;br /&gt;
&lt;br /&gt;
Image:DirtTrack.PNG | Screenshot of Dirt Track's second level being played on a Windows 7 computer. Taken from [https://www.youtube.com/watch?v=UGaUNsgHX8w this video] uploaded on Dec 31, 2010.&lt;br /&gt;
&lt;br /&gt;
Image:4WheelBlitz.png | Screenshot of 4 Wheel Blitz, showing off a logo not present in the incomplete version currently found.&lt;br /&gt;
&lt;br /&gt;
Image:StackIt.png | Screenshot of Stack-it, taken from the incomplete version currently on Flashpoint.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_World.jpg | A screenshot of a room in Nesquik World.&lt;br /&gt;
&lt;br /&gt;
Image:Nesquik_Xtreme_Kart.jpg | A screenshot of a track in Nesquik Xtreme Kart. Taken from [https://www.oneclub.org/awards/theoneshow/-award/3100/nesquik-xtreme-kart-challenge The One Club's website.]&lt;br /&gt;
&lt;br /&gt;
Image:Toonami_Trapped_in_Hyperspace.jpg | Screenshots of Toonami: Trapped in Hyperspace. Taken from [http://pepworks.com/img/p10_cartoon_network.jpg Pepworks.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Spherezlevel4.PNG | Screenshot of Spherez fourth level taken from [https://www.youtube.com/watch?v=DqNvORYAGAk this video]. Uploaded Jan 31, 2009&lt;br /&gt;
&lt;br /&gt;
Image:Wonderville_3D.gif | A screenshot of Wonderville 3D. Taken from [https://web.archive.org/web/20111201135448/http://macromedia.com/showcase/casestudies/wonderville/screenshot.gif Macromedia.com.]&lt;br /&gt;
&lt;br /&gt;
Image:Jimmy_Neutron_Gotta_Blast_Rocket_Race_Promo_Version.png | A screenshot of a commercial for Jimmy Neutron: Gotta Blast! Rocket Race (Promo Version). Taken from [https://youtu.be/953t6nbkmao this YouTube video].&lt;br /&gt;
&lt;br /&gt;
Image:PostopiaGameFrame_3.jpg | A screenshot of Postopia Game Frame. Taken from [https://dribbble.com/shots/961495-Postopia-Game-Frame The Designers dribbble.com page.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Sshot_3_lg.jpg | A screenshot of Jeep Disc Dogger.&lt;br /&gt;
&lt;br /&gt;
Image:P03_pepsi.jpg | Screenshots of Mountain Dew Skateboarding, from pepworks.com&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
Image:Slipstream2.png| Screenshot of Slipstream 2 taken from [https://plaza.rakuten.co.jp/wipeout/diary/201004240002/ this website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image:Scrn_game_nightspy.jpg| A thumbnail of Night Spy Mission taken from Postopia on the Wayback Machine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List of games found by searching the web cache ==&lt;br /&gt;
&lt;br /&gt;
This section lists some previously lost games which were recovered from a web browser's cache.&lt;br /&gt;
&lt;br /&gt;
* '''Slipstream''' (2008-2016): a Shockwave game from Candystand.com. The game was added to the site on March 4th, 2008, and removed on January 1st, 2016.&lt;br /&gt;
&lt;br /&gt;
* '''Match Maker''' (2004-2009, 2011-2016): Added to Candystand.com in 2004 and replaced by Flash version in 2009 due to a change in ownership. It was rebranded as &amp;quot;Match Maker Classic&amp;quot; in 2011 where it stayed until Jan 1, 2016 when the website was discontinued.&lt;br /&gt;
&lt;br /&gt;
* '''Delivery Boy Branded Assets''' (2008-2009): Added to Candystand.com on May 30, 2008 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''3 Point Shootout Branded Version''' (2007-2009): Added to Candystand.com on September 14, 2007 and rebranded in 2009 due to a change in ownership.&lt;br /&gt;
&lt;br /&gt;
* '''McDonalds Line Rider''' (2008-2009): McDonalds branded version of Line Rider that was added to minisizefun.com on August 25, 2008, and then removed the next year on November 11, 2009.&lt;br /&gt;
&lt;br /&gt;
* '''Jak &amp;amp; Daxter: The Precursor Legacy - The Lost Levels''' (2001-????): An official Java demake of the first world of Jak &amp;amp; Daxter: The Precursor Legacy. Originally found on Jakanddaxterlegend.com.&lt;br /&gt;
&lt;br /&gt;
== Flashpoint Cache Dumper ==&lt;br /&gt;
&lt;br /&gt;
This section will show you how to use a small tool called &amp;quot;Flashpoint Cache Dumper&amp;quot; to list and copy cached files from various web browsers.&lt;br /&gt;
&lt;br /&gt;
This script works with Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, and Netscape Navigator. It should run on Windows 98, ME, 2000, XP, Vista, 7, 8.1, or 10 without needing an Administrator account or elevated privileges.&lt;br /&gt;
&lt;br /&gt;
'''[https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Download the latest version here.]'''&lt;br /&gt;
&lt;br /&gt;
You can use a USB flash drive to get this tool into your old computer, and the resulting .7z files out of it. Don't use the web browsers on your old computer to download it. You may delete cached game files while doing so. You should move this tool to the Desktop before running it, and also run it for each user profile on your computer. If you can't boot your old computer to run this tool but have access to its files, see [[#Other_ways_of_exploring_the_cache|this section below]].&lt;br /&gt;
&lt;br /&gt;
Read the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file if you have any other questions.&lt;br /&gt;
&lt;br /&gt;
=== How to run it ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run the file you downloaded above. You'll be asked to choose a location where you want the tool to be extracted. Choose one and then press &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_1.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_2.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Navigate to the new folder where the tool was extracted to and run the batch file &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;. A new window will pop up. Read what it says and then press Enter to start running the script. If you are using Windows 98 or ME, run &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_3.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_4.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Let the script run through its 15 steps. After it finishes, press Enter again to close the window. You'll now have two new folders (DumpedCacheInfo and DumpedCache) and two new files (DumpedCacheInfo.7z and DumpedCache.7z). Other files and folders may also be created.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_5.png]]&lt;br /&gt;
[[File:Cache_dumper_tutorial_6.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
The DumpedCacheInfo.7z file contains the list of all your cached files while DumpedCache.7z contains some (but not all) of these files. See the [[#Analyzing_the_results|section below]] to learn how to check these files and folders for lost game assets.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, if you don't know what to do with these files, you can send DumpedCacheInfo.7z first to a staff member. This may be done privately (by messaging them directly) or by posting the file in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of [http://discord.gg/S9uJ794 our Discord server]. You may be asked to send DumpedCache.7z in case you have any files belonging to a lost game. Since this file is larger than the previous one, you can [http://bluepload.unstable.life/ upload it here] and post the link in the same channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Be aware that whoever you send the resulting files to will be able to see what websites were visited and the username of the computer where the script ran.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Cache_dumper_tutorial_7.png]]&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the complete version ===&lt;br /&gt;
&lt;br /&gt;
This section will talk about a variant of the script above which will copy '''all''' cached files along with some extra content. '''If this is your first time running this tool, you can skip this section for now.'''&lt;br /&gt;
&lt;br /&gt;
The script we ran above only copies cached files if they're in [[#MIME types and file extensions|a format that was used by web plugins]] (like Flash or Shockwave) or if their URLs begin in a certain way (like www.cartoonnetwork.com or www.nabiscoworld.com). Since a web game can use files in any arbitrary format, some game assets may not be copied over. If you want to be thorough, run &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. This will copy all cached files and place them in a single archive (called DumpedCache.7z) which will be much larger than the two we saw above.&lt;br /&gt;
&lt;br /&gt;
Note that both of these scripts always generate a list of all cached files, so you can use these to check if any important game assets weren't copied by FlashpointCacheDumper.bat.&lt;br /&gt;
&lt;br /&gt;
Here are the key features of the two batch files included in this tool:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Feature&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | FlashpointCacheDumper.bat&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | App\CompleteFlashpointCacheDumper.bat&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Lists Flash cookies&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Saves some system information&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all cached files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (based on MIME type and URL)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies the Java Plugin's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies all of Internet Explorer 6 or older's cache manually&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | No, only some (to a separate archive and based on file extension)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Copies Netscape Navigator's cache&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes (to a separate archive)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to using NirSoft's IECacheView to list and copy files cached by Internet Explorer, this tool will also do this manually if it detects IE 6 or older. This is because of [https://en.wikipedia.org/wiki/Internet_Explorer#Cache a bug in these versions] where some cached files are left behind even though their respective indexes are deleted by the browser. IECacheView relies on these indexes to find the cached files, meaning we could potentially miss games that were left behind by this bug.&lt;br /&gt;
&lt;br /&gt;
=== What it creates after running successfully ===&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; the following files and folders will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCacheInfo''' which contains the following files (some may not exist if the respective web browser isn't installed). These files list all the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, Safari, and Opera (below version 15); all Flash cookies; and some system information (Windows version, install date, Internet Explorer's version and cache location).&lt;br /&gt;
* ChromeCache.csv&lt;br /&gt;
* MozillaCache.csv&lt;br /&gt;
* FlashCookies.csv&lt;br /&gt;
* InternetExplorerCache.csv&lt;br /&gt;
* OperaCache.csv&lt;br /&gt;
* RawInternetExplorerCache.csv&lt;br /&gt;
* SafariCache.csv&lt;br /&gt;
* SystemInfo.txt&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCacheInfo.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''DumpedCache''' which contains the following folders (some may not exist if the respective web browser isn't installed). These folders contain some (not all) of the files cached by Internet Explorer, Mozilla Firefox, Google Chrome, and Opera (below version 15). Only the cached files which have a certain MIME type or were in a given website are copied. These MIME types are [[#MIME types and file extensions|listed below]].&lt;br /&gt;
* Chrome&lt;br /&gt;
* Mozilla&lt;br /&gt;
* InternetExplorer&lt;br /&gt;
* Opera&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''DumpedCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawJavaPluginCache''' which contains all the files cached by the Java Plugin. These are separated into the following folders:&lt;br /&gt;
* AppData_LocalLow (for Windows Vista or newer)&lt;br /&gt;
* ApplicationData (for Windows XP or older)&lt;br /&gt;
* LocalSettings_ApplicationData (for Windows XP or older)&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawJavaPluginCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawInternetExplorerCache''' which contains any files cached by Internet Explorer which have a certain file extension. These file extensions are [[#MIME types and file extensions|listed below]]. This folder is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawInternetExplorerCache.7z''' This file is only created if it detects Internet Explorer version 6 or older.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A folder called '''RawNetscapeNavigatorCache''' which contains files cached by Netscape Navigator. Like the Java Plugin folder, these are separated into the various subfolders depending on the browser's version.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
A compressed archive of this folder, called '''RawNetscapeNavigatorCache.7z'''.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;App\CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt;, only one folder and compressed archive are created: '''DumpedCache''' and '''DumpedCache.7z'''. These contain all of the previous information as well as every single cached file, regardless of their MIME type, URL or file extension.&lt;br /&gt;
&lt;br /&gt;
=== Analyzing the results ===&lt;br /&gt;
&lt;br /&gt;
After running the batch file, you'll have CSV files which list every file cached by a given browser and a copy of some of these. You can now search for missing game files any way you want.&lt;br /&gt;
&lt;br /&gt;
If you found a lost game or need help analyzing your files, contact a staff member in the &amp;lt;code&amp;gt;#web-cache&amp;lt;/code&amp;gt; channel of our Discord server. Remember that whoever you send the resulting .7z files to will be able to see some of the websites that were visited and the username of the computer where the script ran. Sending individual game assets is usually fine. Any files you wish to share with a Flashpoint staff member can also be [https://bluepload.unstable.life/ uploaded here.]&lt;br /&gt;
&lt;br /&gt;
==== The SystemInfo.txt file ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file can be opened by using a text editor like Notepad. It may contain the following system information: the current Flashpoint Cache Dumper's version, the current date, the operating system's name, version, system type, and original install date, and Internet Explorer's version and cache location. This is useful if you want to find out which Windows and Internet Explorer versions were used in your old computer.&lt;br /&gt;
&lt;br /&gt;
==== The CSV files ====&lt;br /&gt;
&lt;br /&gt;
You can import each CSV file to a spreadsheet program and see all the items that were cached by a specific browser. This tool comes with a lightweight CSV Viewer, which is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;. You can open a CSV file by going to &amp;lt;code&amp;gt;File &amp;gt; Open CSV\Tab-Delimited File&amp;lt;/code&amp;gt; or by dragging and dropping it in the program. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename, Content Type, URL, and Extension (for &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; only). The &amp;quot;Last Accessed&amp;quot; and &amp;quot;Last Modified&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
Check the [[#MIME types and file extensions|section below]] to see the various MIME types and file extensions that were used by web games. Note that Shockwave .dcr files may be saved as .dir because of their MIME type. If a game requires an asset called &amp;quot;game.dcr&amp;quot;, you should look for both that file and &amp;quot;game.dir&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;FlashCookies.csv&amp;lt;/code&amp;gt; file lists the Flash cookies (local shared objects) that were saved by Flash applications. These were used for several purposes, including saving a Flash game's progress. Note that these are not game files, and will not be copied by this tool. They only indicate that a specific game was played at some point, and not necessarily that its files are still in your cache.&lt;br /&gt;
&lt;br /&gt;
[[File:Cache_dumper_spreadsheet.png|center|frame|Part of the &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; file after it was imported into Google Sheets. The four columns shown represent the Filename, MIME Type, URL and Last Access Date. Here we can see some Flash and 3DVIA games, and even a VRML world.]]&lt;br /&gt;
&lt;br /&gt;
==== The browser folders ====&lt;br /&gt;
&lt;br /&gt;
In order to check the cached files that were copied over from a specific browser, you can use the SearchMyFiles utility located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. You can list and apply various filters to every file in a given folder by putting its absolute path in the &amp;lt;code&amp;gt;Base Folders&amp;lt;/code&amp;gt; field or by locating it manually using the &amp;quot;Browse...&amp;quot; button. Then, press &amp;lt;code&amp;gt;Start Search&amp;lt;/code&amp;gt; and wait until a second window pops up. You'll likely want to sort them by a specific column to make searching for specific games or file types easier. The most useful columns are: Filename and Extension. The &amp;quot;Modified Time&amp;quot;, &amp;quot;Created Time&amp;quot;, and &amp;quot;Last Accessed Time&amp;quot; columns are also useful if you want to make sure that you have the most recent version of a particular game (provided you know when the game was released and removed from its website).&lt;br /&gt;
&lt;br /&gt;
==== The RawJavaPluginCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by the Java Plugin. To do so, use the Java application located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;. Much like the Cache Viewer programs used by the Flashpoint Cache Dumper, this application will also create a CSV file with additional information. See the readme.txt file in that same folder for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
==== The RawInternetExplorerCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawInternetExplorerCache&amp;lt;/code&amp;gt; folder exists, you should pay close attention to the files it contains. This folder is only created if the tool detected Internet Explorer 6 or older, and may contain extra files that are not listed in &amp;lt;code&amp;gt;InternetExplorerCache.csv&amp;lt;/code&amp;gt; or contained in InternetExplorer. You may use the SearchMyFiles utility to explore this folder and the CSV Viewer to check &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== The RawNetscapeNavigatorCache folder ====&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder contains any files (and not just empty folders), then you may want to export these to see what was cached by Netscape Navigator. To do so, use a program called &amp;quot;Tim Johnson's Cache View&amp;quot; which is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;. This is an older application that allows you to view the cache of the following browsers: Netscape Navigator, Mozilla, Firebird, Firefox, Opera, and Internet Explorer. Note that it will always try to open its help file when you run it. On more modern machines, it will fail to do so and display and message that says &amp;quot;Failed to launch help.&amp;quot;. Ignore this message and continue by pressing the OK button.&lt;br /&gt;
&lt;br /&gt;
To view Netscape Navigator's cache, go to &amp;lt;code&amp;gt;View &amp;gt; Options...&amp;lt;/code&amp;gt; and select the &amp;lt;code&amp;gt;Show browser cache in this folder:&amp;lt;/code&amp;gt; option. Then, you'll need to either enter the absolute path to the folder that contains the browser's cache database file, or locate it manually by using the &amp;quot;Browse...&amp;quot; button. There should be one database file in each subfolder in the &amp;lt;code&amp;gt;RawNetscapeNavigatorCache&amp;lt;/code&amp;gt; folder. These may be called &amp;quot;Fat&amp;quot;, &amp;quot;fat.db&amp;quot;, &amp;quot;cache.db&amp;quot;, or &amp;quot;_CACHE_MAP_&amp;quot;. For example, the following directory which contains a fat.db file: &amp;lt;code&amp;gt;C:\Users\John\Desktop\RawNetscapeNavigatorCache\Default_4.x_User_Profiles\default&amp;lt;/code&amp;gt;. Finally, press OK to exit the options menu, and go to &amp;lt;code&amp;gt;File &amp;gt; Re-load Cache&amp;lt;/code&amp;gt; to view Netscape Navigator's cache.&lt;br /&gt;
&lt;br /&gt;
To export Netscape Navigator's cache, follow the previous steps and then select the files you want to export by holding Ctrl while clicking on them. You can select every file by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, right-click on the selection and go to &amp;lt;code&amp;gt;Copy to...&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the destination folder or locate it using the &amp;quot;Browse&amp;quot; button. Finally, press the OK button to export the cache to this folder.&lt;br /&gt;
&lt;br /&gt;
You can follow these same steps to view/export the cache of older browsers that can't be opened with NirSoft's tools. Unlike NirSoft's cache viewers, Tim Johnson's Cache View expects you to enter the path of the directory that contains the cache index/database file. For example, if you wanted to view Internet Explorer's cache, you'd enter:&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer&amp;lt;/code&amp;gt; for NirSoft's IECacheView.&lt;br /&gt;
* &amp;lt;code&amp;gt;C:\Users\John\Desktop\DumpedCache\RawInternetExplorer\Content.IE5&amp;lt;/code&amp;gt; for Tim Johnson's Cache View.&lt;br /&gt;
This is because the index.dat file is located in &amp;quot;Content.IE5&amp;quot; (in the case of this Internet Explorer version).&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v7-selfextracting.exe Version 7] (2020-04-26):&lt;br /&gt;
** Added support for Windows 98 and ME. To run this tool in those versions, use &amp;lt;code&amp;gt;Win-98-ME-FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Win-98-ME-CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
** Added support for Netscape Navigator 3.x through 9.x. These cached files are saved to &amp;lt;code&amp;gt;RawNetscapeNavigatorCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated the README with instructions on how to analyze the resulting files and other ways of exploring the cache.&lt;br /&gt;
** The batch files now save more information to &amp;lt;code&amp;gt;RawInternetExplorerCache.csv&amp;lt;/code&amp;gt; (renamed from &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt;). This was done by including [https://www.nirsoft.net/utils/search_my_files.html NirSoft's SearchMyFiles], which is located in &amp;lt;code&amp;gt;App\searchmyfiles&amp;lt;/code&amp;gt;. This CSV file is now always created, instead of only being generated if it detects Internet Explorer 6 or older.&lt;br /&gt;
** Added a new cache viewer called [http://www.progsoc.uts.edu.au/~timj/cv/ Tim Johnson's Cache View]. This tool can be used to load Netscape Navigator's cache, and is located in &amp;lt;code&amp;gt;App\cview285&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt; file now also saves which batch file was used, and the date when it ran.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;ContentTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt;, respectively.&lt;br /&gt;
** Added Atomic3D Player and Pulse Player's MIME types and file extensions to &amp;lt;code&amp;gt;MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;. Also added some missing ones for Authorware, Hypercosm 3D Player, Java, Silverlight, Viscape, and VRML.&lt;br /&gt;
** Added more websites to &amp;lt;code&amp;gt;WebsitesToSave.txt&amp;lt;/code&amp;gt; and categorized any previously unsorted domains.&lt;br /&gt;
** Renamed &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;DoesBatchWork.bat&amp;lt;/code&amp;gt;. This script now works will all supported Windows versions.&lt;br /&gt;
** Fixed the batch files not being able to execute basic commands if the PATH environment variable didn't include Windows' system directories.&lt;br /&gt;
** Fixed the Java Plugin Cache Exporter incorrectly showing cached files with no URLs associated with them.&lt;br /&gt;
&lt;br /&gt;
* [https://bluepload.unstable.life/flashpointcachedumper-v6-selfextracting.exe Version 6] (2020-02-24):&lt;br /&gt;
** Added a batch file (&amp;lt;code&amp;gt;JavaPluginCacheExporter.bat&amp;lt;/code&amp;gt;) that makes it easier to run the Java Plugin Cache Exporter. The Java version it uses to run can be optionally defined in the configuration file &amp;lt;code&amp;gt;jre-path.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Renamed the output directory &amp;lt;code&amp;gt;JavaPluginCache&amp;lt;/code&amp;gt; to: &amp;lt;code&amp;gt;RawJavaPluginCache&amp;lt;/code&amp;gt; (for &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;ExportedJavaPluginCache&amp;lt;/code&amp;gt; (for the Java Plugin Cache Exporter).&lt;br /&gt;
** The CSV generated by the Java Plugin Cache Exporter is now saved in the same directory as the exported files.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/jrview.html Nirsoft's JRView] to make it easier to view all the installed Java Runtime Environments and Java Development Kits. This tool is located in &amp;lt;code&amp;gt;App\jrview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Updated NirSoft's MozillaCacheView, ChromeCacheView, and CSVFileView.&lt;br /&gt;
** Added a version file. The tool's version is now saved to &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added two Pogo.com subdomains to &amp;lt;code&amp;gt;URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumper-v5-selfextracting.exe Version 5] (2020-02-17):&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves the Java Plugin cache to &amp;lt;code&amp;gt;JavaPluginCache.7z&amp;lt;/code&amp;gt;.&lt;br /&gt;
** &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now saves files cached by Internet Explorer 6 or older to &amp;lt;code&amp;gt;RawInternetExplorerCache.7z&amp;lt;/code&amp;gt;, if they have a file extension specified in &amp;lt;code&amp;gt;FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv4selfextracting.exe Version 4] (2020-02-07):&lt;br /&gt;
** Created a small Java application that exports any files cached by the Java Plugin from a given directory. The exported files are organized according to their original website structure. It also generates a CSV file that lists every cached file and some additional information (Content-Type, URL, Last Access Date, etc). This tool is located in &amp;lt;code&amp;gt;App\JavaPluginCacheExporter&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Added [https://www.nirsoft.net/utils/csv_file_view.html NirSoft's CSVFileView] to make it easier to view the resulting CSV files. This tool is located in &amp;lt;code&amp;gt;App\csvfileview&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Fixed a bug that prevented both batch files from saving system information on Windows 2000 and non-professional editions of Windows XP:&lt;br /&gt;
** Fixed a bug that prevented both batch files from querying the registry on Windows 2000.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv3selfextracting.exe Version 3] (2019-12-14):&lt;br /&gt;
** Both batch files save a list with every file in IE's cache directory to &amp;lt;code&amp;gt;RawInternetExplorerCache.txt&amp;lt;/code&amp;gt; if it detects version 6 or older.&lt;br /&gt;
** Both batch files delete any pre-existing cache dump folders and archives before running.&lt;br /&gt;
** Added ShiVa3D's MIME type to &amp;lt;code&amp;gt;App\ContentTypesToSave.txt&amp;lt;/code&amp;gt; and three Postopia subdomains to &amp;lt;code&amp;gt;App\URLsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
** There's now a script called &amp;lt;code&amp;gt;TestBatch.bat&amp;lt;/code&amp;gt; in the App folder which can be used to check if batch files work on your computer.&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv2selfextracting.exe Version 2] (2019-12-03):&lt;br /&gt;
** &amp;lt;code&amp;gt;CompleteFlashpointCacheDumper.bat&amp;lt;/code&amp;gt; now copies IE's cache directory manually for version 6 or older (and not just for version 6).&lt;br /&gt;
&lt;br /&gt;
* [http://bluepload.unstable.life/flashpointcachedumperv10selfextracting.exe Version 1.0] (2019-11-30):&lt;br /&gt;
** Initial release.&lt;br /&gt;
&lt;br /&gt;
== Other ways of exploring the cache ==&lt;br /&gt;
&lt;br /&gt;
The methods mentioned in the previous section are one way of checking you browser's cache for lost games. If you prefer, you can also use most of these utilities directly instead of relying on the batch files. This is useful when you can't run the tool itself on your old computers (e.g. if they don't boot anymore) but have access to their files (e.g. from a previous backup). These utilities and their configuration files are located in the &amp;lt;code&amp;gt;App&amp;lt;/code&amp;gt; folder. See the &amp;lt;code&amp;gt;readme.txt&amp;lt;/code&amp;gt; file in their respective folders to learn how to use them.&lt;br /&gt;
&lt;br /&gt;
=== Using NirSoft's cache viewers ===&lt;br /&gt;
&lt;br /&gt;
For NirSoft's cache viewers (ChromeCacheView, IECacheView, MozillaCacheView, OperaCacheView, SafariCacheView), you can select a specific cache folder by going to &amp;lt;code&amp;gt;File &amp;gt; Select Cache Folder&amp;lt;/code&amp;gt;. In the window that pops up, enter the path to the cache folder or locate it using the &amp;quot;...&amp;quot; browse button. Press the OK button to view the browser's cache. To export the cache, select the files you want by holding Ctrl and clicking on them, or select all of them by going to &amp;lt;code&amp;gt;Edit &amp;gt; Select All&amp;lt;/code&amp;gt; or by pressing Ctrl + A. Then, go to &amp;lt;code&amp;gt;File &amp;gt; Copy Selected Cache Files To...&amp;lt;/code&amp;gt; or press F4 to bring up a new window. Here you can choose the destination folder by entering its path or by locating it using the &amp;quot;...&amp;quot; browse button. Make sure to keep the &amp;lt;code&amp;gt;Save the files in the directory structure of the Web site&amp;lt;/code&amp;gt; option checked since it allows you to more easily search for lost game files. Finally, press OK to export them.&lt;br /&gt;
&lt;br /&gt;
=== Using Search Everything ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the browser cache in your old computer's files more easily, you can use a program called [https://www.voidtools.com/downloads/ Search Everything]. This application allows you to quickly find any files and folders given a set of filters. For example, if you have a copy of your old hard drive's files in a folder, you can go to &amp;lt;code&amp;gt;Search &amp;gt; Advanced Search...&amp;lt;/code&amp;gt; and enter its path in the &amp;lt;code&amp;gt;Located in&amp;lt;/code&amp;gt; section at the bottom of the window that pops up. You can also locate it by using the &amp;quot;Browse...&amp;quot; button. Make sure that the &amp;lt;code&amp;gt;Include subfolders&amp;lt;/code&amp;gt; option is ticked. Press OK to see a list of all the files and subfolders inside the folder with your old computer's content. You can use a more specific location and add extra filters to help you find cached game files. For example, we could use the following to search for .swf Flash files inside Internet Explorer's cache folder: &amp;lt;code&amp;gt;C:\Users\John\Desktop\My Old Hard Drive\Documents and Settings\John\Local Settings\Temporary Internet Files&amp;quot; *.swf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to the next sections on this page to see a list of [[#Cache_locations|browser cache locations]] and [[#MIME_types_and_file_extensions|relevant plugin file extensions]].&lt;br /&gt;
&lt;br /&gt;
=== Using a SATA/IDE to USB adapter ===&lt;br /&gt;
&lt;br /&gt;
[[File:SATA_IDE_to_USB_Adapter.jpg|thumb|200px|right|A SATA/IDE to USB 3.0 cable.]]&lt;br /&gt;
&lt;br /&gt;
If your old computer doesn't boot and you can't access its files any other way, you can try removing the hard drive and using a SATA/IDE to USB adapter to connect and copy them to another working computer. You can then use the methods above to search for any cached web game files. Note that is just one way of retrieving your old files. If you're able to get these file some other way, feel free to use whatever method you're most comfortable with.&lt;br /&gt;
&lt;br /&gt;
=== Using Recuva ===&lt;br /&gt;
&lt;br /&gt;
Recuva is a utility that allows you to potentially recover deleted files, but it is not always guaranteed to work. It's best used if you remember playing a specific game that you can't find in the cache, or if other lost assets have already been found on the computer. You may still want to scan it anyway, as you could recover lost files regardless. This application works on Windows XP and newer, and the free standard version can be [https://www.ccleaner.com/recuva/download/standard downloaded from this link.]&lt;br /&gt;
&lt;br /&gt;
This tool gives you two search options: a normal and a deep scan. A normal scan takes less time than a deep one, but might not find as many files. To make the recovery process faster, you can choose to only recover files from [[#Cache_locations|specific browser cache folders]]. It's also recommended that you recover files listed as being in an unknown directory, as these could contain cached files as well. Additionally, even though many files will be listed as corrupted, it's advised that you recover them anyways as some could still be completely intact. It's also recommended that you save a .txt file once the scan is done so that it can be easily analyzed by someone else if necessary. Keep in mind that a completed scan is not saved, so if the program is closed, the scan must be started again from the beginning.&lt;br /&gt;
&lt;br /&gt;
If a lost file is found but also corrupted, it's advised to still send it to a Flashpoint staff member anyways. Depending on the game, at least some of it might be salvageable. If your old computer doesn't boot but you're able to connect its hard drive to your current computer using the previously mentioned SATA/IDE to USB adapter, you can choose to scan that particular drive. Once again, this is just one example of how you can try to recover lost web game files. Feel free to use a different program or method if you're more comfortable with other file recovery software or techniques.&lt;br /&gt;
&lt;br /&gt;
== Cache locations ==&lt;br /&gt;
&lt;br /&gt;
This section will list the default location of the web cache in various browsers and operating systems. This is useful if you want to search for cached files manually without using the Flashpoint Cache Dumper. Note that you can still use NirSoft's cache viewers by changing the directory they process.&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer ===&lt;br /&gt;
&lt;br /&gt;
If you use the Flashpoint Cache Dumper, this location is automatically saved in &amp;lt;code&amp;gt;SystemInfo.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 95, Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\Local Settings\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 8.1, Windows 10 (Enhanced Protected Mode)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  %USERPROFILE%\AppData\Local\Packages\windows_ie_ac_001\AC\INetCache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Java Plugin ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Operating System&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Cache Location&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 98, Windows ME&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %WINDIR%\Application Data\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows 2000, Windows XP&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %APPDATA%\Sun\Java\Deployment\cache&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Windows Vista, Windows 7, Windows 8.1, Windows 10&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\cache&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MIME types and file extensions ==&lt;br /&gt;
&lt;br /&gt;
This section will list the MIME types and file extensions that &amp;lt;code&amp;gt;FlashpointCacheDumper.bat&amp;lt;/code&amp;gt; uses to determine whether or not it should copy a cached file. These are defined in both &amp;lt;code&amp;gt;App\MimeTypesToSave.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;App\FileExtensionsToSave.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | Technology&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | MIME Types&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight:bold;&amp;quot; | File Extensions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 3D Groove GX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .grv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Atomic3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | video/x-atomic3d-feature&amp;lt;br&amp;gt;application/x-atomic3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .fmf .psq .agp .agt .seq .scn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Authorware&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-authorware-bin&amp;lt;br&amp;gt;application/x-authorware-map&amp;lt;br&amp;gt;application/x-authorware-seg&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .aab .aam .aas&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-burster&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .blend .blendz&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cabinet Files&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.ms-cab-compressed&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cab&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Cult3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cult3d-object&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .co&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Flash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shockwave-flash&amp;lt;br&amp;gt;application/vnd.adobe.flash-movie&amp;lt;br&amp;gt;application/futuresplash&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .swf .spl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Hypercosm 3D Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-hypercosm&amp;lt;br&amp;gt;application/x-Hypercosm-3D-Applet&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .hcvm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | iPIX&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/photobubble&amp;lt;br&amp;gt;application/pbautomation&amp;lt;br&amp;gt;application/x-ipix&amp;lt;br&amp;gt;application/x-ipscript&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .bub .aut .ipx .ips&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Java&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/java-archive&amp;lt;br&amp;gt;application/java-serialized-object&amp;lt;br&amp;gt;application/java-vm&amp;lt;br&amp;gt;application/x-java-applet&amp;lt;br&amp;gt;application/x-java-bean&amp;lt;br&amp;gt;application/x-java-vm&amp;lt;br&amp;gt;application/x-java-vm-npruntime&amp;lt;br&amp;gt;application/x-java-jnlp-file&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .jar .ser .class .jnlp&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Pulse Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-pulse-player&amp;lt;br&amp;gt;application/x-pulse-player-32&amp;lt;br&amp;gt;application/x-pulse-stream&amp;lt;br&amp;gt;application/x-pulse-download&amp;lt;br&amp;gt;application/x-pulse-version&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .pwc .pw3 .pws .pwn .pwv .pwr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | ShiVa3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-shiva3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .stk&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shockwave&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-director&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .dir .dxr .dcr .cst .cxt .cct .swa .w3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Silverlight&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-silverlight-app&amp;lt;br&amp;gt;application/x-silverlight&amp;lt;br&amp;gt;application/x-silverlight-2&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .xap .scr&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/vnd.unity&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .unity3d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Virtools / 3D Life Player / 3DVIA Player&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-virtools&amp;lt;br&amp;gt;application/x-nemo&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .cmo .vmo .nmo .nms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Viscape&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | x-world/x-vrt&amp;lt;br&amp;gt;x-world/x-svr&amp;lt;br&amp;gt;x-world/x-xvr&amp;lt;br&amp;gt;application/vnd.superscape.vislite&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .vrt .svr .xvr .ssv&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Vitalize!&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | application/x-cnc&amp;lt;br&amp;gt;application/x-tgf&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .ccn&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | VRML&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/vrml&amp;lt;br&amp;gt;x-world/x-vrml&amp;lt;br&amp;gt;application/x-vrml&amp;lt;br&amp;gt;application/x-bscontact&amp;lt;br&amp;gt;application/x-blaxxuncc3d&amp;lt;br&amp;gt;application/x-blaxxuncc3dpro&amp;lt;br&amp;gt;application/x-cc3d&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .wrl .wrz .wrl.gz .vrml .bswrl .bxwrl&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X3D&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | model/x3d&amp;lt;br&amp;gt;model/x3d+xml&amp;lt;br&amp;gt;model/x3d+binary&amp;lt;br&amp;gt;model/x3d+vrml&amp;lt;br&amp;gt;model/x3d+zip&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | .x3d .x3dv .x3db .x3dz .x3dvz .x3dbz .x3z&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Strawrat</name></author>
	</entry>
</feed>