Долго грузят материалы.

morfimist

Участник
Сообщения
47
Реакции
2
Что делать, если долго грузят материалы на сервере?
1635260431836.png

Я после этого даже включил быструю загрузку.
Сообщения автоматически склеены:

1635261443309.png
 
Последнее редактирование:
  • Попкорн
Реакции: xidi

Deluks

Верховное DNO|
Сообщения
1,853
Реакции
812

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403

xek

Рыба клоун
Сообщения
1,652
Реакции
636
sv_allowupload 1 в server.cfg или ещё куда-нибудь.
Fast dl, это не обязательно эта команда. Ее кстати рекомендовано выключать на серверах сообщества, чтобы не было проблем с сервером.
А в общем, качаться может из-за медленного веб сервера. Например если зайти на китайский сервер, то заветные 200 мб можно качать часа 2-3, когда на наших серверах все скачается за секунды.
 

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403

Rolzzandik

Участник
Сообщения
492
Реакции
234
вы что-то путаете..
"sv_allowupload" - Allow clients to upload customizations files

она в ксго не обязательна ВООБЩЕ
потому что
sv_allowupload 1
надо сделать на клиенте)

CNetChan::CheckReceivingList:
bool CNetChan::CheckReceivingList(int nList)
{
    dataFragments_t * data = &m_ReceiveList[nList]; // get list
    
    if ( data->buffer == NULL )
        return true;

    if ( data->ackedFragments < data->numFragments )
        return true;

    if ( data->ackedFragments > data->numFragments )
    {
        ConMsg("Receiving failed: too many fragments %i/%i from %s\n", data->ackedFragments, data->numFragments, GetAddress() );
        return false;
    }

    // got all fragments

    if ( net_showfragments.GetBool() )
        ConMsg("Receiving complete: %i fragments, %i bytes\n", data->numFragments, data->bytes );

    if ( data->isCompressed )
    {
        UncompressFragments( data );
    }

    if ( !data->filename[0] )
    {
        bf_read buffer( data->buffer, data->bytes );

        if ( !ProcessMessages( buffer, true ) ) // parse net message
        {
            return false; // stop reading any further
        }
    }
    else
    {
        static ConVar *s_pAllowUpload = NULL;

        if ( !s_pAllowUpload )
        {
            s_pAllowUpload = g_pCVar->FindVar( "sv_allowupload" );
        }

        if ( s_pAllowUpload && s_pAllowUpload->GetBool() )
        {

            // Make sure that this file is not being written to a location above the current directory, isn't in
            // writing to any locations we don't want, isn't an unsupported
            if ( CNetChan::IsValidFileForTransfer( data->filename ) )
            {
                // CSGO: FileExists will fail with an invalid write path, but writing files will default to the game dir, which
                // lets servers stomp existing files. Use default write path for the below calls (this is the same as the fastdl path done in
                // download.h/cpp
                const char *pszPathID = NULL;

                // we received a file, write it to disk and notify host
                if ( !g_pFileSystem->FileExists( data->filename, pszPathID ) )
                {

                    // Make sure path exists
                    char szParentDir[ MAX_PATH ];
                    if ( !V_ExtractFilePath( data->filename, szParentDir, sizeof(szParentDir) ) )
                    {
                        szParentDir[0] = '\0';
                    }
                    g_pFileSystem->CreateDirHierarchy( szParentDir, pszPathID );

                    // open new file for write binary
                    data->file = g_pFileSystem->Open( data->filename, "wb", pszPathID );

                    if ( FILESYSTEM_INVALID_HANDLE != data->file )
                    {
                        g_pFileSystem->Write( data->buffer, data->bytes, data->file );
                        g_pFileSystem->Close( data->file );

                        if ( net_showfragments.GetInt() == 2 )
                        {
                            DevMsg("FileReceived: %s, %i bytes (ID %i)\n", data->filename, data->bytes, data->transferID );
                        }

                        m_MessageHandler->FileReceived( data->filename, data->transferID, data->isReplayDemo );
                    }
                    else
                    {
                        ConMsg("Failed to write received file '%s'!\n", data->filename );
                    }
                }
                else
                {
                    // don't overwrite existing files
                    ConMsg("Download file '%s' already exists!\n", data->filename );
                }
            }
            else
            {
                // Something about the path or extension was unnaceptable
                ConMsg("Download file '%s' has invalid path or extension!\n", data->filename );
            }
        }
        else
        {
            // We won't create the file if 'sv_allowupload' is not enabled
            ConMsg("Download file '%s' ignored. File uploads are disabled!\n", data->filename );
        }
    }

    // clear receiveList
    if ( data->buffer )
    {
        delete [] data->buffer;
        data->buffer = NULL;
    }

    return true;

}
 
Сверху Снизу