00:00 < bridge_> client mod to replace `rust` in all messages 00:01 < bridge_> so funny and quirky 00:04 < bridge_> <_voxeldoesart> https://tenor.com/view/principal-skinner-yes-seymour-skinner-the-simpsons-enthusiastic-yes-gif-15806751 00:45 < bridge_> boo 00:45 < bridge_> no you 00:45 < bridge_> AH! 00:45 < bridge_> dont scare me like that 01:35 < bridge_> ye, but still its kinda strange for me 02:26 < ws-client> @milkeeycat nice! I was actually aiming for that. It was on my bucket list to manage to do that once on github. 02:44 < bridge_> 🦫 04:13 < ws-client> https://zillyhuhn.com/cs/.1732504370.png 04:15 < ws-client> bash is so flexible 05:16 < bridge_> nonono thats a thing in bash? 05:16 < bridge_> its a command? 05:49 < bridge_> @jupeyy_keks have you found what causes https://github.com/ddnet/ddnet/issues/9228 to happen? 09:28 < ws-client> @Solly i implemented defer my self using ``eval`` and ``trap`` you dont wanna see the code. But I think it is neat that bash can implemnt such syntax you can even do named arguments if you want to. 09:29 < ws-client> `eval` is such a powerful tool 09:30 < bridge_> ChillerDragon 09:30 < bridge_> Is it possible to make a Python script that can log on to my server and send a certain message to the chat? 09:31 < bridge_> Exactly so that I can run this script on my phone or on my PC 09:31 < ws-client> @milkeeycat i struggel with the conventional commit messages. I feel like I use "chore" way too much. But many things i do are neither refactors, fixes or features. Also not sure if I should use "doc" or "docs". 09:31 < bridge_> Fifo 09:31 < bridge_> econ 09:32 < ws-client> The word "feat" sounds so strong as if it claims to be a core feature of the project. Something a user of the software would notice and look for in the commit log. So if it is a tw network library a feature should implement parts of the protocol and not just tweak the cmake file to unlock some build feature. 09:33 < bridge_> chillerdragon: I try to follow https://www.conventionalcommits.org/en/v1.0.0/ 09:33 < ws-client> Is a typo in a commit really relevant enough to earn the "fix" badge? 09:33 < ws-client> yea i red that still not too sure about it 09:33 < bridge_> or slap `chore` and call it a day 09:33 < ws-client> i never used ``BREAKING CHANGE:`` only ``feat!:`` 09:33 < bridge_> Same 09:34 < ws-client> i actually use conventional commits in twnet_parser and i automatically generate changelogs and the release script also automatically bumps to the correct next semver based on the conventional commits 09:34 < bridge_> > a commit that has a footer BREAKING CHANGE:, OR appends a ! after the type/scope 09:34 < ws-client> and i check the conventional commit in the CI 09:35 < ws-client> but after all this time it still feels weird 09:35 < ws-client> > The type fix MUST be used when a commit represents a bug fix for your application. 09:35 < ws-client> fixing a typo in a comment is not a bug fix in the application 09:36 < bridge_> lmao he is deranged 09:37 < ws-client> @woidless there is also announcements.txt which sends a list of messages to the chat there is no need to use a script for that 09:37 < ws-client> if you want to chat from your phone i recommend to open a econ port on your server 09:50 < bridge_> What I want is a Python script that kind of creates a bot that can log on to the server and perform any action 09:52 < bridge_> :wtf: 09:53 < bridge_> just write a library which connects to ddnet servers 09:53 < bridge_> chiller has one but in ruby 10:04 < bridge_> Is it fashionable to watch? 10:04 < bridge_> Can I see it? 10:18 < bridge_> https://github.com/ChillerDragon/teeworlds_network 10:24 < bridge_> ```# Import required libraries from teeworlds_network 10:24 < bridge_> require_relative 'path_to/teeworlds_client' 10:24 < bridge_> 10:24 < bridge_> # 1. Initialize the client 10:24 < bridge_> # Create a new instance of TeeworldsClient with verbose output enabled 10:24 < bridge_> client = TeeworldsClient.new(verbose: true) 10:24 < bridge_> 10:24 < bridge_> # 2. Set up event handlers 10:24 < bridge_> 10:24 < bridge_> # This block is triggered when the client successfully connects to a server 10:24 < bridge_> client.on_connected do 10:24 < bridge_> puts "Successfully connected to the server!" 10:24 < bridge_> # Send an initial message to the chat 10:24 < bridge_> client.send_chat("Hello, DDNet!") 10:24 < bridge_> end 10:24 < bridge_> 10:24 < bridge_> # This block is triggered whenever a new chat message is received 10:25 < bridge_> client.on_chat do |message| 10:25 < bridge_> puts "New chat message received: #{message}" 10:25 < bridge_> end 10:25 < bridge_> 10:25 < bridge_> # This block is triggered when the connection to the server is lost 10:25 < bridge_> client.on_disconnect do 10:25 < bridge_> puts "Disconnected from the server." 10:25 < bridge_> end 10:25 < bridge_> 10:25 < bridge_> # 3. Connect to the server 10:25 < bridge_> # Specify the IP address and port of the target server 10:25 < bridge_> server_ip = "127.0.0.1" # Replace with the server's IP 10:25 < bridge_> server_port = 8303 # Replace with the server's port 10:25 < bridge_> client.connect(server_ip, server_port) 10:25 < bridge_> normal? 10:26 < bridge_> Are we really supposed to debug AI code in #developer @woidless ? 10:28 < bridge_> What does it matter about the origin of this script? I asked if he was normal 10:28 < bridge_> holy shit 10:28 < bridge_> ^ this is how voldermort spam bots work x-x 10:29 < bridge_> why is chiller even helping this guy 10:29 < bridge_> he is just asking for free work 10:29 < bridge_> ¯\_(ツ)_/¯ 10:30 < bridge_> a good person doesn't belong in the cruel world 10:31 < bridge_> meh it's up to chiller, if he wants to spend his time helping Evelyn it's obviously his ""problem"", but I'm not sure about asking for help on AI generated code :( 10:32 < bridge_> if its only chiller, can u move this to dms 10:32 < bridge_> oh he is not in discord 10:32 < bridge_> welp 10:32 < bridge_> Go matrix dms 10:32 < bridge_> Evelyn zillyhuhn when 10:32 < bridge_> move it to matrix 10:32 < bridge_> yea 10:32 < bridge_> sillychicken 10:33 < bridge_> i'm checking this channel for some epic dev stuff but i only see evelyn asking chiller for help 10:33 < bridge_> dev channel for devs pls 10:33 < bridge_> not "i have a idea guys" 10:35 < bridge_> Hey Ehm so for a school project you know, like my teacher asked for it.. Ehm can you give me code on how to avoid freeze on my tee character? You know I want to make game accessible for people that are disabled, so Ehm.. yeah If you could help that would be awesome! Best regards 10:35 < bridge_> 10:35 < bridge_> Max mustermann 10:35 < bridge_> :frozen: 10:36 < bridge_> I've been mentioned more times than I asked for lol 11:08 < bridge_> <♂S1mple♂> Nah, asking people to debug ai generated code for free is crazy 11:09 < bridge_> Does anyone know, if and where a map stores the version of the client it's created with? 11:22 < bridge_> checked the map-directory with twmap, and the files only contained 11:22 < bridge_> ``` 11:22 < bridge_> { 11:22 < bridge_> "type": "ddnet06", 11:22 < bridge_> "created_by": "twmap 0.12.4" 11:22 < bridge_> } 11:22 < bridge_> ``` 11:22 < bridge_> So I guess the info i am searching for is simply not there 11:23 < bridge_> So there is no way to know by what client version a map was created by 😦 11:24 < bridge_> why would you want that 11:24 < bridge_> :thonk: 11:25 < bridge_> imagine all older versions have a bug so you can check against this 11:25 < bridge_> epic 11:25 < bridge_> why wouldn't you want that, this is reproducability 11:25 < bridge_> I am a scientist and I want to reliably reproduce my editor experiments 11:25 < bridge_> I am a scientist and I want to reliably reproduce my editor experiments /s 11:27 < bridge_> please at least contain a date, I think i have to go with the file date instead 11:32 < bridge_> At the point of this event: https://github.com/ddnet/ddnet/blob/f27be0537175ee8053183ccc77a9d00a21c9e0c4/src/engine/server/server.cpp#L1612, does the server already know the player's name? 11:36 < bridge_> i would say yes 11:37 < bridge_> or wait 11:37 < bridge_> maybe not 11:38 < bridge_> it's a bit annoying having to use grep -A1 or grep -B1 just to figure out the client ID, address, or player name. It would be much better if "player" in the server log line was replaced with the actual player name, so everything could be found in one line (and it would be easier to regex as well). 11:38 < bridge_> ``` 11:38 < bridge_> 2024-11-25 06:54:32 I server: User has entered the game. ClientId=ID addr=<{...}> sixup=0 11:38 < bridge_> 2024-11-25 06:54:32 I chat: *** 'User' entered and joined the game 11:38 < bridge_> ``` 11:39 < bridge_> maybe here https://github.com/ddnet/ddnet/blob/f27be0537175ee8053183ccc77a9d00a21c9e0c4/src/engine/server/server.cpp#L1581 11:40 < bridge_> Please respond 11:40 < bridge_> no 11:40 < bridge_> try "ripgrep" 11:40 < bridge_> but yeah 11:42 < bridge_> Does this even work with 0.6? 11:42 < bridge_> <♂S1mple♂> It's crazy how you avoid doing anything yourself 11:43 < bridge_> At least if this script works, then in fact I didn't ask anyone here to do it. 11:44 < bridge_> he would make a fine CEO kek 11:44 < bridge_> No you asked AI and instead of testing it yourself you asked us if it's "normal" which implies you want US to test YOUR script that you got from AI :monkaStop: 11:44 < bridge_> At this point just pay someone to do it :NotLikeKogasa: 11:45 < bridge_> This seems part of chillers https://github.com/ChillerDragon/teeworlds_network library made for 0.7 ^^ 11:45 < bridge_> (hence my question whether this even works for 0.6) 11:45 < bridge_> I just want you to tell me if this code can work at all 11:46 < bridge_> <♂S1mple♂> Put it in the game and see yourself 11:46 < bridge_> <♂S1mple♂> Bruh 11:46 < bridge_> Please advise IDLE for Ruby 11:48 < bridge_> If this is just a chatbot that works only for 0.7, you could probably rewrite something similar that simply reads the server chat log and sends responses through the input FIFO xd @ryozuki Didn't do something similar? 11:48 < bridge_> If this is just a chatbot that works only for 0.7, you could probably rewrite something similar that simply reads the server chat log and sends responses through the input FIFO xd @ryozuki Didn't you do something similar? 11:49 < bridge_> I want to make a script like a bot that can log on to any server and execute any command, such as a chat message 11:49 < bridge_> <♂S1mple♂> Why it should be a bot in the first place 11:51 < bridge_> Because a person will not be able to do 1 action indefinitely 11:52 < bridge_> Ok you are basically asking for the same thing those spam advertising bots are doing 11:52 < bridge_> lmao 11:53 < bridge_> I'm not going to do any advertising. 11:54 < bridge_> What is your goal? 11:56 < bridge_> You can say it like dummy 12:06 < bridge_> add google search engine for free funding 12:06 < bridge_> x-x 12:07 < bridge_> `https://ddnet.org/funding/` wait this is sorta an account system 12:07 < bridge_> if you ahve ur ign in here, and have a paypal reciet u can prov e its you x-x 12:09 < bridge_> спасибо @cattide 12:25 < bridge_> old af https://github.com/edg-l/PyBot 12:30 < bridge_> Old but gold for some people *cough* 12:30 < bridge_> spasibo to you too 12:32 < bridge_> i tried this and its kindas nice https://umami.is/ 12:32 < bridge_> its like a tracker for webs but it doesnt store personal info and self hosted 12:33 < bridge_> gdpr compliant 12:33 < bridge_> https://umami.is/docs/faq 12:33 < bridge_> stats for my web https://umami.edgl.dev/share/w1sajj3n8O0hfZnD/edgl.dev 12:50 < bridge_> afaik 0.7 clients can connect to ddnet 0.6 servers but not to vanilla 0.6 servers 12:57 < bridge_> is censorlist.txt simple string matching? 13:04 < bridge_> Всегда пожалуйста! 13:10 < bridge_> i doubt that now 13:10 < bridge_> > While being fully teeworlds compatible ddnet added its own extensions. Meaning vanilla 0.6 teeworlds clients can join ddnet servers and ddnet clients can join 0.6 vanilla teeworlds servers. 13:11 < bridge_> from the chiller's protocol documentation 13:11 < bridge_> 0.7 servers are almost non existent 13:13 < bridge_> maybe that library was chiller's attempt to revive it 13:29 < ws-client> jupstar are you still around? 13:31 < ws-client> @murpi my lib can only connect to 0.7 servers so no it does not work for 0.6 but that should be fine. ddnet servers accept 0.7 connections so unless you are running some ancient server it should be all smooth. 13:32 < ws-client> @jxsl13 yes 13:32 < bridge_> ChillerDragon 13:32 < ws-client> gtg 13:33 < bridge_> In theory, can this script work? 13:33 < bridge_> oh they do accept 0.7 connections 13:33 < bridge_> epic 13:34 < ws-client> in theory everything produced by chatgpt can be hallucinated in practice everything that is in my official example from the readme just straight up works thats all the time i have right now 13:35 < bridge_> I'll read it now 13:36 < bridge_> ```require_relative 'lib/teeworlds_client' 13:36 < bridge_> 13:36 < bridge_> client = TeeworldsClient.new(verbose: false) 13:36 < bridge_> 13:36 < bridge_> client.on_chat do |_, msg| 13:36 < bridge_> # note use `next` instead of `return` in the block 13:36 < bridge_> next unless msg.message[0] == '!' 13:36 < bridge_> 13:36 < bridge_> case msg.message[1..] 13:36 < bridge_> when 'ping' then client.send_chat('pong') 13:36 < bridge_> when 'whoami' then client.send_chat("You are: #{msg.author.name}") 13:37 < bridge_> when 'list' then client.send_chat(client.game_client.players.values.map(&:name).join(', ')) 13:37 < bridge_> else client.send_chat('Unknown command! Commands: !ping, !whoami, !list') 13:37 < bridge_> end 13:37 < bridge_> end 13:37 < bridge_> 13:37 < bridge_> # properly disconnect on ctrl+c 13:37 < bridge_> Signal.trap('INT') do 13:37 < bridge_> client.disconnect 13:37 < bridge_> end 13:37 < bridge_> 13:37 < bridge_> # connect to localhost and block the current thread 13:37 < bridge_> client.connect('localhost', 8303, detach: false) ``` 13:37 < bridge_> If I specify my IP address and the desired port here, will it work? 13:38 < bridge_> idk test it yourself 13:46 < bridge_> 😢 no regex 14:26 < ws-client> @woidless you need a maps7/ directory next to your maps/ directory on your server with the same map names for 0.7 otherwise your server shuts off the 0.7 bridge 14:32 < ws-client> @murpi yes the client sends startinfo before entergame so in https://github.com/ddnet/ddnet/blob/f27be0537175ee8053183ccc77a9d00a21c9e0c4/src/engine/server/server.cpp#L1612 14:32 < ws-client> the server already got https://chillerdragon.github.io/teeworlds-protocol/06/game_messages.html#NETMSGTYPE_CL_STARTINFO 14:33 < ws-client> and it is indeed a common log parsing pain which requires state 14:34 < bridge_> chillerdragon: :poggers2: when qol pr? 14:35 < bridge_> redesign ddnet protocol when :poggers2: 14:35 < bridge_> idk why but why not 14:35 < ws-client> @ryozuki the ready message is actually sent before the player sends its name 14:35 < bridge_> qol changes > everything else 14:35 < bridge_> the only weird thing in protocol imo is that there are 3 types of messages 14:36 < bridge_> when colors in rcon console 14:36 < ws-client> @murpi yeah sounds good dont forget to ping @jxsl13 in the pr 14:36 < bridge_> connless, system, game 14:37 < ws-client> is that the order? @fokkonaut 14:37 < bridge_> i think? 14:37 < bridge_> what about control xd 14:37 < ws-client> nah 14:37 < bridge_> Ah you mean those 14:37 < bridge_> Yea 14:37 < ws-client> connless is only for master stuff so its optional in the connection process 14:37 < ws-client> sys and game are mixed in order 14:37 < bridge_> oh 14:38 < bridge_> so there is a reason for that? 14:38 < bridge_> Definitely 14:38 < bridge_> i thought it was just a random decision xd 14:38 < bridge_> connless is for when you're not connected to the server 14:38 < bridge_> control starts when you have a slot already on the server 14:38 < ws-client> those are the message sent by ddnet server and client up until the code line murpi linked and highlighted in blue is the player name message 14:38 < ws-client> https://zillyhuhn.com/cs/.1732541878.png 14:39 < ws-client> the second highlight -.- 14:39 < bridge_> then some handshake takes place, player gets inserted, system messages start, info, map, etc. then after the connection is established, the client sends it's own info like playername and skin (in game context already, but still a system msg). 14:39 < bridge_> Then, the client is ready to enter the game 14:39 < bridge_> and game messages start 14:39 < bridge_> I was pinged, log parsing mentioned? 14:39 < ws-client> yes 14:39 < bridge_> 👀 14:39 < bridge_> and as chiller said, system and game messages can be mixed, so while ingame you can receive specific system msgs aswell 14:41 < bridge_> @kollpotato control messages are also used when you want to disconnect. The server will tell you to drop using Control messages aswell 14:41 < ws-client> @woidless btw i also got a python library for clients but imo the ruby one is way easier to use 14:41 < bridge_> no system messages are sent after game messages? 14:41 < bridge_> ^ 14:41 < ws-client> @kollpotato look at the screenshot alone 14:41 < ws-client> game startinfo is sent before sys enter game 14:42 < ws-client> and inputs are also system messages they are sent all the time 14:42 < bridge_> yeah i see now 14:42 < bridge_> For example, rcon is a system message. It's from the deeper engine server code. 14:42 < bridge_> 14:42 < bridge_> Game messages usually mean from the game context itself. 14:42 < bridge_> inputs are also handled on the engine level at first 14:42 < bridge_> then redirected to the game context 14:42 < bridge_> thanks for telling me this epic network stuff 14:43 < ws-client> yea the game vs system is really about where they are in the code 14:43 < bridge_> i luv u @fokkonaut and ChillerDragon 14:43 < bridge_> you're welcome 14:43 < bridge_> :brownbear: 14:48 < ws-client> when was this star particle effect added to ddnet? https://zillyhuhn.com/cs/.1732542500.png 14:49 < bridge_> ChillerDragon: for /invincible command 14:50 < ws-client> i did not get a notification from my mod relevant label bot 14:51 < ws-client> thanks btw @louis 14:59 < bridge_> Can you give it to me? 15:00 < bridge_> bros about to spam all servers on master smh 15:00 < bridge_> I have a ruby interpreter that does not want to be installed 15:00 < bridge_> Нет 15:01 < bridge_> No, I'm going to use it as a "dummy" 15:01 < bridge_> dummy for what 15:01 < bridge_> For example, implement the settings on YOUR server.... 15:39 < bridge_> tf ur talking about 15:54 < bridge_> You want to remotely access multiple servers to execute rcon commands? :thisemoji: 15:54 < bridge_> Use a discord bot/econ 16:01 < bridge_> Hiiii chiller 16:01 < bridge_> use discord bot + bash file + fifo file to do what you want or remove discord and use directly execute bash to execute rcon commands on your servers fifo file 16:01 < bridge_> Senpai what distro are you using ? 16:02 < bridge_> I want to create a bot that can send messages in chat and perform any action in the game 16:03 < bridge_> Only on your own servers? 16:03 < bridge_> ye 16:03 < bridge_> are you using linux or trash ? 16:04 < bridge_> ubuntu 16:04 < bridge_> nice 16:05 < bridge_> then you can create your discord bot with any language you want implement to send your command to fifo file of your server 16:06 < bridge_> Then code your bot in the ddnet src instead of using external stuff 16:06 < bridge_> the only real one 16:06 < bridge_> NixOS 16:06 < bridge_> ```bash 16:06 < bridge_> #!/usr/bin/env zsh 16:06 < bridge_> message="test text to broadcast and say" 16:06 < bridge_> echo "broadcast \"$message\"; say \"$message\"" > /home/Vexar/DDNet/8303.fifo 16:06 < bridge_> ``` 16:06 < bridge_> example of using fifo to broadcast and say 16:07 < bridge_> it's on bash file you can do directly by your bot 16:07 < bridge_> is it arch base or debian ? 16:07 < bridge_> arch.. debian.. 16:07 < bridge_> you make me sick! 16:08 < bridge_> 😄 16:08 < bridge_> NixOS is it's own distinct distro, own package manager and sysmte configuration approach 16:08 < bridge_> oh 16:08 < bridge_> it's fully declarative 16:08 < bridge_> nice 16:08 < bridge_> I don't want to use discord bots, because you can connect a bot directly through the teeworlds network, as well as scripts to my liking. I'm waiting for a response from ChillerDragon about python teeworlds network 16:08 < bridge_> NixOS is it's own distinct distro, own package manager and system configuration approach 16:08 < bridge_> hmm 16:09 < bridge_> then we are stop talking until you get response from Chilly Dragon 16:10 < bridge_> and another question what's your recommendation for desktop manager, gnome or plasma ? 16:10 < bridge_> neither, i3 16:10 < bridge_> imagine needing a Desktop environment 16:10 < bridge_> couldnt be me 16:11 < bridge_> but i'm on sway rn, to be fair - but given it's a drop in replacement for i3 i didnt really notice any difference 16:11 < bridge_> just that i need to run xwayland now 16:11 < bridge_> ..for DDNet to launch.. 16:11 < bridge_> If you want to make it even more annoying for yourself bspwm is very minimal 16:12 < bridge_> i3 16:13 < bridge_> no I like i3 more than anything in past I used i3 and that was really cool for programming and even multimedia usage 16:14 < bridge_> okey then "NixOS I3", I'm coming for you 😉 16:14 < bridge_> gentoo pls 16:15 < bridge_> no please 16:15 < bridge_> that' 16:15 < bridge_> that's not for me right now 16:15 < bridge_> gentoo is on next level 16:16 < bridge_> i3 is good 16:17 < bridge_> ey are there any good alternatives to picom on corgi? 16:17 < bridge_> *xorg 16:17 < bridge_> ey are there any good alternatives to picom on xorg 16:18 < bridge_> ey are there any good alternatives to picom on xorg? 16:22 < bridge_> mate, nixos is harder to get used to than gentoo 16:23 < bridge_> gentoo is a one time setup 16:23 < bridge_> 16:23 < bridge_> nixos is `FULLY FULLY FULLY` declarative, you need to learn the language: `nix` 16:23 < bridge_> 16:23 < bridge_> need to learn how to setup your `SYSTEM` with `nix` etc 16:23 < bridge_> that sound like challenge hmm 16:23 < bridge_> do it like @b0th - setup nix in a VM, get used to it, and then do the switch 16:23 < bridge_> @blaiszephyr do u use nix with native march 16:24 < bridge_> or even better, just use nix right now! the package manager works outside of the distribution 16:24 < bridge_> True story, but i was using nix for a long time before 😄 16:24 < bridge_> then maybe I should stay as trash user 16:24 < bridge_> the compiler flag? :kek: 16:24 < bridge_> yeah 16:24 < bridge_> compile with native cpu features 16:25 < bridge_> nah i didnt bother 16:25 < bridge_> ofc u didnt 16:25 < bridge_> i tried back then 16:25 < bridge_> it was awful 16:25 < bridge_> :KEKW: 16:25 < bridge_> What is the point to use gentoo ? 16:25 < bridge_> absolute control 16:26 < bridge_> with gentoo u have absolute control indeed 16:26 < bridge_> for example say there is package X and it has a list of optional dependencies and features 16:26 < bridge_> u can select to enable or disable them 16:26 < bridge_> you also can compile the packages using ur native cpu feature set 16:26 < bridge_> distros use x85_64 v0 16:27 < bridge_> i use v4 16:27 < bridge_> distros use x86_64 v0 16:27 < bridge_> Interesting 16:27 < bridge_> a few things like `deselecting deps` can be done on nix aswell 16:27 < bridge_> But now ill never leave nixos 16:27 < bridge_> Yes i was about to say it xd 16:27 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310627999292592208/image.png?ex=6745e8f1&is=67449771&hm=a5deefa9fbf13e8cf10ee683fff8806c0b27a8b36c45d9499bd8adf144fe7abb& 16:27 < bridge_> v1* 16:28 < bridge_> you guys like living with linux and even sleeping with your os at night, I just compile some sources or maybe playing some games then I don' 16:28 < bridge_> you guys like living with linux and even sleeping with your os at night, I just compile some sources or maybe playing some games 16:28 < bridge_> :kek: - Ryozuki is a Gentoo chad 16:28 < bridge_> 16:28 < bridge_> me and nagi live in the nix world 16:28 < bridge_> then I don't thing Nix or Gentoo is good for me 16:28 < bridge_> i also play some games 16:28 < bridge_> they're basically nerdy distros, not really useful for people who just want stuff to work out of the box 16:28 < bridge_> Ryo are defender of Rust and Gentoo community 😄 16:29 < bridge_> hey i also code in rust 16:29 < bridge_> hey i also code in rust™️ 16:29 < bridge_> most of games isn't fully support on linux yet 16:29 < bridge_> Nix(OS) requires a lot of investment is you want to make cool thing but you can totally write a simple configuration 16:29 < bridge_> false 16:29 < bridge_> yeah but not like ryo 16:29 < bridge_> Gentoo ❤️ 16:29 < bridge_> i know a single brand that doesn't work on any linux kernel/distro 16:29 < bridge_> ***~~||Riot Games||~~*** 16:30 < bridge_> https://tenor.com/view/gentoo-linux-based-real-true-arch-gif-7535839058963820280 16:30 < bridge_> other than that? never really had problems 16:30 < bridge_> I don't care about riot game 😄 16:30 < bridge_> https://tenor.com/view/nixos-nix-my-beloved-linux-gif-7085022225646956929 16:30 < bridge_> ddnet is linux first game 16:30 < bridge_> ddnet is a linux first game 16:30 < bridge_> u get more support on linux than windows 16:30 < bridge_> I still keep a windows install mostly for riot games games 16:30 < bridge_> with your gif it's hard to denied that I love to use gentoo or nix 😄 16:30 < bridge_> Ryo what's the highest FPS you tickled out of DDNet? 16:30 < bridge_> i peaked at 23K 16:30 < bridge_> the coil whine was crazy.. poor thing 16:30 < bridge_> how u peak that high 16:30 < bridge_> ur pc is same as mine nearly 16:31 < bridge_> different GPU 16:31 < bridge_> idk it shows always the same fps no matter what i do 16:31 < bridge_> 5k 16:31 < bridge_> i have a 3080 16:31 < bridge_> you're on nvidia arent you? 16:31 < bridge_> amd masterrace 16:31 < bridge_> i use a amd cpu 16:31 < bridge_> well I have to use dual boot for my systems I can't fully uninstall windows for now 16:31 < bridge_> btw im on the "open source" nvidia made drivers 16:31 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310628961960595486/image.png?ex=6745e9d6&is=67449856&hm=4de11cdd33033bc725043fc41d2acec6471179e2a909fe390af5ba4bff31141e& 16:31 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310629018323783700/image.png?ex=6745e9e4&is=67449864&hm=9721685eafe2d9533b90d72e2c08174615dc934366711de298366ea548a96170& 16:31 < bridge_> I prefer to not share my spec 🙂 16:32 < bridge_> their ghz can eat or house fuck 16:32 < bridge_> 😄 16:32 < bridge_> how you got 0.07 gb more RAM >:c ... shitgame 16:32 < bridge_> u know why my uptime is 27 mins? 16:32 < bridge_> 27 mins ago i typed pkill xinit by mistake 16:33 < bridge_> :KEKW: 16:33 < bridge_> :pepeW: how does one... accidentally type that 16:33 < bridge_> wanted to pkill xivlauncher 16:33 < bridge_> :MonkaChrist: 16:33 < bridge_> :kekw: 16:33 < bridge_> if you named Ryozuki maybe 16:33 < bridge_> is this w or not 16:33 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310629509875240961/image.png?ex=6745ea59&is=674498d9&hm=d660f60df624293ab952f35898702d44758bb2e717d9fd854bd494174cefc5fa& 16:33 < bridge_> i forgot i had the default keybind to pkill -f sway setup once 16:33 < bridge_> 16:33 < bridge_> accidentally shutdown my WM in a 2 1/2 h run on DDNet :) 16:34 < bridge_> big L - client's dont even support 64p 16:34 < bridge_> big L - client's dont even support 64+p 16:34 < bridge_> they can connect to server but it's broken on clients 16:34 < bridge_> i already started server with it 16:34 < bridge_> everything fine 16:34 < bridge_> so in total it's broken 16:34 < bridge_> also can i get it to 2000+ players? 16:34 < bridge_> you set up a server with 134 dead slots 16:34 < bridge_> try to connect some debug dummy and check scoreboard and etc 16:35 < bridge_> you set up a server with 136 dead slots 16:35 < bridge_> I can do it with infinite slots, but not working on ddnet's network base caclculation for rendering tee and etc 16:36 < bridge_> maybe juppy could do it easily on his Rust version of server but on c++ it's working like shit 16:36 < bridge_> is ddnet++ have bugs more than working things? 16:38 < bridge_> There is a possibility that he used fokkonauts patch but upped it to 200 16:38 < bridge_> @b0th ofborg being annoying again gg 16:38 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310630755897970810/image.png?ex=6745eb82&is=67449a02&hm=28418e458604954261bde7af9e8aadb74c2a1142d90d67d55f9eae335f6fd043& 16:40 < bridge_> that patch has completely done ? 16:41 < bridge_> It's mostly fine except for a few bugs 16:41 < bridge_> then it's still need more work to do 16:42 < bridge_> have redesign for scoreboard too ? 16:42 < bridge_> to show more than 64 clients 16:42 < bridge_> Tf, i thought you already reviewed this xd 16:42 < bridge_> i did -.- 16:43 < bridge_> I think robyt3 had one 16:43 < bridge_> nice 16:50 < bridge_> upstream teeworlds had a `scrolling scoreboard` - which was implemented meh, but the idea was good 16:50 < bridge_> upstream teeworlds had a `scrolling scoreboard` PR - which was implemented meh, but the idea was good 16:54 < bridge_> The scoreboard already supports 128 players. But more seems unrealistic without either cutting some info like clans and country flags or making it scrollable (which would be less convenient to use and requires more work if you want to make it a proper UI) 16:55 < bridge_> <_voxeldoesart> i dont know why we need to show every player ever if theres gonna be so many people 16:55 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1310635047316885576/348862845-30b3321f-8b9f-4e32-9c1b-28a275678ef6.png?ex=6745ef81&is=67449e01&hm=d10f77db9323758b00a27c5514468f355ba3976027be3e77113a91b561f40803& 16:56 < bridge_> <_voxeldoesart> why not just like, the top 10 and then where you are, surrounded by a few close ranks if there are any 16:58 < bridge_> https://xkcd.com/3015/ 17:03 < bridge_> I'm not sure if players wouldn't find this confusing because they expect that all players can also be found in the scoreboard. Though I think with the 128 backwards compatiblity that would already be the default behavior (only players close to each other are sent to each other to get around the 64 player limit). 17:04 < bridge_> So why 17:04 < bridge_> no idea >:c 17:14 < bridge_> they are p good for me 17:16 < bridge_> @blaiszephyr Imagine moderating this 17:16 < bridge_> This will be your future :greenthing: 17:16 < bridge_> 250 ecto's monthly ... 17:17 < bridge_> guys one of those nameless tee is hacking 17:17 < bridge_> 17:17 < bridge_> WHICH OF THE 3923 PLAYING RIGHT NOW? 17:17 < bridge_> use GNOME if you want to use computer without headache 17:17 < bridge_> use KDE if you also want to game 17:17 < bridge_> use a tiling WM if you want to rice which it sounds like u dont 17:17 < bridge_> u can rice ur stacking wm but unixporn will call u mean names 17:18 < bridge_> Ohoho, no, imagine them having cyrllic names. You really think you have the luxury to simply type out their name? 17:19 < bridge_> lmfao 17:19 < bridge_> definitely a unique challenge 17:19 < bridge_> Maybe someone has a link to the github teeworld network written in python? 17:19 < bridge_> :monkaStop: 17:19 < bridge_> thank you ❤️ 17:19 < bridge_> do you mean a server 17:19 < bridge_> i have no idea about it 17:20 < bridge_> u should be able to spec and get ur cursor out to click somebody and just ban them tbh 17:20 < bridge_> one day 17:21 < bridge_> That's what I mean. 17:22 < bridge_> python client 17:22 < bridge_> oh no 17:23 < bridge_> https://chipsandcheese.com/p/pushing-amds-infinity-fabric-to-its 17:24 < bridge_> I think we have an issue for supporting chat autocompletion of names with transliteration, but we'd have to find a library to do that 17:27 < bridge_> Scoreboard overhaul! Integrate it into the ESC menu, allowing ppl to clickily click on names to either copy or spectate them! 17:28 < bridge_> Yeah, if we make the scoreboard scrollable it would be like in CSGO/CS2 where you can bring up a cursor and right-click players to open a context menu to mute, report etc. 17:29 < bridge_> Or that 😄 17:33 < bridge_> иииииииит 17:34 < bridge_> ъ\ъэхэ\з,,,,,,,,,,,,,,,,, 17:38 < bridge_> couldn't we reuse the spectator menu bind instead of right click 17:39 < bridge_> @stado_koshek_57831 #off-topic 17:42 < bridge_> [cmake] CMake Error at CMakeLists.txt:646 (message): 17:42 < bridge_> [cmake] You must install Rust and Cargo to compile DDNet 17:42 < bridge_> how to fix this shit bruh 17:42 < bridge_> i reinstalled rust 3 times 17:42 < bridge_> ароорнеге 17:43 < bridge_> э 17:43 < bridge_> а 17:43 < bridge_> ро 17:43 < bridge_> that would be awesome 17:44 < bridge_> What is the output of `rustup show`? 17:44 < bridge_> Default host: x86_64-unknown-linux-gnu 17:44 < bridge_> rustup home: /home/lio/.rustup 17:44 < bridge_> 17:44 < bridge_> stable-x86_64-unknown-linux-gnu (default) 17:44 < bridge_> rustc 1.82.0 (f6e511eec 2024-10-15) 17:46 < bridge_> did u install teh default toolchain 17:46 < bridge_> did u install a toolchain 17:46 < bridge_> rustup toolchain install stable 17:47 < bridge_> oh yeah u did 17:47 < bridge_> Try to run `rustc` and `cargo`. Both should print something instead of "Could not find rustc/cargo", otherwise you either didn't install them correctly or you have to add them to your `PATH` variable manually 17:47 < bridge_> rustc and cargo works and asks for a command 17:48 < bridge_> say `which cargo` 17:48 < bridge_> /home/lio/.cargo/bin/cargo 17:49 < bridge_> do you use a different shell to build 17:49 < bridge_> or an IDE or smth 17:49 < bridge_> im using vscodium bruh 17:49 < bridge_> ok bruh 17:50 < bridge_> open a terminal in there and if cargo not found then you need to add it to your config, perhaps in your workspace 17:51 < bridge_> if in your shell where you call cargo & it succeeds, and the following command(s) also succeed, you just need your PATH to be updated within your ide 17:51 < bridge_> `cmake -B build -S && cmake --build build` 17:51 < bridge_> that's roughly analagous to the run button in vscode 17:53 < bridge_> i get around this problem entirely by using `direnv` + the vscode extension, which lets me define `env`ironment variables & much more (it integrates with another config file inside my per-project repos which tells it what packages are needed for development in this `dir`, among other things) 17:54 < bridge_> it worked but /usr/lib/x86_64-linux-gnu/libfreetype.so', needed by 'DDNet' 17:54 < bridge_> missing 17:54 < bridge_> install freetype(2?) 17:54 < bridge_> which distro? the pkg is called differently 17:54 < bridge_> there are package lists for all common distros in the readme 17:56 < bridge_> crystal 17:56 < bridge_> crystal linux 17:56 < bridge_> archbased 17:57 < bridge_> if it uses the same pkg repos 17:57 < bridge_> `sudo pacman -S --needed base-devel cmake curl ffmpeg freetype2 git glew glslang gmock libnotify libpng opusfile python rust sdl2 spirv-tools sqlite vulkan-headers vulkan-icd-loader wavpack x264` 17:57 < bridge_> otherwise... you'll have to look the packages up 17:57 < bridge_> you can remove rust from that list, u have it already w rustup 17:58 < bridge_> `sudo pacman -S --needed base-devel cmake curl ffmpeg freetype2 git glew glslang gmock libnotify libpng opusfile python sdl2 spirv-tools sqlite vulkan-headers vulkan-icd-loader wavpack x264` 17:58 < bridge_> error: '/usr/lib/libGLEW.so', needed by 'DDNet 17:58 < bridge_> i have glew 17:58 < bridge_> in vscodium build 17:59 < bridge_> and still error: '/usr/lib/x86_64-linux-gnu/libfreetype.so', needed by 'DDNet' in console 17:59 < bridge_> and still error: '/usr/lib/x86_64-linux-gnu/libfreetype.so', needed by 'DDNet' in terminal 18:00 < bridge_> `/usr/lib/x86_64-linux-gnu` 18:00 < bridge_> looks a little suspicious to me, i don't think arch will typically use a nested tuple dir like this for the native architecture 18:00 < bridge_> but idk what crystal linux is or what it does 18:01 < bridge_> but i actually dont know where that is coming from either, supposedly pkg-config is providing .pc files which point to that directory, but if the library doesn't exist then that's just wrong 18:01 < bridge_> `/usr/lib/x86_64-linux-gnu` 18:01 < bridge_> looks a little suspicious to me, i don't think arch will typically use a nested target arch dir like this for the native architecture 18:01 < bridge_> uhm 18:02 < bridge_> i havent a x86-linux-gnu folder 18:02 < bridge_> wait what 18:02 < bridge_> x86_64 18:02 < bridge_> x86_64-linux-gnu-c++ 18:02 < bridge_> x86_64-linux-gnu-g++ 18:02 < bridge_> x86_64-linux-gnu-gcc 18:02 < bridge_> x86_64-linux-gnu-gcc-ar 18:02 < bridge_> x86_64-linux-gnu-gcc-nm 18:02 < bridge_> x86_64-linux-gnu-gcc-ranlib 18:02 < bridge_> x86_64-pc-linux-gnu-c++ 18:02 < bridge_> x86_64-pc-linux-gnu-g++ 18:02 < bridge_> x86_64-pc-linux-gnu-gcc 18:02 < bridge_> x86_64-pc-linux-gnu-gcc-14.2.1 18:02 < bridge_> x86_64-pc-linux-gnu-gcc-ar 18:02 < bridge_> x86_64-pc-linux-gnu-gcc-nm 18:02 < bridge_> x86_64-pc-linux-gnu-gcc-ranlib 18:02 < bridge_> x86_64-pc-linux-gnu-pkg-config 18:02 < bridge_> that's all 18:02 < bridge_> in your /usr/lib?? 18:02 < bridge_> yes 18:02 < bridge_> how are u talking to me rn 18:02 < bridge_> ur pc should be shitting itself 18:02 < bridge_> xd wtf 18:02 < bridge_> ok do like which sh 18:02 < bridge_> tell me what that say 18:02 < bridge_> i think i should install clear arch 18:03 < bridge_> im unsure about that 18:03 < bridge_> it will work better 18:03 < bridge_> i used clear linux for a while, which is a great distro but not really for devs 18:03 < bridge_> but idk what clear arch is 18:03 < bridge_> just arch 18:03 < bridge_> dont archbased 18:03 < bridge_> oic 18:03 < bridge_> u want to uninstall 18:04 < bridge_> actually it'd be good if you used nix. then you'd be unstoppable. use nixos at that point tho :D 18:04 < bridge_> i like nixos's logo bruh 18:04 < bridge_> i hate to be such a shill but most of my packaging issues for development have been completely solved (which historically has been a big reason behind my initial switch to linux then between distros) 18:05 < bridge_> it's kinda brainy and weird but if u want a new distro then it's worth a shot 18:05 < bridge_> thanks 18:15 < bridge_> nixos is great if you learn it's lanugage 18:15 < bridge_> nixos is great if you learn it's language 18:15 < bridge_> you can have it minimal and functional like any other distro 18:15 < bridge_> or you can fiddle around with it and create greatness 18:17 < bridge_> ye 18:18 < bridge_> u can do like i did and go into it with very little prior knowledge 18:18 < bridge_> and just write terrible configs until you realize they are terrible and then u have to fix them 18:18 < bridge_> but it saves u having to read things 18:18 < bridge_> i wouldnt recommend it 18:43 < ws-client> @montikboom which bug did you find in ddnet++? 18:47 < ws-client> @woidless the python library is still quite low level and has no documentation yet there is only this quite complicated example available https://gitlab.com/teeworlds-network/twnet_parser/-/tree/master/examples/07/download_map?ref_type=heads 18:47 < ws-client> unless you need python because of some discord dependency i would highly recommend getting ruby to work which should be way smoother as of right now 18:51 < bridge_> why does my firewall somehow prevent ddnet from seeing a local server hosted on the same machine? 18:52 < bridge_> i am pretty sure other servers work just fine without any special firewall rules 18:54 < bridge_> depends on the firewall 18:54 < bridge_> many have application specific rules which don't act on ports, they act on binaries 18:54 < bridge_> if your thing was once allowed through by its binary location you'll have to re-do that for the new binary, or just open the port 18:55 < bridge_> local server should be visible regardless with or without firewall so i suspect other issues 18:55 < bridge_> firewall controls incoming and outbound packets but those should never be leaving your computer 18:55 < bridge_> firewall controls incoming and outbound connections but those should never be leaving your computer 18:55 < bridge_> firewall controls incoming and outbound connections but none have to leave your computer in order to be visible on ddnet 18:55 < bridge_> i just use ufw 18:57 < bridge_> i mean 18:57 < bridge_> what are your firewall rules 18:57 < bridge_> lol 18:57 < bridge_> try `ufw allow $port/udp` 18:57 < bridge_> even still should not be related unless you have very restrictive rules either there or in iptables or smth 19:00 < bridge_> maybe it ddnet doesnt check for servers the loopback interface ~~i have no idea how any of this works exactly~~ 19:02 < bridge_> because the loopback isnt blocked by default 19:02 < bridge_> and i can still connect 19:03 < bridge_> its just that ddnet doesnt list the server 19:08 < bridge_> there need not be any loopback device 19:09 < bridge_> if you cannot do like `connect localhost:port` in ddnet f1 console 19:09 < bridge_> then ur server is probably not working 19:28 < bridge_> it has been merged :PEP_peepoHappy: