Skip to content

FDL Bug Part Two #3961

@HarmonicWay

Description

@HarmonicWay

Last one god closed, this is part two :

Last time :

This bug is very strange. It appeared a few days ago when people started coming to my server in larger numbers. Here's how to perform it and how it behaves:

The player connects to the server, does not have the map that is currently on the server, and then the server uses FDL (FastDL) for fast download. What happens is that, for example, the next map is downloaded very slowly, almost up to 3 minutes, while all others are downloaded quickly. And then after that, the next map is downloaded quickly for him, for example, and slowly for some others. This can be fixed by restarting Cs, the client needs to enter and exit. After this, I contacted the hosting where I received a message from the support stating that FDL tried to download a huge number of files but could not find them. All the listed files were really not there, but what is even more strange is that all the files were listed through the paths in the .res files for some folders. When I checked, all the listed models that FDL couldn't find were really not there, but after 2 minutes the player would definitely download the map with all those models and sounds.

The bug is extremely random, the closest I've found to this is Error 404 in FastDL, for example this particular one: https://forums.alliedmods.net/showthread.php?t=184941

Then what is the next problem? I have been playing these maps for a long time, and for example some sounds are written in the res files on certain maps that are used as rain, and I know they should be there because otherwise I hear them, but now because of this I have to delete them from these .res files and they are no longer there. Is there a solution?

Answer from @kisak-valve :

Hello @HarmonicWay, I'm not seeing an issue here.

FastDL points to an external http web server which can provide maps and related files. If that fails, goldsrc games are supposed to fallback to the dedicated server directly serving out those files while managing the other player's connections. Your own explanation is that the external web server is missing some content you want, and that should be added there instead of trying to gut assets from a .res file.

Update :

A player joins the server and tries to connect, and in his console he always gets the following message:

BUILD 4002 SERVER (0 CRC)
Server # 3
Couldn't find map maps/deathrun_aether_b1.bsp, server will download the map
Commencing connection retry to 151.247.205.250:27015
Connecting to 151.247.205.250:27015...
Connection accepted by 151.247.205.250:27015

  • Privileges set

Here, as you can see, the client receives a message that the FDL did not find the map on that path, but the server will download it. This would mean that the client is not downloading the map through FDL, but through the server, which is a significantly slower process. And now we come to the interesting part:

"http://game1.fra.kgb-hosting.com/d36df280-4c63-46c0-bc0a-628c66678018/cstrike/maps/deathrun_aether_b1.bsp"
"https://clarion.nx.tc/cstrike/maps/deathrun_aether_b1.bsp"

Both URLs above are fully functional, the maps are uploaded there and you can install the map in 2 seconds without any problem. However, on the server it is not like that, the player waits up to 2 or even 3 minutes for this map.

If the client experiences this, they can restart the game — they simply exit and join again, and then the map downloads in a few seconds without any issue.

This bug does not happen for every map, and it is not the same for every player, it is completely random and unpredictable.

I personally checked every .res file and manually fixed all the resources that were required inside them, so this is no longer an option as the source of the issue.

This is my current server.cfg, but keep in mind that I did not use only this version:

Version 1:
// Game server hostname
hostname "CLARION - DeathRun [VIP + XMAS]"
sv_password ""

// Rcon server password
rcon_password "hidden"

// Rcon password security
sv_rcon_banpenalty 1
sv_rcon_maxfailures 1
sv_rcon_minfailures 1
sv_rcon_minfailuretime 30

// server cvars
sv_airaccelerate 100
sv_stepsize 18
sv_voicecodec voice_speex
sv_voicequality 2
sv_voiceenable 0
mp_footsteps 1
mp_autokick 0
mp_flashlight 1
mp_tkpunish 0
mp_forcecamera 0
mp_forcechasecam 0
sv_pausable 0
sv_cheats 0
sv_aim 0
sv_maxspeed 320
mp_hostagepenalty 0
mp_allowspectators 1
mp_chattime 3
sv_gravity 800
sv_proxies 0
mp_autoteambalance 0
mp_limitteams 0
mp_friendlyfire 0
csstats_maxsize 3500
mp_round_restart_delay 3
decalfrequency 20
sv_clienttrace 1
sv_enableoldqueries 1
hd_sh_punish "kick [userid] '[reason]'"
hd_sm_punish "kick [userid] '[reason]'"
hd_admin_notify 3
pre_x 0.49
pre_y 0.54

// round specific cvars
mp_freezetime 0
mp_roundtime 2
mp_startmoney 800
mp_c4timer 35
mp_fraglimit 0
mp_timelimit 0
mp_maxrounds 10
mp_winlimit 0
mp_buytime 0.25

// bandwidth rates
sv_unlag 1
sv_maxunlag 0.1
sv_unlagsamples 1
sv_unlagpush 0
sv_maxrate 0
sv_minrate 0
sv_maxupdaterate 30
sv_minupdaterate 10
fps_max 600
sv_uploadmax 0.5

// server logging
log off
sv_logbans 0
sv_logecho 0
sv_logfile 0
sv_log_onefile 0
mp_logmessages 0
mp_logdetail 0

// fdl
sv_downloadurl "http://game1.fra.kgb-hosting.com/d36df280-4c63-46c0-bc0a-628c66678018/cstrike/"
sv_max_queries_sec 3
sv_max_queries_global 30
sv_max_queries_window 60

// rehlds
sv_enable_rate_limit 1
sv_max_connects_sec 3
sv_max_connects_window 10
sv_connect_rate_limit 3
sv_a2s_info_rate_limit 25
sv_rehlds_attacks 1
sv_rehlds_stringcmdrate_max_avg 250
sv_rehlds_stringcmdrate_avg_punish -1
sv_rehlds_stringcmdrate_max_burst 500
sv_rehlds_stringcmdrate_burst_punish -1
sv_rehlds_movecmdrate_avg_punish 5
sv_rehlds_movecmdrate_burst_punish 5
sv_rehlds_movecmdrate_max_avg 1800
sv_rehlds_movecmdrate_max_burst 5500
syserror_logfile sys_error.log
sv_auto_precache_sounds_in_models 0
sv_delayed_spray_upload 0
sv_echo_unknown_cmd 0
sv_rcon_condebug 1
sys_ticrate "1000"
sv_maxupdaterate 102
sv_minupdaterate 102
sv_force_ent_intersection 0
sv_rehlds_force_dlmax 0
sv_rehlds_hull_centering 0
sv_rehlds_send_mapcycle 0
sv_rehlds_userinfo_transmitted_fields ""
sv_rehlds_attachedentities_playeranimationspeed_fix 1
sv_rehlds_maxclients_from_single_ip 1
sv_allowdownload "0"
sv_allowupload "0"

Version 2:

I only changed the URL to new FDL from other hosting :

sv_downloadurl "https://clarion.nx.tc/cstrike/"

Version 3:

Here I tested different CVAR combinations, allowdownload on 1, allowupload on 0, then I tried both on 1.

sv_allowdownload "1"
sv_allowupload "1"

Websites where I found some advice and tried those methods:

https://forums.alliedmods.net/showthread.php?t=308631

Mention : None of this version worked 100%, always my players had this bug. We have around 111 maps active. All files are added to FDL folders in good path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions