00:58 < bridge> New spammer IP: `178.66.145.127`, now they use ddnet version `170312` 00:58 < bridge> Use `sv_banned_versions 170312,170399` to auto kick the bots. 01:22 < bridge> :brownbear: 04:55 < bridge> How then can I change the range of the strike? 06:22 < bridge> if it only were that easy 06:23 < bridge> ❓ 06:23 < bridge> It will work for now 08:59 < bridge> I mean it's like 5 lines above where it tries to find all entities in range 08:59 < bridge> There is a parameter for range 10:01 < bridge> https://www.youtube.com/watch?v=EI4geo5KJe8 10:01 < bridge> just found this old vid. For mapping this would be really cool actually 10:07 < bridge> https://www.youtube.com/watch?v=EI4geo5KJe8 10:07 < bridge> just found this old vid. For mapping this would be really cool. 10:10 < bridge> @tsfreddie: sometimes I see them. But Matrix mobile is the buggiest :D it never works 10:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171013799415914607/ima_da3452f.png?ex=655b2296&is=6548ad96&hm=9a900f3e4b02012ca5ca728d18f8955c2473d697f332240eb86d86bcf6312aa1& 10:10 < bridge> On irc I usually see it 10:23 < bridge> Yeah in white design it works worse 10:26 < bridge> chillerdragon: when do we get Teeworlds in 2022? 10:45 < bridge> Not planned 10:46 < bridge> @teero777: maybe 2024 and 2025 but not sure if I ever do such a weird video again 10:48 < bridge> Am I missing something or did you not realise that this has been a feature in DDNet client for a while? Enable "Show Info" to see this mode where you can drag the quad animation points. 10:52 < bridge> Woah I also did not know that! That’s cool 13:33 < bridge> wait what?! 13:33 < bridge> Since when is ddnet client so amazing? 13:43 < bridge> It's a well hidden feature, I only found out about it when I ported the bezier curve support. Though I don't think it makes sense to hide this feature behind the "Show Info" setting. 14:14 < bridge> we have to spread this xd 14:18 < bridge> i still can find it. xd 14:18 < bridge> this showinfo? 14:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171076221317160970/image.png?ex=655b5cb8&is=6548e7b8&hm=3c2d273f044aaba4ca58bdedde0c318bee5e188077c801829df24e179ca30d3f& 14:19 < bridge> ah this is cool asf 14:38 < bridge> i dont like that feature 15:05 < bridge> https://eprint.iacr.org/2023/1711.pdf 15:06 < bridge> Passive SSH Key Compromise via Lattices [pdf] (iacr.org) 16:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1171102429761261568/olr8jdpiqmyb1.png?ex=655b7521&is=65490021&hm=f0487123dc6ac719a570737d7f89a342614b5cfae233d1881840c67c41b59e32& 16:18 < bridge> Today the version is `170313` 16:18 < bridge> 16:18 < bridge> The bot joined an empty server, oh wow, I've never seen that. 16:18 < bridge> ``` 16:18 < bridge> 2023-11-06 16:57:26 I server: player has entered the game. ClientID=0 addr=57.129.1.215:62354 16:18 < bridge> 2023-11-06 16:57:26 I ddnet: cid=0 version=170313 16:18 < bridge> 2023-11-06 16:57:26 I chat: *** ♟ | SapphireEyes entered and joined the game 16:18 < bridge> 2023-11-06 16:57:34 I chat: 0:-2:SapphireEyes: • The strongest cheat client in the game is already available Fluxus we have everything you want! -> discord.gg/GcBsYfUd9S 16:18 < bridge> ``` 16:19 < bridge> Send such stuff in tickets, so the attackers dont learn about the fixes. 16:19 < bridge> Send such stuff in tickets so the attackers dont learn about the fixes that might get applied. 16:19 < bridge> Today the version is `170313` 16:19 < bridge> 16:19 < bridge> The bot joined an empty server, oh wow, I've never seen that. 16:19 < bridge> ``` 16:19 < bridge> 2023-11-06 16:57:26 I server: player has entered the game. ClientID=0 addr=57.129.1.215:62354 16:19 < bridge> 2023-11-06 16:57:26 I ddnet: cid=0 version=170313 16:19 < bridge> 2023-11-06 16:57:26 I chat: *** ♟ | SapphireEyes entered and joined the game 16:19 < bridge> 2023-11-06 16:57:34 I chat: 0:-2:SapphireEyes: • The strongest cheat client in the game is already available Fluxus we have everything you want! -> discord.gg/GcBsY fUd9S 16:19 < bridge> ``` 16:19 < bridge> 16:19 < bridge> Oh crap, discord is doing a link preview despite of no `http`. 16:19 < bridge> Today the version is `170313` 16:19 < bridge> 16:19 < bridge> The bot joined an empty server, oh wow, I've never seen that. 16:19 < bridge> ``` 16:19 < bridge> 2023-11-06 16:57:26 I server: player has entered the game. ClientID=0 addr=57.129.1.215:62354 16:19 < bridge> 2023-11-06 16:57:26 I ddnet: cid=0 version=170313 16:19 < bridge> 2023-11-06 16:57:26 I chat: *** ♟ | SapphireEyes entered and joined the game 16:19 < bridge> 2023-11-06 16:57:34 I chat: 0:-2:SapphireEyes: • The strongest cheat client in the game is already available Fluxus we have everything you want! -> discord.gg/GcBsY fUd9S 16:20 < bridge> ``` 16:20 < bridge> 16:20 < bridge> Oh crap, discord is doing a link preview despite of no `http`. I added a space to break the link. 16:21 < bridge> How other mod admins 'll know about it? Only @mpft expressed some interest and there is no reaction from DDNet. (https://github.com/ddnet/ddnet/issues/7419) 16:22 < bridge> If you open a ticket with the reason "other" then admins can take a look and they might forward it to the oder devs and fix it, but sharing all their strategies and informations here will reveal the fix that might be applied. 16:23 < bridge> The attackers might see this and adjust their way of attacking/spammin severs. 16:23 < bridge> The attackers might see this and adjust their way of attacking/spamming severs. 16:24 < bridge> It was clear for me, I made a choice. I want to share the info with all admins, including non DDNet and there is no other way to do it right now. 16:25 < bridge> Well sharing it publicly also means making them work around the fixes, but its your choice, I just gave you my opinion. 16:26 < bridge> Well sharing it publicly also means making it possible for them to work around the fixes, but its your choice. I just wanted to share my opinion. 16:29 < bridge> It is super curious why they have those "problems" in the first place but let's giggle silently and not discuss it. 16:36 < bridge> cant wait 16:42 < bridge> As I understand, it is also DDNet position to clearly communicate "you're a spammer, we kick/mute/ban you". From the efficiency point of view, shadow ban would work much better and save admins/moderators resources. 16:59 < bridge> It would be useful but unfortunately they use very wide IP ranges 17:01 < bridge> Here is a range they are using too many available IPs "57.128.0.0-57.131.255.255" 17:03 < bridge> If we'll ban 1 IP per minute, how many time it would take to ban all IPs? At this pace we'd ban 1000 IPs in an half of a day. 17:03 < bridge> I think that range bans are not needed, and I think that the attackers have just a dozen IPs, maybe with an option to rotate the IPs *manually*. 17:08 < bridge> Another problem is that they are also using ISP ranges. Many players would be involved without doing anything 17:13 < bridge> https://cleantalk.org/blacklists/as24961 -> Maybe a solution would be to add the IPs flagged as abuse 17:20 < bridge> Maybe they use bot malware clients and it is the player fault? Anyway, I don't see it as a real issue for the idea: if we'll globally ban spammer IPs (short bans for 48 hours would also work for our purpose) then the spammers 'll run out of IPs even if they have a lot of addresses. Even if they use ISP with dynamic addressing, they won't be able to spam the servers at the rate they spam us right now. 17:20 < bridge> 17:20 < bridge> How many IPs you seen? I have 16 IPs recorded. Maybe my server is super lucky but it gives me impression of a very limited spammers capability. Maybe they has IPs from wide ranges but how many IPs they have? 17:20 < bridge> 17:20 < bridge> How many money they do invest in your opinion? We don't need to make spam impossible, we just need to make it not worths it. 17:20 < bridge> Maybe they use bot malware clients and it is the player fault? Anyway, I don't see it as a real issue for the idea: if we'll globally ban spammer IPs (short bans for 48 hours would also work for our purpose) then the spammers 'll run out of IPs even if they have a lot of addresses. Even if they use ISP with dynamic addressing, they won't be able to spam the servers at the rate they spam us right now. 17:20 < bridge> 17:20 < bridge> How many IPs you seen? I have 16 IPs recorded. Maybe my server is super lucky but it gives me impression of a very limited spammers capability. Maybe they have IPs from wide ranges but how many IPs they have? 17:20 < bridge> 17:21 < bridge> How many money they do invest in your opinion? We don't need to make spam impossible, we just need to make it not worths it. 17:21 < bridge> Maybe they use bot malware clients and it is the player fault? Anyway, I don't see it as a real issue for the idea: if we'll globally ban spammer IPs (short bans for 48 hours would also work for our purpose) then the spammers 'll run out of IPs even if they have a lot of addresses. Even if they use ISP with dynamic addressing, they won't be able to spam the servers at the rate they spam us right now. 17:21 < bridge> 17:21 < bridge> How many IPs you seen? I have 16 IPs recorded. Maybe my server is super lucky but it gives me impression of a very limited spammers capability. Maybe they have IPs from wide ranges but how many IPs they have? 17:21 < bridge> 17:21 < bridge> How many money they do invest, in your opinion? We don't need to make spam impossible, we just need to make it not worths it. 17:26 < bridge> <_voxeldoesart> shes mega based 17:28 < bridge> hmm for deving I like linux more. For gaming (games that don't run on linux) I either don't play or I use windows 17:30 < bridge> Freezeclient and others clients 17:30 < bridge> Freezeclient and others 17:31 < bridge> I have already seen about 50-60 different Ips 17:31 < bridge> I have already seen about 50-60 different IPs 17:39 < bridge> The api of https://ipapi.is/developers.html could be useful 17:39 < bridge> The API of https://ipapi.is/developers.html could be useful 17:51 < bridge> "50-60" is "just a few" in the global scale. If I online it takes me seconds to ban an IP. Together we can ban 60 IPs in an hour, it is not a problem at all. 17:51 < bridge> It does not help individual servers because even if we ban all IPs "today", the spammers still succeed on many other servers for the rest of the day, and (relatively speaking) on the next day the spammers can come with new IPs and spend another thousands messages. 17:51 < bridge> 17:51 < bridge> It would be a game changer if the spammers 'll send just a few messages per (their) IP. 17:53 < bridge> "50-60" is "just a few" in the global scale. If I online it takes me seconds to ban an IP. Together we can ban 60 IPs in an hour, it is not a problem at all. 17:53 < bridge> It does not help individual servers because even if we ban all IPs "today", the spammers still succeed on many other servers for the rest of the day, and (relatively speaking) on the next day the spammers can come with new IPs and spend another thousands messages. 17:53 < bridge> 17:53 < bridge> It would be a game changer if the spammers could send just a few messages per (their) IP. 17:53 < bridge> :thonk: It could work 18:42 < bridge> how are you alive wtf? 19:50 < bridge> can you send me the line I need? 19:51 < bridge> int Num = GameServer()->m_World.FindEntities(ProjStartPos, GetProximityRadius() * 0.5f, apEnts, 19:51 < bridge> MAX_CLIENTS, CGameWorld::ENTTYPE_CHARACTER); 19:52 < bridge> ok, what should I do to change the shape of the shot? 19:52 < bridge> shot? 19:52 < bridge> ok, what should I do to change the length of the shot? 19:52 < bridge> didnt we talk about hammer 19:53 < bridge> I need to change the shape of the hammer blow so that the player leans back further after the impact 19:53 < bridge> мне нужно изменить длину удара молотка, чтобы игрок откидывался дальше после удара 19:53 < bridge> I need to change the length of the hammer blow so that the player leans back further after hitting it 19:53 < bridge> u want to make the hammer stronger? 19:54 < bridge> yes 19:56 < bridge> lmao discord down for me 19:56 < bridge> the first parameter of TakeDamage says `Force` 19:57 < bridge> that's probably what u want 19:57 < bridge> e.g. after `* Strength` you could probably do \* 5.0f 19:58 < bridge> then it would be like 5 times stronger xd 19:58 < bridge> if u want FNG like hammer: 19:58 < bridge> https://github.com/Jupeyy/teeworlds-fng2-mod/blob/793d30e29d638e69315a78d1b47e898fea8d735d/src/game/server/entities/character.cpp#L937C18-L975 20:07 < bridge> pTarget->TakeDamage((vec2(0.f, -1.0f) + Temp) * Strength, g_pData->m_Weapons.m_Hammer.m_pBase->m_Damage, 20:07 < bridge> m_pPlayer->GetCID(), m_Core.m_ActiveWeapon); 20:07 < bridge> 20:07 < bridge> vec(0.f, -1.0f) - this is Force? 20:08 < bridge> uhm, have u ever coded before? xd 20:08 < bridge> the whole expression is one argument 20:09 < bridge> it's the argument passed to the corresponding parameter `Force` 20:09 < bridge> yes, i am beginner in c++ 20:09 < bridge> ok 20:09 < bridge> I'm confused 20:09 < bridge> it's the whole argument until the `,` 20:09 < bridge> `(vec2(0.f, -1.0f) + Temp) * Strength` 20:09 < bridge> okey 20:10 < bridge> What needs to be changed to make the player fly further when hit? 20:10 < bridge> ^ 20:10 < bridge> I'd highly recommend to do some cpp tutorials first tho 20:16 < bridge> You don't need to change code just for stronger hammer though, you can use `tune hammer_strength 5` 20:18 < bridge> this parameter changes only in Y, but I need it in X 20:22 < bridge> Are you familar with vectors from mathematics? `vec2` is a vector in 2D, for example `vec2(0.f, -1.0f)` point straight up, as the X component is zero 20:22 < bridge> https://en.wikipedia.org/wiki/Euclidean_vector 20:22 < bridge> Are you familar with vectors from mathematics? `vec2` is a vector in 2D, for example `vec2(0.f, -1.0f)` points straight up, as the X component is zero 20:24 < bridge> I’m not familiar with vectors from mathematics, I’m in my 1st year of college) I haven’t done this yet. If it’s not difficult, can you tell me how to do it the way I need? 20:25 < bridge> Change the `0.f` to something else, like `2.0f` or `-2.0f` and see what it changes 20:25 < bridge> It should cause the hook strength to have more effect in the X direction 20:25 < bridge> It should cause the hammer strength to have more effect in the X direction 20:28 < bridge> it changes, for some reason only in one direction 20:29 < bridge> Which one? It currently applies most of the force upwards because the vector `vec2(0.f, -1.0f)` points up. If you change it to `vec2(2.f, -1.0f)` then it should apply twice as much force in X direction as in Y direction 20:34 < bridge> if I set the value to more than 2, then it only goes one way, that is, if I stand to the right of the player and hit him, then he hits me, and if I stand to the left of the player and hit, then he reclines normally 20:40 < bridge> Looks like this will always apply the force to the right. You need to consider the relative X position of the tees, i.e. `Dir.x`. You should probably learn some C++ to understand this. Or copy the function into ChatGPT and tell it what you want to have changed. 20:51 < bridge> I asked ChatGPT to do this, but it didn’t work( 20:55 < bridge> <_voxeldoesart> What are you trying to do? 21:06 < bridge> change kick height in X 21:51 < bridge> Yo 21:51 < bridge> possible somehow to fix it? 21:51 < bridge> https://i.imgur.com/cpwOFqJ.png**** 21:51 < bridge> https://i.imgur.com/cpwOFqJ.png 21:52 < bridge> evev with `#include ` is wont work 21:52 < bridge> even with `#include ` is wont work 21:57 < bridge> m_Afk is gameclient variable? 21:58 < bridge> yea 21:58 < bridge> tru 21:58 < bridge> you need to do `GameClient()->m_Afk` 21:58 < bridge> it's a member 21:59 < bridge> IDisocrd don't have GameClient field or getter 21:59 < bridge> How I remember 21:59 < bridge> CDiscord is a component 21:59 < bridge> This just interface for discord RPC and all data transfering with arguments 21:59 < bridge> nvm 22:00 < bridge> so how can i include this to code? 22:00 < bridge> it's not a component so you will have to request the client interface 22:01 < bridge> hell 22:01 < bridge> way harder than i thoughtj 22:06 < bridge> wait it's not a gameclient member lol 22:07 < bridge> I would recommend adding another argument to the `SetGameInfo` function, that would contain the `m_Afk` bool. Just remember you also have to check whenever the `m_Afk` bool has changed, and then call the function again. 22:08 < bridge> just need smth like this 22:08 < bridge> ```cpp 22:08 < bridge> IGameClient *pGameClient = Kernel()->RequestInterface(); 22:08 < bridge> if(pGameClient) { 22:08 < bridge> ... 22:08 < bridge> pGameClient->m_aClients[pGameClient->m_Snap.m_LocalClientID]->m_Afk; 22:08 < bridge> ... 22:09 < bridge> } 22:09 < bridge> ``` 22:09 < bridge> just need smth like this 22:09 < bridge> ```cpp 22:09 < bridge> IGameClient *pGameClient = Kernel()->RequestInterface(); 22:09 < bridge> if(pGameClient) { 22:09 < bridge> ... 22:09 < bridge> pGameClient->m_aClients[pGameClient->m_Snap.m_LocalClientID]->m_Afk; 22:09 < bridge> ... 22:09 < bridge> } 22:09 < bridge> ``` 22:09 < bridge> i hate writing code in discord 22:10 < bridge> i would recommend just requesting this interface the first time you need it & storing it in a member 22:12 < bridge> And remember that `m_LocalClientID` can be negative in the demo player, so you also want to check for `m_LocalClientID >= 0` or you might get a crash in the demo player 22:12 < bridge> may want to disable this behavior entirely in the demo player 22:14 < bridge> Looks like `CDiscord::SetGameInfo` is only called when online so it should be save 22:14 < bridge> Looks like `CDiscord::SetGameInfo` is only called when online so it should be safe