Pages: [1]
  Print  
Author Topic: Change error messages when autodownloading disabled..  (Read 7602 times)
RobDawg
Nub


Cakes 0
Posts: 4


« on: September 20, 2012, 11:51:51 AM »

Hey guys...

So I have recently started running a server. Generally there aren't a whole lot of live players actively playing so when humans show up in my server, I am ecstatic. I had setup a map loop including the maps from the "Quality Maps" download.

The problem is I will see a group of players show up and all is fun. Then a map change occurs to a map from the non-standard map list. Suddenly I lose more than half of the players. Maybe some come back but mostly likely they are gone.

I realize this is because the default is to NOT autodownload files. I can understand the reasoning for this... but when I tried to duplicate what they see... there is an error to the effect of "Error loadings Maps/Blah.bsp". Boom end of story.

Is there any way we could make this message more informative? Something along the lines of:

if(serverSupportsDownloading)
{
    ShowError("Could not find Maps/Blah.bsp. Please allow automatic downloading from the menu to continue playing on this server");
}
else
{
    ShowError("Cound not find Maps/Blah.bsp. You will need this map to continue playing on this server.");
}

As it is... the error sounds almost like a map is corrupted or something and doesn't lead your average user to activate autodownloading. This has led me to disable all of the non-standard maps so that when a group of players do show up, they will not get kicked rudely. I would like to load the maps up because there are some nice ones. The sad thing is that even if a change were implemented in the next version... I would have to wait quite a while after that for the version to filter through to actually expect people to be using the most up-to-date version.
Logged
RobDawg
Nub


Cakes 0
Posts: 4


« Reply #1 on: September 20, 2012, 04:06:13 PM »

Sorry just realized that this topic has been discussed many times.

Would be nice to just alter the message so at least the end user has an idea what went wrong. Don't need to enable by default or even allow the message to allow them to change the value from there.
Logged
Gig
In the year 3000
***

Cakes 45
Posts: 4391


WWW
« Reply #2 on: September 21, 2012, 12:29:56 AM »

I was about replying that I think this had been proposed before, but I don't remember/know why this has not been done yet...  Huh
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
grey matter
Member


Cakes 8
Posts: 381

>9k


« Reply #3 on: September 22, 2012, 06:30:19 AM »

This seems to be a "pure system" issue. If the server is indeed referencing the map's pk3(s), then the client should be prompted to download the missing files.

Could you briefly describe how you've setup the server? I'm interested in sv_pure, sv_allowDownload and where you've but pk3s (baseoa/, mymod/ etc.).
Logged

This space is for rent.
RobDawg
Nub


Cakes 0
Posts: 4


« Reply #4 on: September 22, 2012, 12:29:31 PM »

sv_pure 1
sets sv_allowdownload 8
sv_dlURL "http://dl.dropbox.com/u/XXXXXXX"

all pk3 files are in oabase

I am running the dedicated binary.

I have removed all non-standard maps because of this so you cannot see the actual behavior... but you can find my server on dpmaster under the name "RobDawg's Deathmatch"

When I set my local client to allow autodownload, it does download correctly and some people do come back after figuring that out.

I am pretty sure when the server is setup correctly but the client is set to disallow autodownloading, they see the simple error "Error loading Map/Example.bsp". Most users seem to think the server is messed up and just move on.
Logged
Gig
In the year 3000
***

Cakes 45
Posts: 4391


WWW
« Reply #5 on: September 23, 2012, 06:21:24 AM »

