How to Make a Quest 5 Game Run on a Private Server (Step-By-Step, with Screenshots)


IMPORTANT NOTE BEFORE YOU BEGIN!

After all of this is set up and running, the player will NOT be able to save the game!

You have to be signed into textadventures.co.uk and be playing a game on textadventures.co.uk in order to save.

Someone will probably learn how to change this so a database on a private server can be used, but, for now, no saving.

You have been warned: The player will not be able to save the game with this setup!


Building the Web Player

If you don't have Visual Studio installed, install Visual Studio 2019 Community (which is free).

https://visualstudio.microsoft.com/vs/community/

ALTERNATIVELY, if you'd rather not build it yourself, I have my build here, and you are free to use it:

https://github.com/KVonGit/Quest5-Stuff/raw/main/Quest580-WebPlayer-built/WebPlayer-Release-built20210307.zip

If you choose to use my files, you can skip to Hosting the Game.


TIP: If you don't have Windows, you can download a Windows 10 development environment for Virtualbox (or other virtual machines) for free, and it has VS2019 installed already. (Note: It's around 20GB!)

https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/


You will need the Quest source code from GitHub.

https://github.com/textadventures/quest

TIP: My fork includes an update which fixes an issue with online saves. (And yes, I am the one who created this bug.) (The save feature doesn't currently work with the Quest WebPlayer running on a private server, but someone will surely find a way around that one day. So, I figure it may be worth including the bug fix in this.)

https://github.com/KVonGit/quest


Open the project ("Quest.sln" in the main folder ('quest') created after acquiring the project from GitHub) in Visual Studio 2019 by double-clicking on "Quest.sln".

image


I couldn't successfully build the Quest project until I'd updated the NuGet packages.

I did this by opening the NuGet Package Manager Console from the dropdown menu in VS2019.

image


In the Nuget Package Manager Console, I entered the command

Update-Package -reinstall

image


When prompted, I entered A (for "yes to all").

EDIT

I found old notes, and I once said to enter L (to ignore all packages which have been edited) when prompted. I'm sure this came from Pixie's documentation, which in turn probably came from Alex's documentation. Either way, it seems more logical to leave the edited files alone. I shall test this one day soon and return to post the updated information!

image


After updating the NuGet packages, click "Build" then "Build solution" from the dropdown menu.

image


Everything should build successfully.

image


NOTE: This runs the "Debug" build by default.

Next (per advice from Pertex; thanks!), you must switch the project from Debug to Release, then build the Release version as well.

image


image


The WebPlayer will only run successfully after building both the Debug and the Release. (I tried just the Release, and it is missing files.)


Now, zip the WebPlayer folder.

Right-click on it, then hover over "Send to", then click "Compressed (zipped) folder".

image


I did not follow Pixie's steps to create/edit the "WebPlayerSettings" xml file.

https://docs.textadventures.co.uk/quest/source_code.html#running-the-web-player

I knew things would be different when hosting on a private server. (Pixie's instructions concern running the WebPlayer from Visual Studio.)



SmarterASP.NET

I created a trial account (free for 30 days) on SmarterASP.NET. (This was advised by two forum members: akhilnaidu and Pertex. Thanks!)

I named my website "webplayer" in this example.

Quest Files

I uploaded my WebPlayer.zip file using the file manager in SmarterASP.NET.

In the SmarterASP.NET file manager, I unzipped my WebPlayer file and put all the contents in my website's main directory. (I then deleted WebPlayer.zip, but this is probably optional, as I was just cleaning out the unused file.)

In the website's main directory, I created two new directories: "Games" and "log"

At this point, it looked like this:

image


I navigated to the Games directory in SmarterASP.NET's file manager, and I uploaded a Quest game. (I used "The Bony King of Nowhere" by Luke Jones as the game in this first example, but the game which is now hosted on the SmarterASP.net server is an example game I made called "Served". I did this for two reasons: (1) You can't save on my server. (2) I didn't want to mess up Luke's play count on the textadventures.co.uk site.)

Once the game was uploaded, I renamed the file to "game.zip". Then, I used the SmarterASP.NET file manager to unzip that file, extracting the contents to the Games directory. I then deleted the "game.zip" file (just to keep it all cleaned up).

My Games directory looked like this:

image


I navigated up a directory from Games (back to the website's main directory). Here, I copied the file "WebPlayerSettings.default.xml" to "WebPlayerSettings.xml". Then, I edited the contents of that file to this (NOTE: my root directory is "h:\root\home\kvhost-001\www\webplayer"! It took me forever to learn how to format the PATH!):

<?xml version="1.0" ?>

<!-- After entering settings, this file should be saved as WebPlayerSettings.xml -->

<appSettings>
  <add key="GameFolder" value="h:\root\home\kvhost-001\www\webplayer\Games\"/>
  <add key="LibraryFolder" value="h:\root\home\kvhost-001\www\webplayer\bin\x86\Release\Core\"/>

  <!-- To enable logging, uncomment this line, and create a log config XML like the one below -->
  <!-- <add key="LogConfig" value="h:\root\home\kvhost-001\www\webplayer\log\logging.xml"/> -->

  <!-- PLUGINS -->
  
  <!-- To enable loading a file by ID, specify the type name of a class that implements IFileManager -->
  <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/>
  <add key="GameSaveFolder" value="h:\root\home\kvhost-001\www\webplayer\Games\"/>

  <!-- DEBUG PLUGINS -->

  <!-- OR, when debugging, use the Debug Plugins -->
  <add key="SessionManagerType" value="WebPlayer.DebugSessionManager, WebPlayer"/>
  <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/>
  <!-- <add key="GameSaveFolder" value="h:\root\home\kvhost-001\www\webplayer\Games\"/> -->
 
  <add key="DebugFileManagerFile" value="game.aslx"/>
  <!-- <add key="DebugFileManagerSaveFile" value="h:\root\home\kvhost-001\www\webplayer\Games\game.quest-save"/> -->

</appSettings>

<!--
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="${TMP}\Quest WebPlayer Log.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%aspnet-request{REMOTE_ADDR}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
-->

After all that, I clicked on the Websites tab in SmarterASP.NET, which displayed this:

image

...which shows my site's URL: kvhost-001-site1.itempurl.com

So, to play the game on my site, I need to use this URL:

kvhost-001-site1.itempurl.com/Play.aspx?id=1

...and it works! EDIT: It no longer works because my free trial expired. Do not click that link.

image


Well, you can't save. I'm pretty sure this is because it's all set up for this to be ran from the textadventures.co.uk site. It says I can't save because I'm not logged in.

image


Windows Server 2019 (Desktop Experience):

I downloaded and installed the 180 day evaluation of Windows Server 2019.

https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019


Then, I ran Windows Update.

Then, I installed IIS and ASP.NET. In the Server Manager window, begin by clicking "Add roles and features".

NOTE: You can probably use Powershell and enter a one-liner to just install everything associated with IIS instead of doing all of this. See Windows Server 2019 (Minimal).

Here are screenshots of the process (make sure every option you see checked here gets checked):


First, click on "Add roles and features".

vlcsnap-2021-03-30-00h28m51s820


Leave it on the default and click "Next".

vlcsnap-2021-03-30-00h29m03s877


Just click "Next".

vlcsnap-2021-03-30-00h29m53s823


Check "Web Server (IIS)".

vlcsnap-2021-03-30-00h30m33s378


A Wizard will appear. Just leave the defaults alone and click "Add Features".

vlcsnap-2021-03-30-00h30m45s878


This brings you back to this window, where you will see a checkmark by "Web Server (IIS)".

Click "Next".

vlcsnap-2021-03-30-00h31m00s084


Make sure "ASP.NET 4.7" is checked.

Then, expand "WCF Services" and check "HTTP Activation".

vlcsnap-2021-03-30-00h31m55s315


Another Wizard will appear. Leave the defaults selected and click "Add Features".

vlcsnap-2021-03-30-00h32m04s858


Now, you should see a checkmark by "HTTP Activation".

Click "Next".

vlcsnap-2021-03-30-00h32m34s209


Another Wizard appears. Click "Next".

vlcsnap-2021-03-30-00h34m52s078


In "Web Server" - "Common HTTP Features", make sure you check the following:

  • Default Document
  • Directory Browsing
  • HTTP Errors
  • Static Content
  • HTTP Redirection

"Static Content" and "HTTP Redirection" are very important. I'm not sure about the rest, but they don't seem to hurt anything.

vlcsnap-2021-03-30-00h36m07s348


I added "Logging Tools", just because I might learn how to use them.

vlcsnap-2021-03-30-00h36m45s784


Under "Management Tools", I checked:

  • IIS Management Console
  • IIS Management Scripts and Tools
  • Management Service

Then, I clicked "Next".

vlcsnap-2021-03-30-00h37m07s873


I made sure I it listed everything I meant to install, and I clicked "Next" to confirm.

vlcsnap-2021-03-30-00h37m26s446
vlcsnap-2021-03-30-00h37m46s224


After a long while, it finished!

Time to restart the whole server!

vlcsnap-2021-03-30-00h38m53s633


After a restart, this loads automatically at startup:

vlcsnap-2021-03-30-00h39m41s092


Click on "Tools", then "Internet Information Services (IIS) Manager".

vlcsnap-2021-03-30-00h40m44s739


Expand the stuff in the tree on the left until you reach "Default Web Site". This is your C:\inetpub\wwwroot site.

In the pane on the right, you can see the options to Restart, Start, or Stop this server.

After making changes to files in my "wwwroot" folder, clicking "Restart" doesn't seem to update things. I have to click "Stop", let it stop, then click "Start" to see immediate changes in the browser.

vlcsnap-2021-03-30-00h41m23s868


Windows File Setup

All other steps concerning the Quest files are basically the same as when hosting on the cloud, except the path.

In Windows Server, my website's root directory is C:\inetpub\wwwroot (where on SmarterASP.net it is root\home\kvhost-001\www\webplayer).

So, I renamed the existing "wwwroot" folder to "wwwroot-original". Then, I copied my "WebPlayer" folder from the main 'quest' folder from GitHub, and I renamed the "WebPlayer" folder to "wwwroot". Again, this path is C:\inetpub\wwwroot.

image


I created two new folders in C:\inetpub\wwwroot, "Games" and "log".

image


I created a Quest game, called "Served". I renamed "Served.quest" to "Served.zip". I unzipped "Served.zip", creating a "Served" folder. I copied "game.aslx" from the "Served" folder and copied it into C:\inetpub\wwwroot\Games\.

image


Then, in the folder C:\inetpub\wwwroot, I copied WebPlayerSettings.default.xml and renamed the copy "WebPlayerSettings.xml".

image


Here is my WebPlayerSettings.xml file for Windows:

<?xml version="1.0" ?>

<!-- Settings for Windows Server 2019 (OR Windows 10 Home Edition with IIS Server, etc.) -->

<appSettings>
  <add key="GameFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="LibraryFolder" value="C:\inetpub\wwwroot\bin\x86\Release\Core\"/>

  <!-- To enable logging, uncomment this line, and create a log config XML like the one below -->
  <!-- <add key="LogConfig" value="C:\Path\To\Config\File\logging.xml"/> -->

  <!-- PLUGINS -->
  
  <!-- To enable loading a file by ID, specify the type name of a class that implements IFileManager -->
  <!-- <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/> -->
  <!-- <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/> -->

  <!-- DEBUG PLUGINS -->

  <!-- OR, when debugging, use the Debug Plugins -->
  <add key="SessionManagerType" value="WebPlayer.DebugSessionManager, WebPlayer"/>
  <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/>
  <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="DebugFileManagerFile" value="game.aslx"/>
  <add key="DebugFileManagerSaveFile" value="C:\inetpub\wwwroot\Games\game.quest-save"/>

</appSettings>

<!--
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="${TMP}\Quest WebPlayer Log.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%aspnet-request{REMOTE_ADDR}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
-->


Windows Server 2019 (Minimal)

To install IIS (along with all the other dependencies) in a minimal Windows Server 2019 installation, simply enter this one-liner in Powershell:

Install-WindowsFeature -name Web-Server -IncludeManagementTools -IncludeAllSubFeature

NOTE: I wonder if this can be done in Windows Server 2019 Desktop Experience. I bet it can, and it would save a lot of time (and a lot of screenshots).


Windows File Setup

All other steps concerning the Quest files are basically the same as when hosting on the cloud, except the path.

In Windows Server, my website's root directory is C:\inetpub\wwwroot.

So, I renamed the existing "wwwroot" folder to "wwwroot-original". Then, I copied my built "WebPlayer" folder into C:\inetpub\, and I renamed the "WebPlayer" folder to "wwwroot".


I created two new folders in C:\inetpub\wwwroot, "Games" and "log".


I created a Quest game, called "Served". I renamed "Served.quest" to "Served.zip". I unzipped "Served.zip", creating a "Served" folder. I copied "game.aslx" from the "Served" folder and copied it into C:\inetpub\wwwroot\Games\.


Then, in the folder C:\inetpub\wwwroot, I copied WebPlayerSettings.default.xml and renamed the copy "WebPlayerSettings.xml".


Here is my WebPlayerSettings.xml file for Windows:

<?xml version="1.0" ?>

<!-- Settings for Windows Server 2019 (OR Windows 10 Home Edition with IIS Server, etc.) -->

<appSettings>
  <add key="GameFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="LibraryFolder" value="C:\inetpub\wwwroot\bin\x86\Release\Core\"/>

  <!-- To enable logging, uncomment this line, and create a log config XML like the one below -->
  <!-- <add key="LogConfig" value="C:\Path\To\Config\File\logging.xml"/> -->

  <!-- PLUGINS -->
  
  <!-- To enable loading a file by ID, specify the type name of a class that implements IFileManager -->
  <!-- <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/> -->
  <!-- <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/> -->

  <!-- DEBUG PLUGINS -->

  <!-- OR, when debugging, use the Debug Plugins -->
  <add key="SessionManagerType" value="WebPlayer.DebugSessionManager, WebPlayer"/>
  <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/>
  <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="DebugFileManagerFile" value="game.aslx"/>
  <add key="DebugFileManagerSaveFile" value="C:\inetpub\wwwroot\Games\game.quest-save"/>

</appSettings>

<!--
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="${TMP}\Quest WebPlayer Log.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%aspnet-request{REMOTE_ADDR}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
-->


Windows 10 Home Edition

This will also run in Windows 10 Home Edition (if you'd like to test it this way or something like that).

Open your Start menu and type "turn windows". This should bring up "Turn Windows features on or off".

image


Make sure you have everything checked that I have checked:

windows_features_for_IIS


Windows File Setup

All other steps concerning the Quest files are basically the same as when hosting on the cloud, except the path.

In Windows Server, my website's root directory is C:\inetpub\wwwroot (where on SmarterASP.net it is root\home\kvhost-001\www\webplayer).

So, I renamed the existing "wwwroot" folder to "wwwroot-original". Then, I copied my "WebPlayer" folder from the main 'quest' folder from GitHub, and I renamed the "WebPlayer" folder to "wwwroot". Again, this path is C:\inetpub\wwwroot.

image


I created two new folders in C:\inetpub\wwwroot, "Games" and "log".

image


I created a Quest game, called "Served". I renamed "Served.quest" to "Served.zip". I unzipped "Served.zip", creating a "Served" folder. I copied "game.aslx" from the "Served" folder and copied it into C:\inetpub\wwwroot\Games\.

image


Then, in the folder C:\inetpub\wwwroot, I copied WebPlayerSettings.default.xml and renamed the copy "WebPlayerSettings.xml".

image


Here is my WebPlayerSettings.xml file for Windows:

<?xml version="1.0" ?>

<!-- Settings for Windows Server 2019 (OR Windows 10 Home Edition with IIS Server, etc.) -->

<appSettings>
  <add key="GameFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="LibraryFolder" value="C:\inetpub\wwwroot\bin\x86\Release\Core\"/>

  <!-- To enable logging, uncomment this line, and create a log config XML like the one below -->
  <!-- <add key="LogConfig" value="C:\Path\To\Config\File\logging.xml"/> -->

  <!-- PLUGINS -->
  
  <!-- To enable loading a file by ID, specify the type name of a class that implements IFileManager -->
  <!-- <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/> -->
  <!-- <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/> -->

  <!-- DEBUG PLUGINS -->

  <!-- OR, when debugging, use the Debug Plugins -->
  <add key="SessionManagerType" value="WebPlayer.DebugSessionManager, WebPlayer"/>
  <add key="FileManagerType" value="WebPlayer.DebugFileManager, WebPlayer"/>
  <add key="GameSaveFolder" value="C:\inetpub\wwwroot\Games\"/>
  <add key="DebugFileManagerFile" value="game.aslx"/>
  <add key="DebugFileManagerSaveFile" value="C:\inetpub\wwwroot\Games\game.quest-save"/>

</appSettings>

<!--
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="${TMP}\Quest WebPlayer Log.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%aspnet-request{REMOTE_ADDR}] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
-->


Open your Start menu and type "iis manager" and open Internet Information Services (IIS) Manager.

If it's not already running, click "Start" in the pane on the right to start it up.

image

NOTE

I always stop the server when I'm finished with it, as it slows my computer down when running in the background.


With the IIS server running, you can open your browser and go to: http://localhost/Play.aspx?id=1

Your game should load, but, to remind you again, the save feature will not work.

image


SOMETHING THAT KICKED MY BUTT

Whenever I made a change to the WebPlayerSettings file, I initially expected the changes to be immediate applied. This was not the case.

Whether on Windows or on smarterASP, whenever I made a change to a file, I learned that I had to stop the server, then start the server to get the updated website.


Note Concerning an Alternative Save Feature

Pixie has a Save/Load library which could be added to a game as a workaround. It can get a little complicated, depending on the game, but it's better than no save feature at all. Plus, I figure anyone who'd go through all of this to host a game on their own server wouldn't be opposed to some extra coding to add a save feature.

Also note that you have to be using the Windows desktop version of Quest to add libraries. So, this is no help for those of us using the online Quest editor to create games.

https://github.com/ThePix/quest/wiki/Library:-Save-and-Load


Also

I learned how to set things up so I had one Virtualbox machine running Windows Server 2019 and another Virtualbox machine running Linux with a virtual Virtualbox network connecting the two. So, I was hosting the game from the Windows Server virtual machine and connecting to that server from the Linux virtual machine.

It was pointless, but it was still pretty cool.


To set up the Virtualbox network in my host OS (which was Arch Linux in this example), I entered this into the terminal:

vboxmanage dhcpserver add --network=winservenet --server-ip=10.38.1.1 --lower-ip=10.38.1.110 --upper-ip=10.38.1.120 --netmask=255.255.255.0 --enable

After that, I fixed my network settings in each virtual machine so the virtual network was Network1, and I made Network2 the NAT connection (so they still had internet access through NAT (Virtualbox's default setting) as well as access to each other via the private Virtualbox virtual network).

Screenshot_2021-03-30_08-38-19
Screenshot_2021-03-30_08-38-34


Screenshot_2021-03-30_08-39-14
Screenshot_2021-03-30_08-39-26


After all that, I started both virtual machines. I ran ipconfig /all in the Windows Server CMD prompt to get the IPv4 Address of the server. In this example, that was 10.38.1.112.

Then, I opened my browser in the Linux virtual machine. went to 10.38.1.112/Play.aspx?id=1, and I could play the game hosted by the Windows Server virtual machine from the Linux virtual machine via the virtual network!

Screenshot_2021-03-30_08-32-02


NOTES

I did this in Arch Linux, and I was using the XFCE4 desktop environment (which is very lightweight). I only have 4 gigs of RAM on this machine, and it slows everything down quite a bit ... but it still works.

It is also possible to run Virtualbox using the xorg server from the console without a desktop environment running, but it seems to be just as slow as running two virtual machines with the desktop environment. Just for completion's sake, though, here is that bash command:

startx /usr/bin/virtualbox

PS

I learned how to set this up by watching this NetworkChuck video on YouTube:

https://www.youtube.com/watch?v=mvsiuLzpx2E


MORE NOTES

People have posted asking how to host a game on their own server from time to time over the years, but this post by akhilnaidu was the recent post that got me motivated enough to get this far (can play, but can't save):

https://textadventures.co.uk/forum/quest/topic/cceuneoyb0y9l0gz0iia5w/updated-a-guide-to-host-your-quest-game-on-your-own-server-with-custom-domain-n


You see, akhilnaidu actually got a game running and posted a link. Then, he advised using smarterasp.net to host the files.

A few of us tried this, and the page would load, but it would say, "Loading . . . . Can't find the game file."

I tried it. Pertex tried it. Both of us got the same result: it couldn't find the game file.

While this was going on, I posted on akhilnaidu's thread about how it wasn't really safe to click on strange links, especially knowing it's a private server to which you are connecting. Why did I do this? One, I'm just impolite sometimes, and: Two, it's kinda sorta true and there are kids on this forum and I'm just impolite sometimes (although I usually notice this retrospectively).

Anyway, I apologized and edited my posts to remove all that stuff. Why? Well, mainly because I felt rude, but also, I mean, the whole point is for someone to learn how to host a game on a private server -- which will require the player to click on a strange link while knowing they are connecting to a private server.

So, in the end (at this point in the story), I was just a jackass.

Anyway, I offered to help akhilnaidu with the documentation he was writing concerning this. He has an article which can be edited via Google Docs. He hosts it on his website.

I looked at it for a very short session, and then life happened. Life happened for a couple of weeks. By the time I got back online, I got no reply from akhilnaidu (which is not abnormal, as I myself had just gone offline for a couple of weeks, as most of us do sometimes). After a few days, I decided I better document all of this while it was fresh on my mind, and that I should post it here for archival purposes -- plus, akhilnaidu's article didn't really include any Quest-specific stuff, really, especially not the whole Visual Studio process nor how to find and use the proper path to the game file.

In the end, I figured out how to find the proper path to use in the settings file through trial and error, and that was my missing link.

I'm hoping someone (perhaps akhilnaidu) will figure out how to fix the save feature and post that information on this forum.

Also, akhilnaidu is more than welcome to use any of the stuff from this thread (or any other thread of mine) in his article (or any other article of his). In fact, everyone else is welcome to do the same, of course, as this is all open-source, after all.


"That's all I have to say about that."
F. Gump


Happy gaming!


ONE MORE NOTE

Concerning Saving

It seems that a user database would be required to make Quest's default Save feature work. (I might be wrong, but that's what it looks like to me.)

It looks like Pixie's Save/Load library is the best bet, unless you know all about hosting websites with user databases.


It seems that a user database would be required to make Quest's default Save feature work. (I might be wrong, but that's what it looks like to me.)

I have not looked, but that seems likely to me too.

If you are not afraid of a little coding, you could use localStorage to save the game on the player's PC, if they are playing through the browser, which is what Quest 6 does.
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

My save/load library could be fairly easily modified to do that (it does not be default so it can be used by people using the desktop player).


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums