00:00 < ws-client3> ddnet has their own closed source antibot module with some other checks 00:00 < ws-client3> @_qey how are your servers called? 00:00 < bridge> <_qey> Does it work against KRX? The antibot. 00:01 < bridge> <_qey> I prefer not to tell. Sorry for being so secretive, lol. 00:01 < bridge> <_qey> Is there any community-wide rules that would prohibit me from selling VIP-statuses on my server or anything else that is being paid for? 00:02 < ws-client3> not that i know of 00:02 < ws-client3> it has been done before without issues 00:02 < bridge> <0xdeen> @orbilo Thanks for the donation! ^ 00:02 < ws-client3> dont forget to pay taxes :p @_qey 00:02 < bridge> <_qey> I don’t want to spend time implementing it just to find out I’m master-banned. 00:02 < ws-client3> should be safe 00:02 < ws-client3> but i am not a lawyer 00:02 < ws-client3> this is not legal advice 00:03 < bridge> <_qey> Haha. Thanks anyways. 00:04 < ws-client3> what gametype/map type are your servers? @_qey 00:05 < bridge> <_qey> It’s… Um… Custom… Why? Ahaha, it’s nothing special, just a side project. 00:05 < ws-client3> i help you because i am interested in the game and what you do 00:06 < bridge> siusiak 00:06 < bridge> <_qey> I truly appreciate the help, but I still prefer not to tell. There are… Reasons… Maybe not adequate ones, but there are reasons not to. 00:08 < bridge> <_qey> Some time ago people tried stealing my idea. They copied my maps and tried reproducing the success while DDoSing my servers to steal traffic, but they failed to do so. 00:08 < ws-client3> that sounds extremly fishy. I can not think of any legitmate reason not to connect your discord name to the server you are publicly running. 00:09 < bridge> <_qey> They swore they’re not DDoSing me, but once they closed their servers, the DDoS stopped. 00:09 < ws-client3> your idea is more likely to be stolen when you have successful servers running with it than when you mention it on discord where nobody reads it 00:09 < bridge> jebac kurwy i mlode policjantki 00:09 < bridge> po co mam placic podatki 00:10 < bridge> <_qey> I can assure you, there’s nothing illegal YET. I just don’t like publicity. 00:10 < bridge> @vznyxq HAS KRX CLIENT BAN HIM 00:10 < ws-client3> is it slow gores? 00:10 < bridge> <_qey> Nah. 00:10 < bridge> they said it!!!!!! 00:10 < bridge> they said the thing!! 00:10 < ws-client3> voldemort client 00:11 < bridge> <_qey> I don’t actually get why people here are so obsessed with not saying the name of the client, lol. 00:11 < bridge> cuz you get instamuted if youre unlucky 00:11 < bridge> <_qey> It’s not like I’m advertising it, I’m just trying to get to the point. 00:12 < bridge> fiku said it not u 00:12 < bridge> unless you did 00:12 < bridge> extremely fishy 00:12 < bridge> <_qey> I did. Twice. 00:12 < bridge> i see 00:12 < bridge> Hi 00:12 < bridge> Bye 00:12 < bridge> Hi 00:12 < bridge> Bye 00:12 < bridge> <_qey> Hahaha. You guys are fun to talk to. 00:13 < bridge> 🐟 00:14 < bridge> <_qey> Fishy people can run DDNet servers too, stop the discrimination, lol. 00:14 < bridge> 👀 00:14 < bridge> <_qey> Doesn’t mean their servers are fishy. 00:14 < bridge> fishy people do fishy things, thats why theyre called fishy 00:15 < bridge> <_qey> Fishy people are still people and people like playing games. Hence the server network. 00:15 < bridge> <_qey> I just don’t like DDNet servers, they lack moderation. 00:15 < bridge> <_qey> So I decided to create my own, then another, and another. 00:15 < bridge> ddrace servers? 00:16 < bridge> <_qey> Not mine. 00:16 < bridge> <_qey> Although I have a DDRace server, yeah. 00:18 < bridge> <_qey> Okay, I actually have three of them, they’re not really popular, slightly modified. 00:18 < bridge> <_qey> Custom ones are popular. Definition of popularity may vary. 00:21 < bridge> <_qey> Do I need to restart the server for the fifo command to take effect? Or can I add it to config for future use and enable it on the fly via RCON right away? 00:24 < bridge> <_qey> One more thing… Adding bans to a DB of some sort would be nice. And make it centralized for several servers by default. 00:24 < bridge> <_qey> Again, it’s something I could implement myself, but I’m too lazy and I won’t be able to share my shitty code with the world to use. 00:30 < ws-client3> @_qey i disagree with most rules ddnet has but i agree on not naming bot clients by their name to avoid normalizing it and advertising it 00:30 < ws-client3> you can as quickly get to the point by saying "cheat client" instead but i personally know what you were trying to do already based on you saying you need rcon moderation and whisper messages xd 00:31 < bridge> <_qey> There are many cheat clients. 00:31 < bridge> https://github.com/jxsl13/TeeworldsEconVPNDetection 00:31 < bridge> might fit the distributed banserver use case if run in offline mode. 00:32 < bridge> tho, there is not on the fly banning, just a config file with white/blacklist ranges 00:32 < bridge> no* 00:32 < ws-client3> @_qey i think fifo needs restart 00:32 < ws-client3> we should probably make the fifo thing read only to make it obvious 00:33 < ws-client3> @jxsl13 already sent that 00:33 < bridge> 👍 a 00:33 < bridge> -a 00:33 < ws-client3> xd 00:34 < ws-client3> @_qey you can use a bans.cfg as db and let all servers load it 00:35 < bridge> This is how we do it 00:36 < ws-client3> bad ddnet 00:36 < ws-client3> i should revive bbnet 00:36 < bridge> Anarchy Anarchy Net when? 00:36 < ws-client3> thats basically bbnet 00:36 < bridge> I want my god given right to use slurs 00:36 < ws-client3> BanBansNet banned bans so u cant be banned 00:37 < ws-client3> @learath2 YES! 00:37 < ws-client3> https://github.com/BanBansNet 00:37 < ws-client3> it has great logo already 00:37 < bridge> <_qey> I only see the bans_save command, how do I load it? 00:37 < ws-client3> ``exec bans.cfg`` 00:38 < ws-client3> or put it in your autoexec 00:38 < bridge> a ban hammer banning another ban hammer, but who bans the first hammer? 00:38 < ws-client3> @jxsl13 pst we dont talk about the first ban hammer 00:38 < bridge> <_qey> Ah… That means I’ll have to exec it every second or every ban, doesn’t work. 00:38 < bridge> who came first, the ban or the ban? 00:38 < ws-client3> he is still rouge 00:39 < bridge> <_qey> I meant the system that is centralized and allows you to ban one player on all servers. 00:39 < bridge> <_qey> Without the need to manually save, exec and update. 00:40 < ws-client3> ah you want it to instantly apply hmm ye then you need to watch for changes to the file and load it indeed 00:40 < ws-client3> should be 2 lines of shell script xd 00:40 < bridge> <_qey> That’s a workaround I will implement, yeah. 00:40 < bridge> <_qey> But I said it as a broader scale change. 00:41 < bridge> <_qey> For the entire DDNet. 00:41 < ws-client3> make sure to only load the file if it got changed you can listen to file changes with some simple watch commands 00:41 < ws-client3> if you load in a loop it will spam your logs 00:41 < bridge> <_qey> Well, that’s the issue with workarounds. 00:42 < ws-client3> @_qey you want a bigger scale? as in you want to ban ppl on your server as soon as i ban them on my server automatically? 00:42 < bridge> <_qey> No-no. I meant bigger scale as in pull request. 00:42 < ws-client3> pull request what where 00:42 < ws-client3> share all bans? 00:42 < bridge> <_qey> Although, a master ban list would be nice. 00:43 < ws-client3> @_qey well who gets to write to it? 00:43 < bridge> <_qey> But only for cheating offenders. 00:43 < bridge> <_qey> That’s not the point. Let me try again. 00:43 < bridge> probably pointless 00:44 < bridge> <_qey> I have a network of servers, right? I want to instantly share bans throughout the network. (My network). 00:44 < bridge> <_qey> I want this to be in DDNet-Server code base. 00:44 < bridge> <_qey> A centralized DB for bans. 00:44 < bridge> <_qey> Not just mine, everyone’s. 00:44 < bridge> ips are not static enough for that to make sense long term and on such a big scale 00:45 < bridge> <_qey> That’s why I don’t perma-ban. 00:45 < bridge> <_qey> Most if not all of my player base have dynamic IPs. 00:45 < bridge> a centralized banlist would be more or less a permanban 00:45 < bridge> also ips are considered personal data 00:45 < ws-client3> @jxsl13 i think he doesnt want to share the ban list centralized just the code that shares bans across servers 00:46 < bridge> <_qey> Max I do is a week for hackers. 00:46 < bridge> <_qey> Centralized for local network of my choice. Not the DDNet in its entirety. 00:46 < bridge> <_qey> “Local” 00:46 < ws-client3> inter server communication isnt something that has been done before 00:47 < bridge> <_qey> I’m not a native speaker, I don’t know how to further explain what I mean. 00:47 < ws-client3> i proposed something for map changes but it has been ignored since last year 00:47 < ws-client3> i think i got it @_qey 00:47 < ws-client3> the only current connection between two game servers is the db 00:48 < ws-client3> there is no other server to server communication and these servers are also not aware of any networks 00:48 < bridge> <_qey> Not really a communication per ce, just: 00:48 < bridge> <_qey> Server A bans player, adds to DB. 00:48 < bridge> <_qey> Banned player tries entering Server B, Server B reads the DB, sees that the player is already banned on server A, doesn’t let the player in. 00:49 < bridge> <_qey> And I’m deciding which server is connected to centralized DB, and which is not. 00:49 < ws-client3> you could just ban with a script instead of ban with rcon 00:49 < bridge> <_qey> Nah-nah, I know I can. 00:49 < ws-client3> ``./fifo_all_servers.sh "ban 127.0.0.1"`` 00:49 < bridge> <_qey> I can do a workaround. I can implement it in C++. I just don’t want to. And even if I do, the code will not be public. 00:50 < bridge> <_qey> Even though it’s a useful feature. 00:50 < ws-client3> so what do you want to happen then? 00:50 < ws-client3> because nobody else will pick this up and add it to ddnet 00:50 < bridge> <_qey> For somebody to make it for everyone. 00:50 < bridge> <_qey> Well, that’s sad. 00:50 < ws-client3> unlikely 00:50 < bridge> <_qey> Most I can do is suggest to help the community. 00:51 < bridge> <_qey> As for myself, I’ll go with the workaround. 00:51 < bridge> <_qey> I’ll fifo the shit out of it. 01:19 < ws-client3> @milkeeycat didnt u have transparent nameplates? i had a bug in my client which overwrote nameplate color now that i fixed that i got the transparent ones too xd what was the fix for that= 02:54 < bridge> Looks good to me 03:28 < bridge> ok. godot 4.4's new game window is kinda pog 03:29 < bridge> although the embed illusion is hilarious 03:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350657753378459699/2025-03-16_10-30-20.mp4?ex=67d7898e&is=67d6380e&hm=f59d09d38e4ef8351921da9a164afa2092865f811466a934d73420688521380b& 05:38 < bridge> has anyone made teeworlds in godot yet 05:41 < bridge> Believe me it's hard with Godot's physics engine, I tried :justatest: 07:28 < bridge> chillerdragon: hmm, I don't remember having anything like that 07:40 < bridge> ask @cellegenrih 08:01 < bridge> how to convert sqlite to mysql 08:05 < bridge> Export data from sqlite and import to mysql 08:06 < bridge> im did that but i have error 2025-03-16 09:59:45 I sql: failed connecting to db: (prepare:stmt:1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for 08:07 < bridge> Did you modify query? 08:08 < bridge> what is a query 08:08 < bridge> :justatest: 08:09 < bridge> im an beginner sorry for real :CCC 08:09 < bridge> can you write steps you've done to get to this error? 08:09 < bridge> wait 08:09 < bridge> `select * from table where id='1'` 08:09 < bridge> 08:09 < bridge> Thats a query 08:17 < bridge> Idk, I searched on the Internet 08:17 < bridge> Here: 08:17 < bridge> 08:17 < bridge> sqlite3 ddnet-server.sqlite 08:17 < bridge> 08:18 < bridge> sqlite3 ddnet-server.sqlite .dump > ddnet-server.sql 08:18 < bridge> 08:18 < bridge> sudo mysql -u root -p 08:18 < bridge> 08:18 < bridge> CREATE DATABASE `ddnet-server` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 08:18 < bridge> 08:18 < bridge> mysql -u root -p ddnet-server < ddnet-server.sql 08:45 < bridge> ChillerDragon: when is chillerdragores16 done 09:45 < bridge> Oops 09:45 < bridge> There're so many noisy ad bots. 09:48 < bridge> And they always change ips in a while. 09:49 < bridge> ip range is usually limited and bannable, if one wanted to ban them, it would be possible. 09:49 < bridge> nk 09:50 < bridge> no 09:51 < bridge> Their ips are really changeable. 09:51 < bridge> https://hackertarget.com/as-ip-lookup/ 09:52 < bridge> throw their ip in there 09:52 < bridge> get an asn, lookup the ip ranges of the asn, ban them 09:52 < bridge> The first bot ip could be 112.xxx.xxx.xxx. And the second bot ip could be 124.xxx.xxx.xxx 09:52 < bridge> Oops 09:53 < bridge> This is a example 09:53 < bridge> which from players in my servers 09:53 < bridge> one asn can have different ip ranges assigned to it. 09:54 < bridge> alternatively, ban individual ips by chat messages. 09:54 < bridge> depending on message content 09:54 < bridge> Hm. 09:55 < bridge> Yeah, but not every modes could do that. 09:55 < bridge> Also these bots seemed to be from Russia 09:56 < bridge> Wait 09:56 < bridge> well, it would be possible with econ, which I sometimes use for like banning vpns, so you would not need to modify c++ source code. 09:56 < bridge> Ah, yeah 09:57 < bridge> Hm 09:58 < bridge> if you want to analyze your server logs to see who said what, specifically chatvots advertising some client, then you can try this here: https://github.com/jxsl13/twlog 09:58 < bridge> Wow 09:58 < bridge> sadly, I got nothing for banning players on the fly. 09:59 < bridge> might be another small project some day. 09:59 < bridge> Fly mod? 09:59 < bridge> I mean 09:59 < bridge> banning players when they say a sopcific chat message 09:59 < bridge> specific 10:00 < bridge> this is just for analyzing logs afterwards, not for automatically banning players in the exact moment when they advertise cheat clients 10:01 < bridge> I found that maybe name bans could also help a lot. (The bots are enough silly now) 10:02 < bridge> A few months ago we hat bots that generated their nicknames 10:02 < bridge> in the ent the message that they want to write in the chat is probably easier to ban with regex matching. 10:03 < bridge> in the end the message that they want to write in the chat is probably easier to ban with regex matching. 10:03 < bridge> than a nickname 10:04 < bridge> :thonk: 10:05 < bridge> can't generate a chat message when you want to advertise some client with a specific name and a specific location in the internet, like url or some telegram group, etc. 10:06 < bridge> you will always have parts that cannot be generated and that are static which you can match. 10:07 < bridge> if you want to analyze your server logs to see who said what, specifically chatbots advertising some client, then you can try this here: https://github.com/jxsl13/twlog 10:07 < bridge> Like a domain? 10:07 < bridge> Oh 10:07 < bridge> yes, url 10:07 < bridge> yeah 10:11 < bridge> Some persons like to copy bots' messages, and changed the url to a normal client url(teeworlds.com or ddnet.org). Will them be considered as bots? 10:15 < bridge> it depends on your regular expression. 10:15 < bridge> if you use those for matching bot client urls 10:18 < bridge> something like that, I would guess: https://regex101.com/r/5UvjLg/1 10:43 < bridge> The guy has some problems with textures on the Settings, probably related to VRAM, help him out ye? 11:08 < bridge> its "please" 11:09 < bridge> $configdir 11:09 < bridge> remove all skins and assets there 11:21 < bridge> No 11:25 < bridge> then no help 11:49 < bridge> @canarda_04 no eyes on your skin ): 11:50 < bridge> and uneven outlines 12:04 < bridge> I don't know if there's already a tool for this but the easiest way to make this work is to use https://github.com/tengla/sqlite3-to-mysql/blob/master/sqlite3-to-mysql script on `ddnet-server.sql` and remove all `CREATE TABLE` queries from `ddnet-server.sql` file 12:05 < bridge> im did already but ty 12:23 < bridge> I wasn't the one needing help anyway 12:24 < bridge> I just redirected someone else's problem here, cuz I know you guys know the underlying problem 12:26 < bridge> @jupeyy_keks just to be clear, you want me to also add a comment like `// https://github.com/ddnet/ddnet/pull/9670/files#r1997558182` ? 12:26 < bridge> no 12:26 < bridge> it's only for future reference 12:27 < bridge> else that change looks randomx D 12:27 < bridge> ahh, a ref for github xD okay 12:28 < bridge> ` +1 −125` lovely 12:28 < bridge> WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. 12:28 < bridge> 2025-03-16 14:27:29 I sql: failed to open wordlist, using fallback 12:28 < bridge> 2025-03-16 14:27:29 I server: version 18.9.1 on linux amd64 12:28 < bridge> 2025-03-16 14:27:29 I mysql: connection established 12:28 < bridge> 2025-03-16 14:27:29 I assert: /root/SoupSlow/src/engine/server/databases/mysql.cpp(545): error getting float: NULL 12:28 < bridge> Illegal instruction (core dumped) 12:28 < bridge> 12:28 < bridge> 12:28 < bridge> help 12:30 < bridge> That alone won't help to help you 12:30 < bridge> Do you use custom queries? 12:31 < bridge> which mysql version etc. 12:31 < bridge> SoupSlow does not sound like ddnet 12:31 < bridge> mysql Ver 15.1 Distrib 10.6.18-MariaDB, for debian-linux-gnu 12:31 < bridge> im just edited the game_type 12:31 < bridge> no 12:32 < bridge> Then create a backtrace otherwise this information won't help 12:32 < bridge> i dont know what is backtrace 🙂 12:32 < bridge> im beginner 12:33 < bridge> then google it 12:33 < bridge> I also was not born knowing it 😉 12:43 < bridge> <_qey> That’s the second reason I’m implementing log-based external monitoring system. 12:44 < bridge> <_qey> Too much spam-bots, they connect, spam and leave in the same second, leaving almost no chance to catch them for a regular moderator. 12:46 < bridge> @0xdeen "Hello, I operate servers in China and understand the need for strict security measures. Due to local internet regulations, my servers are unable to register with your listing service. Would you kindly consider whitelisting this IP if possible? Thank you for your understanding!" 12:46 < bridge> Hi guys, I have a problem in ddnet, when I go to the tee tab or the textures tab, the game just crashes, I already reinstalled it, I don't understand what to do, please help!! 12:46 < bridge> Hellou :3 12:47 < bridge> you should also tell him which ip, lmao 12:47 < bridge> or is he a fortune teller 12:48 < bridge> I was ready, but I was afraid that he wouldn't agree, so I didn't send it out 12:48 < bridge> 139.159.154.158:8303 12:48 < bridge> 139.159.154.158:8304 12:48 < bridge> 139.159.154.158:8305 12:48 < bridge> 139.159.154.158:8306 12:48 < bridge> 139.159.154.158:8307 12:48 < bridge> 111.229.37.36:8303 12:48 < bridge> 111.229.37.36:8304 12:48 < bridge> 111.229.37.36:8305 12:48 < bridge> 111.229.37.36:8306 12:48 < bridge> 111.229.37.36:8307 12:48 < bridge> 122.51.149.66:8303 12:48 < bridge> 122.51.149.66:8304 12:48 < bridge> 122.51.149.66:8305 12:48 < bridge> 122.51.149.66:8306 12:48 < bridge> 122.51.149.66:8307 12:48 < bridge> 94.191.103.125:8303 12:48 < bridge> 94.191.103.125:8304 12:48 < bridge> 94.191.103.125:8305 12:48 < bridge> 94.191.103.125:8306 12:48 < bridge> 94.191.103.125:8307 12:48 < bridge> 139.159.154.158:8303[🇨🇳] is an official **新中文联合社区 (NewTeeworldsCN)** (Type: DDrace) server. 12:48 < bridge> **新中文联合社区 (NewTeeworldsCN) is __NOT__ affiliated with DDNet.** 12:48 < bridge> Quick join: 12:48 < bridge> <_qey> I was also DDoSed again just recently, haven’t happened in a while. This time there was a some kind of amplification/reflection attack, not sure. My server DDoSed itself. 12:48 < bridge> but next time better do a private message, then it won't get lost here 😉 12:49 < bridge> <_qey> You be you, just as always, lol. 12:49 < bridge> ah problem was in my build 12:49 < bridge> ty 12:51 < bridge> 🥰 ok 12:58 < bridge> stop using tas on official ddnet servers pls 12:59 < bridge> Im not the one doing this 12:59 < bridge> you are helping them with their servers development, so ur guilty too :troll: 13:00 < bridge> why did I even expect that anyone ever asking for dev related help in this chat is not a cheater :lol: 13:00 < bridge> :pepeW: 13:01 < bridge> No, the person supplies me with content, I post it on TikTok. I am the only one who runs the server, the person who makes TAS has nothing to do with Soup 13:01 < bridge> ur the one who encouraged them to do so, ur fully guilty now lol 13:02 < bridge> Where does it say that what I'm doing is prohibited? 13:02 < bridge> what questions do you have for me? 13:03 < bridge> ./rules 13:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350801658438881381/screenshot_2025-03-16_18-02-07.png?ex=67d80f94&is=67d6be14&hm=7440e7ef5f2b1354cf6a856b990ef6cca6d1b2138eae46f301f6190e87f05f35& 13:04 < bridge> so what did I violate from this? 13:04 < bridge> you are person that sponsors cheating on our servers, what exact reason you want to hear? 13:05 < bridge> where does it say here that i can't sponsor this 13:05 < furo> Are you retarded 13:05 < bridge> where does it say here that i can't "sponsor" this 13:05 < bridge> oh shit 13:05 < bridge> okay 13:05 < bridge> where does masterservers rules say we can't ban soup servers network from it 13:06 < bridge> im sure we can 13:06 < furo> They have already been banned in the past, but have changed IP. 13:06 < bridge> is this game server ddnet rules? 13:06 < bridge> not masterserver 13:06 < bridge> https://ddnet.org/rules/master/ 13:06 < bridge> im not adversting cheats 13:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350802510243299328/image.png?ex=67d8105f&is=67d6bedf&hm=2dcc7224da75912854593557540412a396cd38aac59f55e8f6d61edb0da6b7b2& 13:07 < bridge> can you show me where i am adversting cheats or smth 13:07 < bridge> why have you been banned in past then? 13:07 < bridge> You guys ok? 13:08 < bridge> because I created the KRX role in the discord server Soup 13:08 < bridge> its been gone for 15 days already 13:08 < bridge> ok, why you sponsor tas runs on ddnet servers 13:08 < bridge> soo where i am sponsoring tas runs 13:08 < bridge> in tiktok? 13:08 < bridge> i wonder 13:09 < bridge> I don't force anyone to use cheats 13:09 < bridge> @gerdoe I don't see any advertisement from his posts, idk where you get that accusation from 13:09 < bridge> everyone knows the cheats is exists 13:10 < bridge> @ka3drofficial Do you post TAS related runs on TikTok or what kind of content is he accuse you of advertising with? 13:10 < bridge> you only see me because soup in leaderboards, and TeeFusion, who still violates masterserver rules, is invisible to you 13:11 < bridge> yes im posting TAS videos in tiktok 13:11 < bridge> is this prohibited ? 13:11 < bridge> they're sponsoring guy who TASes his runs under nickname souppvp or whatever on ddnet servers 13:11 < bridge> Then it's fine to do so. It's only violating rules if those ranks are officially marked on DDNet leaderboards. 13:12 < bridge> murpi deleted them on daily basis weeks ago 13:12 < bridge> how do I modify input :nouis: 13:12 < bridge> where is prohibited that im cant sponsoring a GUY 13:12 < bridge> I think any Teeworlds Youtubers or Twitch streamers should be allowed to use tools for experiental / entertainment purposes, but not for competitive ones. 13:12 < bridge> Those purposes need to be punished accordingly, and respectfully. 13:12 < bridge> ur using cheats to advertise 13:13 < bridge> im not using cheats 13:13 < bridge> a guy give me context then i posting 13:13 < bridge> and how does teefusion break masterserver rules 13:13 < bridge> it 13:13 < bridge> bro 13:13 < bridge> a guy give me content then i posting 13:13 < bridge> im can send you messages from admin mail 13:13 < bridge> copy love box 2s was reported like thousands time from my side, admins don't care xd 13:13 < bridge> @ka3drofficial Mind writing your TikTok page to me in **private message**? I would like to verify his claims 13:13 < bridge> if you are about these two servers 13:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350804312414224455/image.png?ex=67d8120c&is=67d6c08c&hm=5cd5de0782cfd465e64580b1d6cde711c02d42716e9df6228b459b0cbb34c324& 13:14 < bridge> thanks, does it allow you advertise yourself using cheat software? 13:14 < bridge> im not adversting me by cheat software its do man who has nothing to do with soup 13:15 < bridge> @ka3drofficial Mind writing your TikTok page to me in **private message**? I would like to verify his claims 13:15 < bridge> (Send me a friend request, cuz that's the only way to message me) 13:15 < bridge> ok i see no sense to talk further 13:15 < bridge> im adversting me by videos 13:15 < bridge> Can you send the page where you post those videos? 13:15 < bridge> So I can verify 13:15 < bridge> about me 13:15 < bridge> discord 13:16 < bridge> Alright, @gerdoe let me verify 13:16 < bridge> Flashbang 13:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350804882101370960/Screenshot_20250316_201601.jpg?ex=67d81294&is=67d6c114&hm=121bcf8400353c977955ba822ae7eb300ed8611df96efe068b2a1a29746d92ce& 13:16 < bridge> Nice workspace name 13:16 < bridge> cellegen it was verified hundred times, don't waste your free time 13:16 < bridge> xD 13:16 < bridge> @ka3drofficial If you truely understand the ending of code geass you'd be on the good side 13:16 < bridge> 😏 13:17 < bridge> do you want me to stop posting videos about TAS or what 13:17 < bridge> stop sponsoring tas runs on ddnet server 13:17 < bridge> servers* 13:17 < furo> The problem isn't the TAS runs, it's that they are done on official servers. 13:18 < bridge> how can i influence this if i am not the one doing it. i already said that it is not necessary 13:18 < bridge> you said there is a guy who does this for you, ask them to stop 13:18 < furo> Then don't post them. 13:18 < bridge> it's that simple 13:19 < bridge> It's the same as if a person steals something in a store and I'm guilty because I didn't say anything. 13:19 < bridge> sure 13:20 < bridge> I told him to stop. If this is his hobby why should he listen to me. 13:20 < bridge> yeah why would he use souppvp nickname 13:21 < bridge> one day he told me "I'll launch TAS on your domain now", and that's how it started. I didn't ask him to do it 13:22 < bridge> it's just unfair that my servers are punished for something that one guy does and doesn't stop 13:23 < furo> I checked the TeeFusion server you were talking about as well and it is says cheats are prohibited in /rules. 13:23 < bridge> and 13:24 < bridge> will some1 ban they? 13:24 < furo> You claimed that they were allowed there, which isn't the case. 13:24 < bridge> hm, im dont say that 13:25 < bridge> wait 13:25 < bridge> XD 13:25 < bridge> bro 13:25 < bridge> 46.174.48.103:53014 13:25 < bridge> 46.174.48.103:53014[🇷🇺] is an official **TeeFusion** (Type: Block) server. 13:25 < bridge> **TeeFusion is __NOT__ affiliated with DDNet.** 13:25 < bridge> Quick join: 13:25 < bridge> join here 13:26 < bridge> 2025-03-16 15:26:34 I chat/server: *** Читы разрешены (Кроме: TAS, AutoBack, AutoUnfreeze, HookRide, JetRide). 13:26 < bridge> Ok, should I write my report here, or in private @gerdoe? 13:26 < bridge> 2025-03-16 15:26:34 I'm in chat/server: *** Cheats allowed (Except: TAS, AutoBack, AutoUnfreeze, HookRide, JetRide). 13:26 < bridge> Or, should I just summarize the result I've got? 13:26 < bridge> what is the result? 13:26 < furo> Ah, I see. Thank you. 13:29 < bridge> it's known, thanks. you can use admin-mail if you want tho 13:31 < bridge> right 13:31 < bridge> @chanch0o we lost 13:32 < bridge> 😭 13:32 < bridge> 3 mantainers are against it i wont drag it 13:32 < bridge> i have it in keyboard anyway 13:33 < bridge> 3 mantainers are against it, i wont drag it 13:33 < bridge> youre not allowed with keyboard 13:33 < bridge> yeah it's not that useful in game anyway 13:33 < bridge> then waiting for teero' 13:33 < bridge> then waiting for teero's "trivial" detection 13:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350809189873881140/image.png?ex=67d81697&is=67d6c517&hm=4ff5bcc6bc27c6e2d6b38a4057240e1581897bbd7760658b13df948fc5efa3d2& 13:33 < bridge> i mean it is trivial, check if theres any overlap, if there never is, its obvious that its being used 13:34 < bridge> but 99% of maps dont require you to have perfect direction swap 13:34 < bridge> no modification to inputs are allowed 13:34 < bridge> its not to do with the advantage there is or isnt 13:34 < bridge> in osu if you hold 1 button and spam other for fast clicks then sure all inputs in a row have no overlap 13:35 < bridge> `It is forbidden to manipulate the game input in any way that the official DDNet client does not support. This includes any method of input manipulation such as using custom clients, 3rd party tools or hardware automation (this is not an exhaustive list).` 13:35 < bridge> `It is forbidden to manipulate the game input in any way that the official DDNet client does not support. This includes any method of input manipulation such as using custom clients, 3rd party tools or hardware automation (this is not an exhaustive list).` - roby 13:35 < bridge> in ddnet you would need to take all inputs that are below few ticks between dir change and compare with legit player how many are instantr 13:35 < bridge> in ddnet you would need to take all inputs that are below few ticks between dir change and compare with legit player how many are instant 13:36 < bridge> a person with null binds will never have any overlap 13:36 < bridge> a person with snap inputs will never have any overlap 13:36 < bridge> what kind of overlap 13:36 < bridge> but then snap tap wont make you do all of them perfect anyway 13:36 < bridge> snap tap is undetectable 13:36 < bridge> left down, right down, left up, right up 13:36 < bridge> instead of 13:36 < bridge> left down, left up, right down, right up 13:36 < bridge> since client doesn't send direction for situation u press both keys 13:36 < bridge> oh thats true 13:36 < bridge> then you can detect for a gap between them 13:37 < bridge> another magic number in codebase yappie xd 13:37 < bridge> if theres never a gap between them then its snap inputs 13:37 < bridge> since you have 24 ms between your presses you really have time to "instant" switch 13:37 < bridge> 20ms? 13:38 < bridge> 50tps 13:38 < bridge> oh ye 20 ms 13:38 < bridge> but no map has a setup where you need no gap 13:38 < bridge> race maps 13:38 < bridge> still not about the advantage 13:38 < bridge> sure its humanly possible, but if theres nenver a gap, then snap inputs are being used 13:38 < bridge> Idk how to make eyes on this skin 13:38 < bridge> Maybe I can reupload 13:38 < bridge> see the svg files for any of the normal skins 13:38 < bridge> or 13:38 < bridge> pngs of any skins 13:39 < bridge> i have one question about master bans: why fng server doesnt banning 13:39 < bridge> how do you put eyes on 🗿 13:39 < bridge> gigachad also no eyes 13:39 < bridge> upto whoever wants a :moaiaiaiai: skin 13:39 < bridge> No but I mean, having eyes on this skin would be weird 13:39 < bridge> but all skins hsould have eyes, or things which move around 13:40 < bridge> theres plenty of skins that dont 13:40 < bridge> i dont particularly like them either x-x 13:40 < bridge> ? 13:40 < bridge> and thats the point of moyai that hes standing still 13:40 < bridge> @sollybunny show me the bugs via screenshot and I will fix them 13:40 < bridge> Pls 13:40 < bridge> 3 times when i was banned at master fng server saved 13:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350811033123426356/image.png?ex=67d8184f&is=67d6c6cf&hm=24f9419f5d08bd8ed388446ff3201178ae56e4e151a94acf06201652b4651383& 13:40 < bridge> right now some1 banned me and fng server alive 13:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350811292641923152/image.png?ex=67d8188d&is=67d6c70d&hm=fea75f5d49b71622b15fe15aa016da0d7cbcbad0228cc411cc18be622e8e26e0& 13:41 < bridge> @canarda_04 13:42 < bridge> who knows 13:42 < bridge> Does ddnet-insta provide official vote config files? 13:42 < bridge> If I research their code, will I be able to bypass the bans? 13:42 < bridge> :))) 13:42 < furo> Ban is based on IP 13:42 < bridge> so fng is not banned 13:43 < bridge> masterban? probably not 13:43 < bridge> @canarda_04 its not up to me if your skin gets added, its not that hard of a fix to make the outlines the same 13:43 < bridge> you can probably get away with no eyes, but it will make me sad 13:43 < bridge> fng have the same ip but not banned why? 13:43 < bridge> yes 13:43 < bridge> If you show me a way to make the skin look good with eyes I can add 13:43 < bridge> I need to delete my message and send it back? 13:44 < bridge> (For fixed version) 13:44 < bridge> idk if deleting your msg works 13:44 < bridge> Well it did work, ig I will do that 13:59 < bridge> @soulyvevo idk where to type this message but I was mentioned here 13:59 < bridge> 13:59 < bridge> So Solly showed me a bug about my skin, what should I do? Delete my old message and send back, just send a new version, or wait 14:00 < bridge> delete old, send new 14:00 < bridge> I tried to determine the dummy's ID using this code, and it works fine, but the problem is that it breaks on some maps. Please help me figure out the problem and explain why this is happening. 14:00 < bridge> ```C++ 14:00 < bridge> if (m_pClient->DummySwap != LastDummySwap) 14:00 < bridge> { 14:00 < bridge> DummyId = LastClientId; 14:00 < bridge> } 14:00 < bridge> LastDummySwap = m_pClient->DummySwap; 14:00 < bridge> LastClientId = ClientId; 14:01 < bridge> ``` 14:01 < bridge> This code from Hud.cpp 14:02 < bridge> ```C++ 14:02 < bridge> const int ClientId = m_pClient->m_Snap.m_SpecInfo.m_Active ? m_pClient->m_Snap.m_SpecInfo.m_SpectatorId : m_pClient->m_Snap.m_LocalClientId; 14:02 < bridge> ``` 14:02 < bridge> ```C++ 14:02 < bridge> void CGameClient::OnDummySwap() 14:02 < bridge> { 14:02 < bridge> if(g_Config.m_ClDummyResetOnSwitch) 14:02 < bridge> { 14:02 < bridge> int PlayerOrDummy = (g_Config.m_ClDummyResetOnSwitch == 2) ? g_Config.m_ClDummy : (!g_Config.m_ClDummy); 14:02 < bridge> m_Controls.ResetInput(PlayerOrDummy); 14:02 < bridge> m_Controls.m_aInputData[PlayerOrDummy].m_Hook = 0; 14:02 < bridge> } 14:02 < bridge> int tmp = m_DummyInput.m_Fire; 14:02 < bridge> m_DummyInput = m_Controls.m_aInputData[!g_Config.m_ClDummy]; 14:02 < bridge> m_Controls.m_aInputData[g_Config.m_ClDummy].m_Fire = tmp; 14:02 < bridge> if (DummySwap) 14:03 < bridge> DummySwap = 0; 14:03 < bridge> else 14:03 < bridge> DummySwap = 1; 14:03 < bridge> m_IsDummySwapping = 1; 14:03 < bridge> } 14:03 < bridge> ``` 14:03 < bridge> So there is this guy with a cat hitler skin: 14:03 < bridge> - is he a cheater? 14:03 < bridge> - is he a racist? 14:03 < bridge> 14:03 < bridge> I think I should ignore him 14:03 < bridge> This chat evolves into bot spam 14:03 < bridge> It't for aad dummy position in hud 14:03 < bridge> I'm not rasist 14:04 < furo> @kebscs Here you go, I made a trivial detection: 217.208.236.167:8303 While a normal player would still trigger it sometimes, one using it would trigger it all the time. 14:04 < bridge> It't for add dummy position in hud 14:04 < bridge> this not cheat 14:06 < bridge> null movement detection? 14:07 < bridge> wait let me fetch my software and see 14:08 < bridge> @ka3drofficial Upon the further investigation of the accusation, the results have only lead to a definitive advertisement of the "Soup Client", it's latest being version 1.3. So we have any info on what that client includes? 14:08 < bridge> Because if it doesn't, then the staff team will have to verify themselves. 14:09 < bridge> i can send you source 14:09 < bridge> its just renamed tclient 14:09 < bridge> xD 14:09 < bridge> fr 14:09 < bridge> Please do 14:12 < bridge> honestly i think preserving human input is just better overall for AB 14:14 < furo> @liber_0 If you say so, `GameClient()->m_aLocalIds[!g_Config.m_ClDummy]` 14:15 < bridge> accept friend req 14:20 < bridge> can confirm it works 14:20 < bridge> `m_pGameClient->m_aLocalIds[!g_Config.m_ClDummy]` @liber_0 14:20 < bridge> didnt know its being used so much 14:20 < bridge> ah fuck 14:20 < bridge> furo got me 14:20 < bridge> i was scrolled up 14:21 < bridge> :gdclap: 14:21 < bridge> can still trigger it without snap tap but i guess there can be a limit 14:21 < bridge> just get more samples :x 14:21 < bridge> yes 14:21 < bridge> how does the detection work? just statistics? 14:23 < bridge> rn its every time 14:23 < bridge> i guess could be % of direction changes 14:23 < bridge> All configs I use for my servers are public. I guess they could be considered official. Search for cfg here https://github.com/ddnet-insta 14:23 < bridge> 14:23 < bridge> But I recommend reading the readme for configs in the main repo 14:23 < bridge> this anyway dont work 14:23 < bridge> idk 14:23 < bridge> And this depends not on the server, but specifically on the map. 14:24 < bridge> I am confused. 14:25 < furo> No, it doesn't. Your code most likely broken in that case. 14:32 < bridge> fast switch is common technic, im not sure that snap tap detection will get less false positives than it has rn 14:34 < bridge> ChillerDragores16 released 8 years ago on kog according to /mapinfo. It was planned as a winter event map. I think it actually might have been one not sure. 14:34 < bridge> Why do you ask? Xd 14:39 < bridge> @sollybunny what do you think now? 14:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350825871149371462/moyai.png?ex=67d82620&is=67d6d4a0&hm=a43fdf01eda93fba0861217e5bdb4948510c3401f7cd008736bb16b3c57e0f40& 14:40 < bridge> if hte outlines are consistent 14:40 < bridge> better 14:41 < bridge> 🗿 14:41 < bridge> sry but it looks ugly af 14:41 < bridge> just a hater 14:41 < bridge> yea 14:41 < bridge> it looks good 14:41 < bridge> disagree 14:41 < bridge> im not even saying this because it's mine 14:41 < bridge> why the ears on the side? 14:41 < bridge> I genuinly think it looks good 14:42 < bridge> wym 14:43 < bridge> 🗿 14:43 < bridge> huh 14:43 < bridge> the feet look ass 14:44 < bridge> those are not default feet recolored 14:44 < bridge> also I think they are too round 14:44 < bridge> skin as well 14:44 < bridge> also what is the liscencing if its just stolen from twemoji 14:45 < bridge> it's not a twemoji, it's a general emoji 💀 14:45 < bridge> its not 14:45 < bridge> all mojis look the same 14:45 < bridge> xd 14:45 < bridge> what's the point tbh, null-movement hardly does anything for gameplay in teeworlds 14:46 < bridge> they are 14:46 < bridge> why are you lying? 14:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350827507061887037/2025-03-16_14-45-42.mp4?ex=67d827a6&is=67d6d626&hm=ce1101b6976a9966dd8eb3ec4c86f0b08bf3c0fd97061ea3fd36801d5d890892& 14:46 < bridge> im not 14:46 < bridge> THERE IS LITERALLY LESS ANTIALIASING ON THOSE FEET 14:46 < bridge> it's the default maoji emoji from discord themself, what are you talking about? 14:46 < bridge> THATS WHY THEY LOOK UGLY 14:47 < bridge> that's because the photopea outline changed it 14:47 < bridge> it's the same feet 14:47 < bridge> discord uses twemoji? 14:47 < bridge> I read that as tw-emoji, like the ddnet self made emojis 14:47 < bridge> tw for Teeworlds, context matters 14:47 < bridge> @canarda_04 if the outline changed then its bad xdd 14:47 < bridge> @soulyvevo help me 14:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350827955588169830/image.png?ex=67d82811&is=67d6d691&hm=643ef6695ac2c0ab2de30f19f341cd6c93d53dabb0a10203a58ca6ab73f18348& 14:48 < bridge> you know the name is spelled moai and not moyai ? 14:48 < bridge> if I fix feet it's good? 14:48 < bridge> 🗿 14:48 < bridge> look at the emoi name 14:48 < bridge> look at the emoji name 14:48 < bridge> discord is wrong 14:49 < bridge> In 2010, moai was included as a "moyai" emoji (🗿) in Unicode version 6.0 under the code point U+1F5FF as "Japanese stone statue like Moai on Easter Island". The official Unicode name for the emoji is spelt "moyai" as the emoji actually depicts the [[Moyai statue|‹See RfD› moyai statue]] near Shibuya Station in Tokyo. 14:49 < bridge> easter island statue faces 14:49 < bridge> https://en.wikipedia.org/wiki/Moai 14:49 < bridge> the emoji is moyai and the irl statue is moai 14:50 < bridge> omg the moyai statue is a totally different one from japan 14:50 < bridge> https://en.m.wikipedia.org/wiki/Moyai_statue 14:51 < bridge> I didn't know 14:55 < bridge> thre are 0 0.5 servers damn 14:58 < ws-client3> road to 0 0.6 servers 14:59 < ws-client3> @teero777 ChillerDragores16 looks ugly? -.- or were you talking about something else xd 15:00 < bridge> nor 0.4 15:00 < ws-client3> ah the skin 15:00 < bridge> 0.4 5 and 6 are all the same thing but the ui gets better 15:00 < bridge> i mean the long unfinished map? was it chillerdragores6? 15:00 < ws-client3> ah yes thats 6 15:00 < bridge> ah yea please upload to kog soon 15:00 < ws-client3> mapping slowed down a lot since i got more and more annoyed by kog testing team 15:01 < ws-client3> i can not even publish maps anymore without discord 15:01 < bridge> just send it over to avo to skip testing 15:01 < ws-client3> yea might do 15:01 < ws-client3> but i am scared it will be declined was so much work 15:01 < bridge> we will have it accepted on awb servers atleast xd 15:02 < bridge> https://bugs.kde.org/show_bug.cgi?id=501057 15:02 < bridge> huh? 15:02 < ws-client3> thats actually motivating @teero777 15:02 < ws-client3> wait can u release ChillerDragores17 there too? xd 15:03 < ws-client3> omg where 17 i think i deleted it watfak because it got rejected 15:03 < bridge> no way xDD 15:03 < bridge> maybe its on heinrichs server 15:03 < bridge> why are u typing on a bot? 15:03 < bridge> he is AI 15:04 < ws-client3> it should be in the git log 15:04 < bridge> oh 15:04 < bridge> he doesn't look AI 15:04 < ws-client3> @teero777 this map is banger ngl it also got rejected https://github.com/ChillerTW/GitMaps/blob/master/NudelDragores.map 15:06 < bridge> This is such a funny backstory for the emoji 15:06 < ws-client3> found the map i was talking about initially @teero777 my first kog decline i was upset about but the map is a bit weird ngl https://github.com/ChillerTW/GitMaps/blob/master/gores/ChillerDragores9.map 15:10 < bridge> no way why is it full black xD 15:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350833615398899752/image.png?ex=67d82d57&is=67d6dbd7&hm=172dad2914f428bd30bb4a82d0a4187db1262ec6c8c1701730e630b4c15f793c& 15:11 < bridge> chiller btw do you know how to install common video codecs on arch? 15:15 < bridge> ffmpeg and a browser? 15:16 < bridge> apparently discord can't find some 15:16 < bridge> so i can't play the videos within discord 15:16 < bridge> downloading-> using mpv works fine 15:16 < bridge> discord doesnt support alot of codecs 15:16 < bridge> by not support is that it doesnt stick it in a video element 15:16 < bridge> the browser can probably play it 15:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350835324926033960/image.png?ex=67d82eee&is=67d6dd6e&hm=a5c8c2bac31d8fba2c7311f523b6af7a2b88d79eb2bfe608cfed7c76a473017e& 15:17 < bridge> whats the video 15:17 < bridge> from phone 15:17 < bridge> idk what codec 15:17 < bridge> as in can i have the file if its like 15:17 < bridge> Discord is dookie dung 15:17 < bridge> not private 15:18 < bridge> its like as private as it gets 15:18 < bridge> xdd 15:18 < bridge> so no 15:18 < bridge> fair enuf 15:18 < bridge> reencode it with ffmpeg? 15:18 < bridge> like it would destroy teeworlds and ddnet would need a new rulebook kind of video 15:18 < bridge> idk how a video could do that 15:18 < bridge> unless it was an exploit 15:18 < bridge> Good issue ChillerDragon, agreed 15:19 < bridge> chiller is farming virtual github points again 15:19 < ws-client3> open issues are minus points tho @teero777 15:20 < bridge> kinda an issue with all configs 15:20 < ws-client3> @teero777 install vlc lmao xd 15:20 < ws-client3> also just dont use discord 15:20 < bridge> yea i noticed dc is trash 15:21 < ws-client3> i ffmpeg all videos i upload to discord first to .mp4 15:21 < bridge> but irc is more annoying xd 15:21 < ws-client3> irc is best for codecs 15:21 < bridge> not so good for voicechats and threads and all the other discord specific stuff 15:22 < ws-client3> @teero777 yes racist kog testers rejected the map because it is black 15:22 < bridge> ah ok 15:22 < bridge> makes sense 15:22 < ws-client3> is awb racist too? 15:22 < bridge> i would reject it too 15:22 < ws-client3> yikes 15:22 < bridge> because there is literally no design xD 15:22 < bridge> its worse than default bg with no tiles 15:22 < ws-client3> you just dont get the artwork 15:22 < bridge> yes i can confirm, AwB are huge ddracists 15:22 < ws-client3> its cozy af 15:23 < bridge> but withou dd because they're gores based 15:23 < bridge> cozy like a dark cold cave with occasional screams 15:23 < bridge> put aipgores tileset on and a happy sun and good bg and its releasable 15:23 < bridge> put aipgores tileset on and a happy sun and good bg and its releaseable 15:24 < bridge> Palatkaamme irkkiin! 15:24 < bridge> Threads are bloat 15:24 < ws-client3> no no @teero777 its all about the dark mode design 15:24 < bridge> VC is nice I agree 15:24 < ws-client3> using freeze tiles as main tile texture is revolutionary 15:25 < bridge> > maps being rejected because of the design 15:25 < bridge> > me who plays with entity overlay on all the time :justatest: 15:25 < bridge> doesn't matter xd 15:25 < ws-client3> i am ahead of my time 15:25 < ws-client3> already have been 8 years ago 15:25 < bridge> i only play in entities but when i switch to non entities i dont want it to look like my entities 15:25 < bridge> i only play in entities but when i switch to non entities i dont want it to look like entities again 15:25 < ws-client3> then add happy sun to your entities @teero777 15:25 < bridge> just never switch it off 15:26 < bridge> :bluekitty: 15:26 < bridge> no 15:26 < bridge> maybe he prefers a sad sun 15:37 < bridge> chiller i am missing a grenade on nudelgores 15:45 < ws-client3> https://www.youtube.com/watch?v=kFEgXGuTmfE 15:45 < ws-client3> no grenade needed checkout this lit move 15:46 < bridge> crazy 15:46 < bridge> sg is fine but nade would be nicer 15:46 < ws-client3> yea nade is epic for trolling 15:46 < bridge> speedrun :x 15:46 < ws-client3> i dont feel like touching a 8 yr old master piece right now xd 15:46 < ws-client3> @teero777 ban 15:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350844448023777290/image.png?ex=67d8376d&is=67d6e5ed&hm=a51205d0514b306de2c541e403e87bdae5b665531baa8f0ca7c608fc9e560442& 15:53 < bridge> wow 15:56 < ws-client3> eww 0.6 server 15:56 < ws-client3> go play 0.7 server there are no spam bots hehe 15:56 < bridge> ofc there isnt 15:56 < bridge> this is a 1.0 server 15:56 < ws-client3> spammers stuck in 2016 15:56 < bridge> because im playing 1.0 15:56 < ws-client3> 1.0 xd 15:56 < bridge> asking 0.7 enjoyers to get anything but teeworlds client is like me asking you to return to germany 15:56 < bridge> wont happen 15:57 < ws-client3> @meloƞ im about to head to the airport! 15:57 < ws-client3> dox 15:57 < bridge> :Aware: 16:01 < bridge> matrix made bam? 16:01 < bridge> dam! 16:01 < bridge> cant figure out howt o compile it teewars tho ): 16:02 < bridge> matricks* 16:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350846976786432001/image.png?ex=67d839c8&is=67d6e848&hm=3b10ca601c35fe654baad6ab21f07a7778b393c33465d0b4a6256b9dc953c93e& 16:03 < bridge> yummy 16:03 < bridge> mat ricks or ma tricks 16:03 < bridge> matrix 16:04 < bridge> fair 16:06 < bridge> just in case that happens. will you leak chiller in my DM 16:06 < bridge> nah we'll leak each other 16:07 < bridge> :justatest: 16:07 < bridge> we probably meet just for coffee anyway 16:07 < bridge> Damn German privileges 16:08 < ws-client3> @TsPiggy wat privilege? dont u have plenty of china players around? 16:09 < bridge> test 16:09 < bridge> you arent allowed to say base lib 16:09 < bridge> as a single word? 16:09 < bridge> ye but I already met the cool ones 16:09 < ws-client3> baselib 16:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350848444788506624/image.png?ex=67d83b26&is=67d6e9a6&hm=a4675ba4a73f56099640d684013a161b7ab6ee5cf0266ce6538191d406a5c81e& 16:09 < ws-client3> discord issue 16:09 < bridge> I wanna meet the Germans cool dudes too 16:10 < ws-client3> you cant be talking about melon and me then 16:10 < ws-client3> jupstar is the cool dude 16:10 < bridge> I think discord is just dying. 16:10 < bridge> baselib 16:10 < bridge> ¯\_(ツ)_/¯ 16:11 < bridge> what is baselib xd 16:11 < bridge> anyone know what baselib is D: 16:11 < bridge> hmm 16:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350849056057851995/image.png?ex=67d83bb8&is=67d6ea38&hm=8702052dbd11da2a51bb97e0221a87aa3d1de4556b4e3ee196062b2a4610c33e& 16:11 < ws-client3> Teeworlds' base library (baselib) is a Python-based library that provides the core functionality of the game. It includes classes and functions for managing game objects, rendering, physics, and more. The lib is written in C++ but uses Python as its interface language. 16:12 < bridge> a 16:12 < ws-client3> jk 16:12 < bridge> baselib 16:12 < ws-client3> gosh llms are so useless 16:12 < bridge> Ye I think discord is dying 16:12 < bridge> ive send 10 messages only 1 got thru 16:12 < bridge> ive send 10 messages only 1 got thru 16:12 < bridge> I need to re-sent three times for messages to went through. 16:12 < ws-client3> come to https://chat.zillyhuhn.com/ 16:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350849270462546053/Screenshot_20250316_231213.jpg?ex=67d83beb&is=67d6ea6b&hm=c26446db3047f54a51ff4e5dc18f2b3c8d02d750980a6fe9b1932ecb919265c6& 16:12 < bridge> + 16:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350849270479061284/image.png?ex=67d83beb&is=67d6ea6b&hm=bc9ccb5ed9cd835ae32bce05aa3beb33ce10c7978ab01827e8b91a14d519a0dc& 16:12 < bridge> baselib destroyed discord 16:13 < bridge> quiet time then. gn 16:13 < bridge> gn 16:13 < ws-client3> rq 16:13 < bridge> i found part of it in old matricks repo 16:13 < bridge> maybe opengl.h is just opengl.h 16:13 < bridge> maybe baselib/opengl.h is just opengl.h 16:13 < ws-client3> where did u even find baselib 16:13 < bridge> maybe baselib/opengl.h is just GL/gl.h 16:13 < bridge> in tw 0.1 16:14 < bridge> trying to get it to compile so i can run the server 16:14 < bridge> I can kinda relate... >.< 16:14 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350849642362830911/Untitled.png?ex=67d83c44&is=67d6eac4&hm=19d542e08d7291d2afccfeb8365ecb330c2becf2df44d94cfc25141460637845& 16:14 < ws-client3> isnt the server just 0.6? xd 16:14 < bridge> Solly is now teehistorian, pun intended 16:14 < bridge> no 0.1 not 1.0 16:15 < ws-client3> @ayuayuayuayuayuayu this worked like a charm for me ``name_ban "tg:@" 0 1 ad`` only works if your mod is ddnet based 16:15 < ws-client3> @TsPiggy hihi 16:15 < bridge> Why 16:16 < ws-client3> oh shit 0.1 16:16 < bridge> How can I help you chillerdragon 16:16 < ws-client3> wot 16:16 < bridge> You tagged me 16:16 < ws-client3> i was giggling about your teehistorian joke 16:17 < ws-client3> like a real man 16:17 < bridge> Fair 16:18 < bridge> Ohhh the server belongs to "unique", my bad, but thanks a lot :happy: 16:37 < bridge> there ain't a bot spam cuz no one plays 0.7 anymore 16:42 < bridge> thats up to you honestly, if you want to keep the current ratio of likes then you can send me the fixed version in dms 16:43 < bridge> nvm i just saw you sent the new version 16:43 < bridge> looks fine to me 16:43 < bridge> well personally I like the skin but it might not get accepted if people don't like it D: 16:52 < bridge> chiller are you here? 16:52 < bridge> https://youtu.be/VtZIMO4Vi5g 16:53 < bridge> https://youtu.be/VtZIMO4Vi5g 17:42 < bridge> <0xfaulty> Good evening, it is possible to restore records (even only Name + Timestamp + Time + Map[optional]) from teehistorian? 17:42 < bridge> <0xfaulty> I want to restore some wrongly deleted records if possible 17:42 < bridge> <0xfaulty> If exist, is there any existed tool for that or need to write some new parser? 17:43 < bridge> there is a tool to convert teehistorian files to demos but none to directly get ranks from them 17:43 < bridge> lemme find it 17:43 < bridge> @imilchshake 17:44 < bridge> https://lib.rs/crates/tee-hee 17:44 < bridge> here 17:46 < bridge> <0xfaulty> I tried to install it before, but not sure that I use it correctly 17:47 < bridge> <0xfaulty> ``` 17:47 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/a6617828-154e-4e64-a109-dbfe98bcb06d.teehistorian 17:47 < bridge> <0xfaulty> 05:08 (15418): name="" time=02:02.70 (6135) 17:47 < bridge> <0xfaulty> ``` 17:47 < bridge> <0xfaulty> but no new files was created after that 17:49 < bridge> <0xfaulty> I tried to install it before, but not sure that I use it correctly 17:49 < bridge> <0xfaulty> ``` 17:49 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/a6617828-154e-4e64-a109-dbfe98bcb06d.teehistorian 17:49 < bridge> <0xfaulty> 05:08 (15418): name="" time=02:02.70 (6135) 17:49 < bridge> <0xfaulty> 17:49 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/1fc63a5d-55a6-4bea-8bc7-d0cd42a9600e.teehistorian 17:49 < bridge> <0xfaulty> 01:48:17 (324883): name="x0loc" time=05:51.24 (17562) 17:49 < bridge> <0xfaulty> ``` 17:49 < bridge> <0xfaulty> but no new files was created after that 17:51 < bridge> <0xfaulty> I tried to install it before, but not sure that I use it correctly 17:51 < bridge> <0xfaulty> ``` 17:51 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/a6617828-154e-4e64-a109-dbfe98bcb06d.teehistorian 17:51 < bridge> <0xfaulty> 05:08 (15418): name="" time=02:02.70 (6135) 17:51 < bridge> <0xfaulty> 17:51 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/1fc63a5d-55a6-4bea-8bc7-d0cd42a9600e.teehistorian 17:51 < bridge> <0xfaulty> 01:48:17 (324883): name="x0loc" time=05:51.24 (17562) 17:51 < bridge> <0xfaulty> ``` 17:51 < bridge> <0xfaulty> but no new files was created after that 17:51 < bridge> <0xfaulty> 17:51 < bridge> <0xfaulty> version: `tee-hee v0.5.3` 17:51 < bridge> <0xfaulty> I tried to install it before, but not sure that I use it correctly 17:51 < bridge> <0xfaulty> ``` 17:51 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/a6617828-154e-4e64-a109-dbfe98bcb06d.teehistorian 17:51 < bridge> <0xfaulty> 05:08 (15418): name="" time=02:02.70 (6135) 17:51 < bridge> <0xfaulty> 17:51 < bridge> <0xfaulty> tee@vds-96140:~/.teeworlds$ tee-hee replay teehistorian/1fc63a5d-55a6-4bea-8bc7-d0cd42a9600e.teehistorian 17:51 < bridge> <0xfaulty> 01:48:17 (324883): name="x0loc" time=05:51.24 (17562) 17:51 < bridge> <0xfaulty> ``` 17:51 < bridge> <0xfaulty> but no new files was created after that 17:51 < bridge> <0xfaulty> 17:51 < bridge> <0xfaulty> version: `tee-hee v0.5.3` (latest) 17:51 < bridge> teehee 17:57 < bridge> @imilchshake @patiga or @kdaniel can prob help when they are online. I've personally never used it 18:35 < bridge> have fun: https://github.com/jxsl13/banserver 18:35 < bridge> if you find any bugs, tell me. 18:36 < bridge> no persistence layer, the game servers are your persistence 18:45 < bridge> @fo4tok or @zwelf2 but more zwelf 18:50 < bridge> yeah, just loop thru and gather `Chunk::PlayerNew`, `Chunk::PlayerName` and `Chunk::PlayerFinish` 18:50 < bridge> with help of rust crate teehistorian 18:53 < bridge> I'm not at home rn but the documentation of the tools is very good just use --help 19:00 < bridge> ooh nice! Maybe I could Auto ban cheat ads :poggers2: 19:00 < bridge> yes that's what it also does 19:01 < bridge> Very cool :f3: :brownbear: 19:17 < bridge> <0xfaulty> Yes, of course, it say: 19:17 < bridge> <0xfaulty> ``` 19:17 < bridge> <0xfaulty> Usage: tee-hee 19:17 < bridge> <0xfaulty> Commands: 19:17 < bridge> <0xfaulty> replay Replays Teehistorian file, generates DDNet demo file 19:17 < bridge> <0xfaulty> ... 19:17 < bridge> <0xfaulty> ``` 19:17 < bridge> <0xfaulty> So that exactly what I used (command output listed in my previous message) 19:18 < bridge> There might be a flag somewhere to set the output file 19:32 < bridge> try `--help` 19:33 < bridge> the cli name is hilarious, Michael Jackson would definitly agree. 19:34 < bridge> hee-hee in the streets 19:34 < bridge> tee-hee in the sheets 19:34 < bridge> ask cory feldman 19:35 < bridge> ask corey feldman 19:44 < bridge> <0xfaulty> oh, I got my mistake (thanks Anime.pdf for explanation), I used `tee-hee --help` instead `tee-hee replay --help` 19:44 < bridge> <0xfaulty> so yes, there is --demo flag for output file and some other flags 19:55 < bridge> <_qey> I appreciate the work, but I need a script of my own, tailored to my needs. I’ll take a look at your approach and take a note. Thanks anyways. 19:56 < bridge> <_qey> As previously mentioned, that would be a great addition to the main DDNet repository written in C++. 19:56 < bridge> is ok, it's open source and anyone can use it. 19:57 < bridge> do you want it to store bans in the ranks database? 19:57 < bridge> doesn't sound like it should be that hard 20:11 < bridge> M$ PLEASE 20:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1350909247109726330/image.png?ex=67d873c7&is=67d72247&hm=8a6f8f621a9b41799ff2c20ee170ae8492b4c51f8b588a7f2a159e1772b8abe2& 20:12 < bridge> "It's current state" 20:13 < bridge> also it'd be nice if their language server client worked 20:13 < bridge> also it'd be nice if their language server manager worked 20:14 < bridge> oh wait this is in rust-analyzer extension code 20:31 < furo> Honestly storing them in the database doesn't sound too bad, but if you are also running vanilla based mods. You would be having two different ban systems. 20:35 < bridge> well yeah and there's not a great reason to try and maintain it yourself when the database exists 20:35 < bridge> i think you're not expecting to remember player bans if you're not also valuing ranks, in most scenarios 20:35 < bridge> so you'd have a database for it anyway 20:51 < bridge> There is a caveat. These need to be aggressively cached and held in memory. We can't just let people in because the db connection is out. Nor can we afford to run a full query for each packet 20:52 < bridge> At which point what value does a database add over just rsyncing a bans.cfg to all your servers? 21:15 < bridge> good point. 21:15 < furo> Ah, right. The idea didn't seem that bad when everything is ran on the same machine. How does DDNet sync the bans? 22:52 < bridge> @robyt3 are there any rules when it's ok to leave a small method implementation in header file vs when it has to be implemented in cpp file? In my pr I implemented it in `.h` file https://github.com/ddnet/ddnet/pull/9878/files#diff-920a6cd03077cdb536a9d58ed10dcd0b94c024a07ca2710f016d184f6313424aR23 and you didn't ask to move it in cpp file but in ur pr you moved `CDataFileReader::IsOpen` implementation from `.h` file to `.cpp` file https://githu 22:58 < bridge> moving implementation from header to a seperate file is often faster since any implementation will probably rely on other header files 22:58 < bridge> that means your header will have more interdependance which increases compile time 22:58 < bridge> it also means any changes to implementation do not mean recompilation of any files depending on the header 22:58 < bridge> it also makes header files more readable if implementations are big 22:58 < bridge> its probably okay to leave really small things in headers like getters but anything between that and something big is upto whoever writes it probably 22:58 < bridge> (^ this answer sacrifices quality for response time from robey) 23:04 < bridge> We sync it the same way we sync everything else, just a master git repo that every leaf server pulls from 23:06 < furo> So, the bans aren't done with the rcon commands? 23:08 < bridge> Oh yeah, most of them are done through discord. I'm not a huge fan tbh, but I want the next iteration of this to be good 23:08 < bridge> don't want to half ass it anymore 23:10 < furo> I see, which in turn does a `git pull` on all servers and then a `exec` on the list with bans? 23:11 < bridge> I was doing that early on but all the servers re reading all the bans seemed wasteful to me, so nowadays I broadcast an rcon ban for each ban done on discord, the file is just there to persist the bans over restarts 23:12 < furo> Ah yeah, I guess that's smarter. 23:15 < furo> Maybe for a future version, you could use the antibot module to implement a custom command that you can use for bans instead of a command on Discord. 23:20 < bridge> I want a proper communication backbone that connects all the servers together implemented with something like grpc 23:22 < bridge> you can just use "status Lear" to filter. I've never ever needed the ids in scoreboard after I've implemented id mapping 23:41 < bridge> There aren't defined rules right now I think. Anything longer than 1 line shouldn't be in a header probably. For consistency I prefer almost everything in the source file, also because it should lead to fast compilation because the header is recompiled in every inclusion. Simple getters are mostly the exception to this I guess. 23:48 < bridge> How do you handle the case of Russian names? 23:48 < bridge> copy from chat, shift+tab 23:48 < bridge> or from f1 23:49 < bridge> oldschool issue :troll: 23:50 < bridge> Or copy the name or perform the mod action from a popup in the scoreboard or ingame player list like https://discord.com/channels/252358080522747904/1346615147145461800/1346615147145461800 23:51 < bridge> ban 127 blub 23:51 < bridge> ban 127 5 blub 23:52 < bridge> :justatest: 23:57 < bridge> Me and @sollybunny talked about that once - we may want to build on that idea and make it functional, if that is something DDNet would like to see. 23:57 < bridge> 23:57 < bridge> The idea was a simple floating window to perform any (custom) action on either a selection of tees (sort of a selection tool of sorts) or a spectated tee. 23:57 < bridge> 23:57 < bridge> Custom for the purpose that it's not something only usable for ddnet (/jail for city servers for example) 23:57 < bridge> Me and @sollybunny talked about that once - we may want to build on that idea and make it functional, if that is something DDNet would like to see. 23:57 < bridge> 23:57 < bridge> The idea was a simple floating window to perform any (custom) action on either a selection of tees (sort of a selection tool of sorts) or a spectated tee. (Since left click now automatically snaps to a tee in spectator, I'd think that's the best place for such a tool 23:57 < bridge> 23:57 < bridge> Custom for the purpose that it's not something only usable for ddnet (/jail for city servers for example) 23:57 < bridge> Me and @sollybunny talked about that once - we may want to build on that idea and make it functional, if that is something DDNet would like to see. 23:57 < bridge> 23:58 < bridge> The idea was a simple floating window to perform any (custom) action on either a selection of tees (sort of a selection tool of sorts) or a spectated tee. (Since left click now automatically snaps to a tee in spectator, I'd think that's the best place for such a tool) 23:58 < bridge> 23:58 < bridge> Custom for the purpose that it's not something only usable for ddnet (/jail for city servers for example) 23:59 < bridge> Me and @sollybunny talked about that once - we may want to build on that idea and make it functional, if that is something DDNet would like to see. 23:59 < bridge>