I see you are using option 8 for the sever (do not disconnect client while downloading... see (DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Manual/Automatic_downloading#Fast.2C_slow_or_both)... can you check if the message appears as the same if using standard option 1?

And which option are you using on the client?
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
grey matter
Member


Cakes 8
Posts: 381

>9k


« Reply #6 on: September 23, 2012, 07:49:28 AM »

Seems like this is somewhat intended behaviour;

I've setup a local server which has the additional baseoa/speedyctf.pk3 and connected with a client without that file.
Quote from: qconsole
WARNING: You are missing some files referenced by the server:
baseoa/speedyctf.pk3
You might not be able to join the game
Go to the setting menu to turn on autodownload, or get the file elsewhere

Now searching for this message we find the following code
Quote from: client/cl_main.c
if ( !(cl_allowDownload->integer & DLF_ENABLE) )
  {
    // autodownload is disabled on the client
    // but it's possible that some referenced files on the server are missing
    if (FS_ComparePaks( missingfiles, sizeof( missingfiles ), qfalse ) )
    {     
      // NOTE TTimo I would rather have that printed as a modal message box
      //   but at this point while joining the game we don't know wether we will successfully join or not
      Com_Printf( "\nWARNING: You are missing some files referenced by the server:\n%s"
                  "You might not be able to join the game\n"
                  "Go to the setting menu to turn on autodownload, or get the file elsewhere\n\n", missingfiles );
    }
  }

The problem here is that a player will almost never see that warning, since the console will be spammed with loads of other text while connecting.
A missing map bsp is of course a reason not to be able to play.

If I remember correctly, it should be sane to convert this into an error. Additional pk3 files on the server, labeled as "loaded pk3s", are not required for autodownload (and will in fact never be autodownloaded. They will only be used if already present on the client). But those that are required, labeled "referenced pk3s", need to be downloaded (by definition only - e.g. referenced playermodels are not really a requirement to be able to play) and cause above warning.

Quote
Index: code/client/cl_main.c
===================================================================
--- code/client/cl_main.c   (revision 2318)
+++ code/client/cl_main.c   (working copy)
@@ -2262,9 +2262,7 @@
     {     
       // NOTE TTimo I would rather have that printed as a modal message box
       //   but at this point while joining the game we don't know wether we will successfully join or not
-      Com_Printf( "\nWARNING: You are missing some files referenced by the server:\n%s"
-                  "You might not be able to join the game\n"
-                  "Go to the setting menu to turn on autodownload, or get the file elsewhere\n\n", missingfiles );
+      Com_Error( ERR_DROP, "You are missing files referenced by the server:\n%s\n", missingfiles );
     }
   }
   else if ( FS_ComparePaks( clc.downloadList, sizeof( clc.downloadList ) , qtrue ) ) {

I did a quick test with one loaded pk3 and one referenced pk3 (both in baseoa/) and only the latter one was correctly being downloaded when downloads were enabled. With disabled downloads the client disconnected and displayed a proper error message.
Anything which is not in baseoa/ counts as being referenced and is thus required to join the server. This is the only real difference to the current behaviour. While you can currently have downloads disabled on the client and play on a server if you have the required map pk3s but not additional playermodels (which results in the warning being printed), with the patch the client would disconnect, since it now requires to have the playermodels as well (if they are referenced, i.e. in mymod/ or similar).

Due to this problem I do not recommend using this patch (it would require extending the sv_pure system to make it useful).
Instead players should be presented with an options dialog to enable or disable autodownloads on first launch of the game.
Logged

This space is for rent.
Gig
In the year 3000
***

Cakes 45
Posts: 4391


WWW
« Reply #7 on: September 23, 2012, 08:39:45 AM »

Instead players should be presented with an options dialog to enable or disable autodownloads on first launch of the game.
This already happens. The very first time you open the multiplayer menu, the "first connect" screen prompts for your name and data connection type, and allows you to enable "compensate latency" and "automatic downloading" options (that are disabled by default).
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
RobDawg
Nub


Cakes 0
Posts: 4


« Reply #8 on: September 23, 2012, 01:17:17 PM »

I see you are using option 8 for the sever (do not disconnect client while downloading... see (DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Manual/Automatic_downloading#Fast.2C_slow_or_both)... can you check if the message appears as the same if using standard option 1?

And which option are you using on the client?

Changed sets sv_allowdownload to 1, same behavior as before: "Couldn't Load Maps/Kellblack.bsp".

Through the UI, there seems to be only one option... and that is "Automatic Downloading" set to "On" or "Off". It is set to "Off" when testing for this behavior.

I put my server back into the mode I wanted it. Basically every third map is a map from the "Quality Maps" set (non-standard maps). I also changed my server name to "Enable Autodownloading For Maps" so feel free to connect to it with autodownloading off and on to see the difference.

I am pretty sure this is expected as I have seen other threads where people also ask for the message to be changed or allow it to let the end user set the value when it happens. I can see not letting them change the value when it happens but changing the message to give the user a better idea of why they have just been kicked from the game would be nice.
Logged
Gig
In the year 3000
***

Cakes 45
Posts: 4391


WWW
« Reply #9 on: September 24, 2012, 01:49:00 AM »

Quote
WARNING: You are missing some files referenced by the server:\n%s"
                  "You might not be able to join the game\n"
                  "Go to the setting menu to turn on autodownload, or get the file elsewhere\n\n", missingfiles
The problem here is that a player will almost never see that warning, since the console will be spammed with loads of other text while connecting.
A missing map bsp is of course a reason not to be able to play.

I've done a test, too. And yes, there is that warning, and it is in console only... with tons of text lines after that. It's quite unlikely someone would actually read that message.

The info should really be more visible, for blocking problems...
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Pages: [1]
  Print  
 
Jump to: