Avoiding GFX Intervall - Dynamic Banner

winzi

Member
Joined
Sep 15, 2015
Messages
53
Reaction score
5
Points
43
I wonder if it is possible to avoid / block the GFX Intervall and refresh the Banner over Cronjobs or something like that. Or is there a way to minimize the GFX Intervall under 60 secs?
 

Norvik

Retired Staff
Contributor
Joined
Jul 18, 2015
Messages
635
Reaction score
588
Points
157
I'm currently not aware of a method that's bypassing the 60 seconds. I did not test it but it should be possible to change the image automatically using a cronjob. You just should put a random image name or any random string in the URL so the image will be detected as a new one since it's not in the clients cache. This will kinda flood the clients storage since it wouldn't overwrite any of the previous pictures but do what you want.
 

Asphyxia

Owner
Administrator
Joined
Apr 25, 2015
Messages
1,846
Solutions
2
Reaction score
2,201
Points
327
I'm currently not aware of a method that's bypassing the 60 seconds. I did not test it but it should be possible to change the image automatically using a cronjob. You just should put a random image name or any random string in the URL so the image will be detected as a new one since it's not in the clients cache. This will kinda flood the clients storage since it wouldn't overwrite any of the previous pictures but do what you want.
Good point, this is a potential attack vector. Just keep switching images to the largest size the TS3 client supports. Clients keep caching banner gfx and flooding data storage. ;)
 

Norvik

Retired Staff
Contributor
Joined
Jul 18, 2015
Messages
635
Reaction score
588
Points
157
Good point, this is a potential attack vector. Just keep switching images to the largest size the TS3 client supports. Clients keep caching banner gfx and flooding data storage. ;)
Let's say you change the image every second but it takes more than a second to load the image. Will the client continue downloading the previous image? If so you could go completely crazy by changing the image a shitload of times in a very short amount of time. Gonna try to find out more about this when I'm at home :)
 

dedmen

TeamSpeak Developer
Contributor
Joined
Mar 28, 2016
Messages
530
Reaction score
584
Points
197
The Interval is set serverside right? If you can't set it lower than 60 seconds.. just set it lower in the SQL database and restart the server. Don't think teamspeak takes precautions so that doesn't happen.
 

ehthe

Retired Staff
Contributor
Joined
Apr 26, 2015
Messages
1,029
Reaction score
896
Points
216
The Interval is set serverside right? If you can't set it lower than 60 seconds.. just set it lower in the SQL database and restart the server. Don't think teamspeak takes precautions so that doesn't happen.
I had tried that a while ago. It didn't work. I didn't manage to find whether it was the server or the client enforcing the 60 sec timing.
 

NoXx

Member
Joined
Apr 24, 2016
Messages
33
Reaction score
29
Points
50
The interval is set clientside, it starts the counter with your connection (with a slight delay since it checks the existing cache for integrity)
 

winzi

Member
Joined
Sep 15, 2015
Messages
53
Reaction score
5
Points
43
@NoTeefy so you mean we must modify the client to get under 60 secs? This confused me a littlebit. Yeah thats true that the counter starts with your connection but the config for the Intervall is serverside. I am right?
 

NoXx

Member
Joined
Apr 24, 2016
Messages
33
Reaction score
29
Points
50
@NoTeefy so you mean we must modify the client to get under 60 secs? This confused me a littlebit. Yeah thats true that the counter starts with your connection but the config for the Intervall is serverside. I am right?
If it's still like when I tested it (about 2,5 months ago) the client connects -> checks server configs -> sets interval to 60 or higher. If you change it over the server database to an amount under 60 it ignores it and takes 60 instead. You can't work around that without modifying every client that should reload the gfx under 60 seconds.
 

ehthe

Retired Staff
Contributor
Joined
Apr 26, 2015
Messages
1,029
Reaction score
896
Points
216
Are you sure it's the client enforcing the limitation and not the server just checking the value before sending it ?
 

NoXx

Member
Joined
Apr 24, 2016
Messages
33
Reaction score
29
Points
50
Are you sure it's the client enforcing the limitation and not the server just checking the value before sending it ?
I'm not sure about that one. I just analyzed that a value under 60 gets replaced by 60.
If the server handles that check there might be a way of manipulating it.

Addition: By that time I couldn't find any check on the serverside, that's why I got to the conclusion that the client handles that one. It could be that I overflew it, didn't invest much hours into this problem^^
 
Last edited:
Top