01:04 < bridge> The connection requires multiple packets to be exchanged. How do you send packets from rcon? What are you planning to do? 02:42 < bridge> ChillerDragon 02:43 < bridge> What should I do? 03:04 < bridge> i wish i had chillerdragon's patience :kek: 03:05 < bridge> same 03:05 < bridge> chiller for village elder 03:23 < bridge> anyone have experience with syncing entire folders/files between linux systems? looking at stuff like syncthing 03:23 < bridge> anyone have experience with syncing entire folders/files between laptop/pc? looking at stuff like syncthing 03:28 < bridge> i think admins might have 03:29 < bridge> thought they used rsync extensively 03:37 < ws-client> @woidless download this exe and run it https://github.com/k-i-o/CChat.TW/releases/download/v0.1.6/cchat-setup-0.1.6.exe 03:37 < bridge> 🤨 04:16 < bridge> it’s literally the repo posted above 04:16 < bridge> it’s a chat client 05:02 < bridge> But I wanted my own program 05:03 < ws-client> why? 05:03 < ws-client> what makes it your own? 05:03 < ws-client> you want someone else rewrite exisiting solution from scratch just so you can call it your own? Do i understand that correctly? 05:09 < bridge> Well , in fact yours , but not Kisao 's solution 05:09 < bridge> For your own use, uh 05:53 < bridge> lmfao 05:53 < bridge> if you want it to be yours then write it yourself 05:54 < bridge> chiller has essentially done all the work for you up to this point, unless I’m misunderstanding 06:43 < bridge> you can use that exe for your own use ?. 06:43 < bridge> it looks like its open source so just edit it how u need it 06:45 < bridge> Ye 06:51 < bridge> @woidless: just use the one I sent you for your own use? 06:52 < bridge> So all good now right? 07:02 < bridge> But you can't make a bot jump there, for example 07:13 < bridge> You can also not make the bot jump here 07:49 < bridge> forgot 10:48 < bridge> I use syncthing extensively, it works very nice :) 10:53 < bridge> I use git extensively, it works very nice 11:09 < bridge> about rcon - I mean that I wrote a command that sends a packet with int value to all clients (all clients with a special client), but this command send only for those, who on server, therefore, new joining clients not have this value 11:12 < bridge> about rcon - i mean that I wrote a command that sends a packet with int value to all clients (all clients with a special client), but this command send only for those, who on server, therefore, new joining clients not have this value 11:15 < bridge> And you want to send it to all players when they join? 11:15 < bridge> I would put that code into the OnPlayerConnect method 11:15 < bridge> But I am lacking context for a more detailed answer 11:16 < bridge> I used unison for a while. It was pretty nice 11:51 < bridge> ChillerDragon 11:51 < bridge> Maybe we just configure the Kisao application so that I can perform any actions for the connected bot, and also I connected to the servers of the ip:port? 11:52 < bridge> https://tenor.com/view/what-is-this-we-breaking-bad-meme-we-gif-25916954 11:59 < bridge> expect when it doesnt @chillerdragon 12:07 < bridge> <0xdeen> I use unison, works fine on Linux+macOS 12:26 < bridge> https://blog.rust-lang.org/2024/11/27/Rust-2024-public-testing.html 13:02 < bridge> <3x1st_> where located enums like PLAYERFLAG_PLAYING? 13:13 < bridge> grep "PLAYERFLAG_PLAYING" -r src 13:13 < bridge> `grep "PLAYERFLAG_PLAYING" -r src` 13:13 < bridge> like guys, really, learn to use a computer 13:14 < bridge> i didnt know you could just search files like that for a long time x-x 13:14 < bridge> Then again, I don't know what to expect of a Visual Studio user... 13:14 < bridge> (and i also couldnt setup intelisence it just broke and i couldnt fix it) 13:14 < bridge> vsc is great :D 13:14 < bridge> vs not so much 13:15 < bridge> Electron 🤢 13:15 < bridge> except there are some tools which i would really... like 13:15 < bridge> yeah and i cant find a text editor which doesnt force modes, lisp or other weird paradims into my brain 13:15 < bridge> with support for all the things i would want to do in a text editor 13:15 < bridge> i recommend ripgrep 13:15 < bridge> rg 13:16 < bridge> grep works... /: 13:16 < bridge> ¯\_(ツ)_/¯ 13:16 < bridge> luckily my requirements are very simple 13:16 < bridge> I want my text editor to: 13:16 < bridge> - edit text 13:16 < bridge> rg works better 13:16 < bridge> :gigachad: 13:16 < bridge> * highlight 13:16 < bridge> * have sane keybinds to move text around 13:16 < bridge> * (ai) completion 13:16 < bridge> * intelisense 13:16 < bridge> * tabs / splitting 13:17 < bridge> emacs and vim can do everything... but i dont want to learn a new set of keybinds i will only be able to use in them 13:17 < bridge> most editors have vim mode 13:17 < bridge> and i dont wana be forced to set that up 13:17 < bridge> vscode has sane defaults 13:17 < bridge> vscode vim mode is a simple plugin 13:17 < bridge> not to my liking, but i can use it for 90% of the thing 13:17 < bridge> not to my liking, but i can use it for 90% of everything 13:17 < bridge> completion is a crutch 13:17 < bridge> intellisense is a bigger crutch 13:17 < bridge> I don't need tabs, I have my window manager/tmux 13:18 < bridge> highlighting is bad 13:18 < bridge> completion bad 13:18 < bridge> and most other text editors also have similar keybinds 13:18 < bridge> white text is enough 13:18 < bridge> poggers 13:18 < bridge> why have a window manager at all 13:18 < bridge> just use the login shell 13:18 < bridge> for completing 30 character long symbols??? when you dont know the symbol name??? 13:18 < bridge> oh where is this defined, or implemented or referenced, or you want to rename something without just find and replace 13:19 < bridge> yeah if you are using a tui 13:19 < bridge> I mean, a window manager might be bloat, but a graphical environment has significantly better font rendering so that's nice 13:19 < bridge> what wm u use 13:19 < bridge> i3 ftw 13:19 < bridge> when wayland is usable ill switch 13:19 < bridge> dwm go brr 13:19 < bridge> but not today 13:19 < bridge> to sway 13:19 < bridge> ok I'll accept that Awesome is a bit excessive 13:20 < bridge> but it's nice that I don't need to recompile my wm 13:21 < bridge> i3 works 13:21 < bridge> I honestly don't really care 13:21 < bridge> as long as I can open and close windows and the wm splits my screen down the middle when I open two of them 13:22 < bridge> i have alot more requirements for my wm 13:22 < bridge> more than most de's give x-x 13:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311306154433056930/image.png?ex=67486086&is=67470f06&hm=73f5354e7545c302ee0da61e555d56a5f720058d0fc9a905ba32babecffeb5a0& 13:22 < bridge> pretty 13:22 < bridge> the bars are the cpu cores 13:23 < bridge> the first thing I did when I installed awesome was disable most of the features in the default config 13:23 < bridge> the second thing I did was never touch it again 13:23 < bridge> nvim is better :troll: 13:24 < bridge> read the rest of conversation as to learn why i dont like vim 13:24 < bridge> nah 13:24 < bridge> then perish 13:24 < bridge> :imilkycat: 13:24 < bridge> [:imilkycat:](https://cdn.discordapp.com/emojis/1230626195649990696.webp?size=96) 13:24 < bridge> [:imilkycat:](https://cdn.discordapp.com/emojis/1230626195649990696.webp?size=96) 13:26 < bridge> 1. if you don't know the symbol name you're not familiar enough with the codebase :troll: 13:26 < bridge> 2. if your symbol names are 30 characters your codebase is too modern 13:27 < bridge> 1. how do you expect to learn it then 13:27 < bridge> 2. i cant control that 13:27 < bridge> 1. :troll: 13:27 < bridge> 2. :troll: 13:32 < bridge> You don't use any completion? 13:32 < bridge> hello 13:32 < bridge> no I'm just mad right now and trolling my favourite channel to vent 13:33 < bridge> but a lot of the time yeah no completion 13:33 < bridge> too lazy to set it up 13:33 < bridge> Wow, I thought I was backwards with not using ai copilot magic and intellisense 13:34 < bridge> I spend a lot more time reading code than I do writing code 13:34 < bridge> I only really use autocomplete for symbols (contextful if available) and go to definition 13:35 < bridge> same 13:35 < bridge> Then you must appreciate teeworlds' 13:35 < bridge> Then you must appreciate teeworlds' naming convention 13:35 < bridge> Our modified hungarian notation makes reading code a breeze without magic IDE crutches 13:35 < bridge> modified hungarian notation? 13:36 < bridge> The prefixes we add to our variable names, e.g. `m_` or `pfn` 13:37 < bridge> I actually haven't written anything for Teeworlds, I've just read the code (it's the best documentation!) 13:38 < bridge> part of the reason why I can't stand closed source software 13:39 < bridge> actually unusable as the majority of the documentation just isn't available 13:40 < bridge> I'm not quite at the point of reading the binary for documentation 13:41 < bridge> I have only had to reverse engineer a binary once to figure out something. It was actually for ddnet/sdl 😄 13:41 < bridge> AppKit on macOS 13:42 < bridge> sounds fun 13:43 < bridge> I should learn; maybe I'll finally be able to tolerate Windows 13:45 < bridge> It is quite fun to reverse engineer stuff, it's a decent hobby 13:48 < bridge> ```rust 13:48 < bridge> pub fn fib_series() -> impl Iterator { 13:48 < bridge> gen { 13:48 < bridge> let mut a = 1; 13:48 < bridge> let mut b = 0; 13:48 < bridge> 13:48 < bridge> loop { 13:48 < bridge> yield b; 13:49 < bridge> let t = b; 13:49 < bridge> b = a; 13:49 < bridge> a += t; 13:49 < bridge> } 13:49 < bridge> } 13:49 < bridge> } 13:49 < bridge> ``` 13:49 < bridge> @learath2 generators to make iterators ez 13:49 < bridge> ```rust 13:49 < bridge> pub fn main() { 13:49 < bridge> let x: Vec<_> = fib_series().take(20).collect(); 13:49 < bridge> dbg!(x); 13:49 < bridge> } 13:49 < bridge> 13:49 < bridge> ``` 13:49 < bridge> I really love languages that have `yield` 13:53 < bridge> https://github.com/rust-lang/rust/issues/43122 14:07 < bridge> am i crazy or m_HasExtendedData never resets 14:09 < bridge> you should try to mod dota2 14:09 < bridge> :justatest: 14:09 < bridge> make dota2 tetris please 14:10 < bridge> it was zeroed along with m_Snap so i'm indeed crazy 14:58 < bridge> wait is this valid rust?? 14:58 < bridge> omg 15:00 < bridge> They origin from network.py and are generated code 15:00 < bridge> Yea it’s using swarfeys lib under the hood it is capable of jumping 15:03 < bridge> I dont like that ripgrep decides which files and folders are not interesting for me. If I don’t get a hit with rg I usually end up grepping just to be sure. Which usually is so annoying that I straight up grep. 15:08 < bridge> Can you help me do it? 15:26 < bridge> rg -uuu 15:27 < bridge> wait, are player input not 50tps 15:29 < bridge> non 15:30 < bridge> 25 15:30 < bridge> :ghasp: 15:30 < bridge> more like 20 15:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311338326875176971/image.png?ex=67487e7c&is=67472cfc&hm=44985d36b8b1e48295772a689cae7f81a13452e1684bdeb8cd1a1336c2a6ef42& 15:30 < bridge> or 17 15:31 < bridge> ohno 15:31 < bridge> also inputs only get sent if there are changes 15:32 < bridge> idk if it affetcs ur test 15:32 < bridge> this is every tick 15:32 < bridge> and i'm 100% sure the cursor is moving the entire time 15:32 < bridge> way too many 3s and no 1s 15:33 < bridge> i'm tracking `m_Core.m_Input` btw 15:35 < bridge> have a look in CControls::SnapInput 15:35 < bridge> which should be called 25/s 15:37 < bridge> based on sv_high_bandwidth afair 15:37 < bridge> ye but less than 25? 15:37 < bridge> shouldn't 15:37 < bridge> lemme test 15:39 < bridge> dbg_stress test seems to send 50tps hmm 15:40 < bridge> regardless sv_high_bandwidth 15:40 < bridge> :tee_thinking: 15:41 < bridge> i broke my test suit oh no :justatest: 15:42 < bridge> i swear it sent input like every tick, at least i could see it in snap processing 15:42 < bridge> just vrooooooom 15:42 < bridge> :pepeW: maybe just human input jitter? dbg_stress dosen't seem to send input via a different routine. it just update the input data during normal `SendInput` 15:43 < bridge> shouldn't affect tho 15:43 < bridge> but i tried to record a lot of demo, none of them have consective inputs 15:43 < bridge> if no input changes were made though 15:43 < bridge> but if i turn on dbg_stress then the demo cursor is like ultra smooth 15:51 < bridge> dbg_stress 15:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311343552994742413/2024-11-27_22-50-05.mp4?ex=6748835a&is=674731da&hm=b7fb988c6b2bd2e89c8843792452598cdc3076a9b18aed5ba67f8023abcb5e7a& 15:51 < bridge> human input 15:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311343578135662612/2024-11-27_22-50-27.mp4?ex=67488360&is=674731e0&hm=6adcd33b4bb32eaf62bd6f31eef9966a1030079bd5bcc22059acfc0175672534& 15:51 < bridge> both `sv_high_bandwidth 0` 15:52 < bridge> oh i get it now 15:53 < bridge> it really only send at 10hz if there is no hooking and moving. bummer. 15:54 < bridge> i guess that make sense 15:54 < bridge> TIL 15:58 < bridge> <.puch> @chillerdragon is there anyway to force 0.7 client to be loaded on ddnet with 0.6/0.7 bridge server? 15:59 < bridge> connect via 0.7 protocol address 15:59 < bridge> tw-0.7+udp://ip:port 16:18 < bridge> one char commit let's gooo 16:19 < bridge> o i thought this was about configs 16:19 < bridge> one char pr\ let's gooo 16:19 < bridge> one char pr let's gooo 16:19 < bridge> when float configs i cry 16:19 < bridge> oh, is there a downside for float config? 16:20 < bridge> (fyi your pr isnt about float configs) 16:20 < bridge> older clients will destroy float values 16:20 < bridge> i didn't change the command at all 16:20 < bridge> it was already reading float 16:20 < bridge> demospeed isnt a config is it? 16:20 < bridge> idk 16:20 < bridge> oh it isn't 16:21 < bridge> configs are the ones saved to ddnet_settings 16:21 < bridge> it's a commnd 16:21 < bridge> ye 16:21 < bridge> wait zoom isnt a config either 16:21 < bridge> xd i thought we had to some shenangns to get floating zooms 16:21 < bridge> just make it a float 16:21 < bridge> lmao 16:21 < bridge> :nouis: the only other float command i found is tune 16:21 < bridge> so i was wondering why it was not used at all 16:21 < bridge> old codebase 16:22 < bridge> made by an even older person 16:22 < bridge> about importing old config or downporting new config? 16:22 < bridge> the usage of ints where floats work perfectly well or even better is a premature optimization which has stuck 16:23 < bridge> which is why alot of settings are ints which in every place they are used are turned to floats and divided by some cosntant 16:23 < bridge> which i think rather sucks 16:23 < bridge> is there a downside for that pr tho? 16:23 < bridge> for your pr theres no downside 16:23 < bridge> cool 16:23 < bridge> nor for the one which would allow float zooms 16:23 < bridge> cuz you can't really get a 0.1 value which is doable via UI but not via command 16:23 < bridge> just would have to add a param to +zoom and -zoom 16:23 < bridge> which is kinda odd 16:24 < bridge> just would have to add a (float ghasp!) param to +zoom and -zoom 16:24 < bridge> and i needed 0.001 speed to check my interpolation things, so i just figure i pr it 16:24 < bridge> :kekw: 16:24 < bridge> ```cpp 16:24 < bridge> void Update(CNamePlates &pThis, int Id, char* aName, bool FriendMark, float FontSize) 16:24 < bridge> { 16:24 < bridge> ... 16:24 < bridge> pThis.TextRender()->SetCursor(&Cursor, 0.0f, 0.0f, FontSize, TEXTFLAG_RENDER); 16:24 < bridge> ... 16:24 < bridge> } 16:24 < bridge> ``` 16:24 < bridge> i need textrender but its inaccesable here, do i just make it... public 16:24 < bridge> oh no im an idiot make it a friend! 16:25 < bridge> thats a thing in cpp 16:25 < bridge> im moving up in the world hey 16:25 < bridge> *proceeds to ask chatpgt how to do that* 16:25 < bridge> i think you have other ways to get a TextRender() 16:25 < bridge> maybe not via CNamePlates 16:25 < bridge> there are TextRender everywhere i think 16:25 < bridge> this is in a struct in CNamePLates.h 16:26 < bridge> used by name plates only 16:26 < bridge> are you sure 16:26 < bridge> yes im the one who made the struct 16:27 < bridge> is this even ddnet 16:27 < bridge> yes 16:27 < bridge> :pepeW: 16:27 < bridge> https://github.com/ddnet/ddnet/pull/9284 16:27 < bridge> for this 16:27 < bridge> then just public it i guess 16:27 < bridge> non i make it a friend 16:27 < bridge> because those interfaces arent public anywhere else so that would be weird 16:27 < bridge> (although thats whaqt i would do if i wasnt bound by law) 16:28 < bridge> (well i would get rid of the whole interface systsem) 16:28 < bridge> (i dislike it) 16:28 < bridge> can i take a look cuz i don't understand how you can't find a textrender else where. 16:28 < bridge> did you make another textrender instance? 16:28 < bridge> the law is: make stuff public that needs to be public or use a getter function 16:28 < bridge> 16:28 < bridge> i remember asking the same thing like a year ago xD 16:29 < bridge> or did you make two structs/classes that only references only to each other but not pClient 16:29 < bridge> other places use friend when needing to use private things inside structs inside the class itself 16:29 < bridge> tahts why i remembered friend existed 16:29 < bridge> why is myr so against it 16:29 < bridge> Direction arrows D: 16:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311353230416154715/390081592-50e3c00f-7c17-4f26-87b3-eb831e9d06d2.png?ex=67488c5d&is=67473add&hm=308540525dfb4f1a38fc5ae9e3a009add6176b29e585786246ad7b091dd11031& 16:29 < bridge> no one really uses friend i think 16:29 < bridge> just skip the commit x-x 16:29 < bridge> ive seen it for the reason im about to use 16:29 < bridge> this has always been a thing 16:29 < bridge> u been living under a rock? 16:30 < bridge> but again, i still have no idea why you can't get a textrender reference 16:30 < bridge> friends need to declare protected/private members explicitly right? or do they just expose the entire class 16:30 < bridge> I'am about new design of this 16:30 < bridge> i never really used friends :kekw: 16:30 < bridge> did you factor the thing so much it doesn't have anything to do with `CGameClient` anymore 16:31 < bridge> i have never used friends (resident cpp novice) but i think yeah just lets u access things. it isnt like illegal to do this since the struct is inside the class it wasnt to access stuff rom anyway 16:31 < bridge> you are a good person then 16:31 < bridge> make friends, don't use them 16:31 < bridge> if you explicitly expose it, good 16:31 < bridge> 16:31 < bridge> if you just fully expose it, bad 16:31 < bridge> ` it isnt like illegal to do this since the struct is inside the class it wasnt to access stuff from ` 16:31 < bridge> its just inside a class in a class for seperation of concerns 16:31 < bridge> otherwise it would be so messy 16:32 < bridge> (even more than it already is) 16:32 < bridge> I'm about to make a lagrange interpolation maneuver. wish me luck 16:32 < bridge> but it's 11pm tho 16:32 < bridge> larange? 16:32 < bridge> i should probably slepp 16:32 < bridge> or lag range 16:32 < bridge> oh no it is spelt lagrange 16:32 < bridge> that is poor spelling 16:32 < bridge> probably french or something 16:33 < bridge> yeah 16:33 < bridge> i thought they had good spelling 16:33 < bridge> (bad but consistent) 16:33 < bridge> i knew larange is french 16:33 < bridge> but as you just saw lagrange doesnt feel right to me 16:33 < bridge> ok do i sleep or do i make this tomorrow night 16:33 < bridge> uhh 16:33 < bridge> both 16:34 < bridge> ok i'll washup and go to bed 16:34 < bridge> gn 16:34 < bridge> gn hairless man! 16:34 < bridge> do it rn 16:34 < bridge> i might have more head hair than you 16:34 < bridge> you never know 16:38 < bridge> tempted to grab my laptop into my bedroom 16:50 < bridge> how many servers i can create before i get banned from masterserver 16:50 < bridge> is it possible to send and receive float? 16:51 < bridge> dont be an idiot ™️ 16:51 < bridge> otherwise there isnt any 16:51 < bridge> so 16:51 < bridge> 32 ? 16:52 < bridge> that doesnt sound like alot 16:52 < bridge> you also have to not.. fake players 16:52 < bridge> there was some adhoc rules for the master server but i dont know where they are 16:53 < bridge> we let common sense rule 16:53 < bridge> 16:53 < bridge> if the servers solely exist for things like advertisement or faking numbers (e.g filling them with bots) 16:53 < bridge> 16:53 < bridge> will most likely lead to your servers going into the shadow realms 16:54 < bridge> ``` 16:54 < bridge> pThis.TextRender()->TextColor(ColorRGBA(1.0f, 1.0f, 1.0f, Alpha)); 16:54 < bridge> pThis.TextRender()->CreateOrAppendTextContainer(m_TextContainerIndex, &Cursor, m_aName); 16:54 < bridge> ``` 16:54 < bridge> how does textcolor with appending to text container work if you set it before rendering? 16:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311359877418844182/image.png?ex=6748928e&is=6747410e&hm=e3a3f0603300a6e2f7db9dc276778c9f1b4da6dfd1bb2b0a8288c2ad80a2d5e0& 16:56 < bridge> ungodly indentation 16:58 < bridge> TextColor multiplies 16:58 < bridge> thats unfortunate 16:58 < bridge> i mean ill guess ill try and see if it works 16:58 < bridge> might look weird 17:00 < bridge> hey @sollybunny are you pro at programming 17:00 < bridge> not particularly 17:00 < bridge> yes you are 17:00 < bridge> now u should help me 17:00 < bridge> x-x 17:00 < bridge> i need to easylyly manage my fng servers but idk how and tmux sucks like its name 17:01 < bridge> manage how 17:01 < bridge> yes 17:01 < bridge> thats what i asked 17:01 < bridge> manage how[?] 17:01 < bridge> fancy ? 17:01 < bridge> manage how == how do you mean "manage" 17:01 < bridge> oh 17:02 < bridge> i need to monitor their console ram,cpu usage and run some console commands 17:02 < bridge> and lastly start stop or restart them 17:02 < bridge> im not very sure how to track ram/cpu usage of DDNet-Server 17:03 < bridge> also the only way i know how to interact with applications like that is with some screen shenangans (see my minecraft discord bot) 17:03 < bridge> i guess it would be fun to make, but idk how useful it will be to you 17:04 < bridge> hehe 17:04 < bridge> im kinda doing stuff rn 17:04 < bridge> dm at the weekend 17:04 < bridge> dm me at the weekend 17:04 < bridge> sure 17:04 < bridge> if im still alive by then 17:04 < bridge> professor solly bunny 17:04 < bridge> thank u 17:05 < bridge> ask chatgpt bruh 17:05 < bridge> itll know how 17:05 < bridge> i hate it 17:05 < bridge> its a bit complicated for that 17:05 < bridge> use some top command 17:06 < bridge> top cant distinguish processes from eachother 17:06 < bridge> top cant distinguish ddnet server instances from eachother 17:06 < bridge> htop can, but interfacing with that is wakc 17:06 < bridge> you can use chatgpt to tell u how to use tmux (which is a good program btw) and monitor cpu usage 17:06 < bridge> for sending commands from a terminal you'll need to set up fifo 17:06 < bridge> is there any way to copy envelopes from the map 17:07 < bridge> (might be a #mapping question?) 17:07 < bridge> file -> append another map 17:07 < bridge> if you just want envelopes, i'm not sure sry 17:07 < bridge> that only lets you write, what abt reading 17:07 < bridge> he said run some console commands? 17:07 < bridge> o i guess u can just go > file 2&> 17:07 < bridge> what now mr brainpants 17:07 < bridge> o i guess u can just go > file 2&>1 17:08 < bridge> o i guess u can just go > file 2&>1 (except that logging is a bit fragile) 17:08 < bridge> what is file 2& 17:08 < bridge> ddnet server > logfile 2&>1 17:08 < bridge> `./DDNet-Server > logfile 2&>1` 17:08 < bridge> its fng server 17:08 < bridge> `./FNG-Server > logfile 2&>1` (the `2&>1` redirects stdout to stderr) 17:08 < bridge> what do you specifically want to do @barlars 17:08 < bridge> `./FNG-Server > logfile 2&>1` (the `2&>1` redirects stderr to stdout) 17:08 < bridge> i need to monitor their console ram,cpu usage and run some console commands 17:08 < bridge> and lastly start stop or restart them 17:09 < bridge> i need to monitor fng server console . ram,cpu usage and run some console commands 17:09 < bridge> and lastly start stop or restart them 17:09 < bridge> and its need to be easy to use 17:09 < bridge> is there some app liek that 17:10 < bridge> maybe a web gui 17:10 < bridge> not yet :P 17:10 < bridge> like most minecraft servers 17:10 < bridge> no unfortunately 17:10 < bridge> o thats a shout just a multiple process manager where u can pipe stuff into stdin and read from stdout 17:10 < bridge> and restart it 17:10 < bridge> and stop and start 17:10 < bridge> etc etc 17:10 < bridge> Do you speak Russian? 17:11 < bridge> cyka blyat 17:11 < bridge> x-x 17:11 < bridge> thats only word i know 17:11 < bridge> theres no webgui like that, so you'll have to know how to use a terminal 17:11 < bridge> i do 17:11 < bridge> are you hosting your servers on a vps? 17:11 < bridge> vds 17:13 < bridge> i was just thinking of making some api to control multiple processes then sticking an ncurses or ui on it 17:14 < bridge> then since its an api it can be turned into a web gui if you wanted 17:14 < bridge> is it better than manually starting with tmux 17:16 < bridge> well if i were to implement it i woudl do it with screens 17:16 < bridge> and probably in js (since 1. its easy 2. runs everywhere 3. makes it easy to api it 4. easy access to libraries for screen and tui) 17:16 < bridge> no point in making it blazingly fast since it would be doing so little 17:17 < bridge> i dont understand it but support u whatever u doin 17:17 < bridge> `GNU screen` (screens) are terminal sessions which can be attatched and detached 17:17 < bridge> its probbaly similar to what you are doing with tmux 17:17 < bridge> yez 17:42 < bridge> админы можете пожалуйста помочь меня забанили но я не понимаю за что ведь у меня нет не читов не чего 17:43 < bridge> admins, I don’t understand why they gave me a ban because I don’t play with cheats and so on 17:46 < bridge> pls help me 17:46 < bridge> I don't know what to do 17:52 < bridge> #✉-create-a-ticket -> Ban Appeal 18:21 < bridge> ``` 18:21 < bridge> /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */ 18:21 < bridge> /* If you are missing that file, acquire a complete release at teeworlds.com. */ 18:21 < bridge> ``` 18:21 < bridge> we ever going to get rid of these? 18:25 < bridge> no :owo: 18:26 < bridge> oek 18:53 < bridge> me interpolating 10tps cursors 18:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311389483786309722/2024-11-28_01-51-50.mp4?ex=6748ae21&is=67475ca1&hm=90b6735beac40cd943af4eb8f990ed2112294460bc3a9ea7e19a8fdc2d8fe721& 18:55 < bridge> same clip normal speed 18:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311390058712010872/2024-11-28_01-55-05.mp4?ex=6748aeaa&is=67475d2a&hm=6378bf2da98d9f218ec8fa2b482e41ba20ad5a3c4b393f3f284ec940452c43b1& 19:04 < bridge> i have no idea why the cursor is flashing tho 19:27 < bridge> how dare you 19:36 < bridge> What sort of interpolation is this? The artifacting isn't obvious enough for me to tell so I guess that's a good sign 19:37 < bridge> I see no problem :gigachad: 19:40 < bridge> lagrange 19:41 < bridge> it guarantees to pass each sample point and the path looks like bezier but there is not control points 19:42 < bridge> however. why is everyone in chn using dyncam, i can't find one that have the cursor on my screen at all time :justatest: 19:43 < bridge> i might need to add dyncam to spectator view 19:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311402318918455407/2024-11-28_02-43-34.mp4?ex=6748ba15&is=67476895&hm=0e1aaf60805f23dc0613b9a4f084c473c342e29ce99fa67b1f94f6feabed8c1a& 19:44 < bridge> here's the spectator cursor in action 19:45 < bridge> Wait, wouldn't that imply that you're fitting a polynomial to the entire sequence of inputs? 19:45 < bridge> just 4 around the target time 19:45 < bridge> using the entire sequence actually explodes the result 19:45 < bridge> i tried 19:45 < bridge> so that'd be some sort of spline that I can't name off the top of my head right now 19:46 < bridge> not computational explode, the result just flies too far 19:46 < bridge> yeah I understand 19:46 < bridge> anyway, although the position is mostly fake, but i think this looks pretty good to not be jarring and give you a pretty good idea where they are aiming i think 19:47 < bridge> Wait yeah, with 4 points you'd be drawing cubic splines between them 19:47 < bridge> ye 19:48 < bridge> it's just that 19:48 < bridge> i called it lagrange because i did tried to use all 32 sample points that i've collected 19:48 < bridge> lol 19:48 < bridge> :pepeW: 19:51 < bridge> <_voxeldoesart> im assuming the Catmull-Rom spline equation 19:52 < bridge> <_voxeldoesart> (my favorite polynomial equation) 19:53 < bridge> let's just say, i have no idea 19:54 < bridge> i googled lagrange interpolation and copied some code 19:54 < bridge> :kekw: 19:54 < bridge> <_voxeldoesart> oh rip LOL 19:55 < bridge> <_voxeldoesart> idk if catmull rom will look any good tho 19:55 < bridge> <_voxeldoesart> it tends to look extremely floaty 19:55 < bridge> <_voxeldoesart> but i think its very fun 19:55 < bridge> <_voxeldoesart> https://en.m.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline 19:55 < bridge> doesn't look that similar but maybe it is identical when unrolled 19:56 < bridge> i don't really want to solve the equation to be sure tho 19:57 < bridge> <_voxeldoesart> fair 19:59 < bridge> like 80% of the chn player are using dyncam 19:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311406077828403293/image.png?ex=6748bd95&is=67476c15&hm=94ba1e6b04e4622e132970a2947545dd13c900348951d7140389e578949d2b85& 19:59 < bridge> i'm not sure what to do for spectator :justatest: 20:00 < bridge> do i just enable smooth dyncam for spectator by default? 20:01 < bridge> i'll try it tomorrow i guess 20:01 < bridge> it's 3am 20:02 < bridge> Crazy people 20:04 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311407221275623506/2024-11-28_03-02-43.mp4?ex=6748bea6&is=67476d26&hm=a1b832fe71d4aa0f2efa4ebde9c7732d79001a19882101ced123b3375ede799e& 20:04 < bridge> that's all the demo i currently have. let me know if that looks ok **10 hours later** 20:04 < bridge> gn 20:10 < bridge> whats that 20:10 < bridge> spectator cursor 20:10 < bridge> interpolated from the 10tps data we just found out 20:11 < bridge> client receives 10tps character changes? 20:11 < bridge> funny wobbles 20:11 < bridge> cursor only sends 10tps if the character is doing nothing 20:12 < bridge> client -> server or vice versa? 20:12 < bridge> cursor only sends 10tps if the character is doing nothing other than moving the mouse 20:12 < bridge> client to server 20:12 < bridge> huh 20:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311409520567910510/image.png?ex=6748c0ca&is=67476f4a&hm=8d44df4f96ba96507e1e2fbccbb3ecbe70c132f8ef5de930f07ce57be99291ec& 20:13 < bridge> the send flag does not check whether TargetX and TargetY changes 20:13 < bridge> so if no other input has changed, the cursor will only send at 10hz says the comment 20:14 < bridge> it kinda make sense that it doesn't send useless info. once you fire and hook the cursor sends along with those immediately which is the only cursor position that matters i guess 20:16 < bridge> i want to detect the max range from the latest 32 samples to guess a mouse distance max and clamp it. not sure if it is really nessesarry but i think it'll looks more like teeworlds input 20:17 < bridge> and ye, smaller movement does wobble 20:17 < bridge> inevitable i guess? 20:18 < bridge> if not accurate then its useless imo 20:19 < bridge> the interpolation or the clamping 20:19 < bridge> both 20:19 < bridge> that's true 20:19 < bridge> and you can just turn off interp i guess 20:19 < bridge> That's not 10 Hz though? `time_freq()` is 1 second and 1s/25 is Hz or 40 ms. Looks like it was changed to 25 Hz in https://github.com/ddnet/ddnet/commit/24899a13e8863e59027e993a61e9b2ef6787b74b but the comment was not adjusted 20:19 < bridge> I'd try using something other than the obvious cubic polynomial, maybe even a curve that changes with input if I felt like an artist 20:20 < bridge> noby has a moderator command on his server to show the player's cursor :greenthing: 20:20 < bridge> That's not 10 Hz though? `time_freq()` is 1 second and 1s/25 is 25 Hz or 40 ms. Looks like it was changed to 25 Hz in https://github.com/ddnet/ddnet/commit/24899a13e8863e59027e993a61e9b2ef6787b74b but the comment was not adjusted 20:20 < bridge> u basically can add another ex packet too btw 20:20 < bridge> ah, but still, it kinda sends less than 25tps from what i can tell from the server side 20:20 < bridge> maybe it would be more sane and will not distract newbies 20:20 < bridge> like, for smaller velocities make it more linear to avoid overshoot 20:21 < bridge> like imagibe some weird config that gets clamped and interpolated 20:21 < bridge> and its someone like jukki 20:21 < bridge> they will try to copy it and play with wrong one xdd 20:22 < bridge> i'm not sure i want to add ex packet client to server tbh 20:22 < bridge> you check onmessage or? 20:22 < bridge> onpretick 20:22 < bridge> 💀 20:23 < bridge> so you actually analyze processed input rather then incoming 20:23 < bridge> than* 20:23 < bridge> yes, but still, that's where charactercore is getting it's info 20:23 < bridge> why client to server tho 20:23 < bridge> cuz client doesn't send enough to server 20:24 < bridge> it sends exactly 25tps as we can see 20:24 < bridge> i think it can miss the window time to time 20:25 < bridge> is it a problem even 20:25 < bridge> it looks too jarring without interpolation for spec cursor 20:25 < bridge> i thought that's the reason we haven't done it yet? 20:25 < bridge> idk, but server side cursors worked fine(?) 20:26 < bridge> at least ones i saw 20:26 < bridge> why it shouldn't work as good on client side 20:26 < bridge> cuz screen refreshes at 60hz and more? 20:27 < bridge> it just doesn't look like the local cursor does 20:27 < bridge> but you should see same ingame huh 20:27 < bridge> interpolating is fine ig :justatest: 20:28 < bridge> i mean tee and gun angles are interpolated as well 20:28 < bridge> it's definitely for regular players 20:28 < bridge> not us 20:28 < bridge> but if we can bump the cursor send rate to 50 20:28 < bridge> i'd be happy too 20:28 < bridge> lol 20:28 < bridge> also probably make modding a bit easier too 20:29 < bridge> also probably make moderating a bit easier too 20:29 < bridge> but the CHN me is telling me that we shouldn't really do that cuz CHN server bandwidth. 20:29 < bridge> :pepeW: 20:30 < bridge> yeah was about to say same 20:30 < bridge> i wonder ehat would be a bottleneck tho 20:30 < bridge> bandwidth itself or packet processing stuff 20:36 < bridge> More than a bit, it's a great tool 20:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311415622642438285/2024-11-28_03-36-36.mp4?ex=6748c679&is=674774f9&hm=37d5970e984d53ec6ba2543942de172777df1ea86f23f44c46649dd7d765386e& 20:37 < bridge> interp comparison btw 20:38 < bridge> first is accurate second is smooth 20:38 < bridge> and there is a toggle 20:38 < bridge> :nouis: 20:39 < bridge> choose your flavor 20:39 < bridge> toggle is no no 20:39 < bridge> remember what messiah heinrich told us 20:40 < bridge> it's not like there is a gameplay difference tho 20:40 < bridge> i do want to turn interp off when modding i think... 20:41 < bridge> use server side cursor :P 20:41 < bridge> modding = moderating 20:41 < bridge> or do we have server side cursor on ddnet servers already? 20:41 < bridge> i'm obviously lagging behind on ddnet features 20:42 < bridge> add free rcon for everyone:hey: 20:42 < bridge> nop 20:42 < bridge> on every server 20:42 < bridge> no 20:42 < bridge> :tear: 20:42 < bridge> ask jiatan 20:42 < bridge> ah 20:43 < bridge> i'm not some kid that just add modding features to upstream just because i want it 20:43 < bridge> :nouis: 20:43 < bridge> i'm not some kid that just add server-modding features to upstream just because i want it 20:50 < bridge> ground truth comparison 20:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1311418810179256350/2024-11-28_03-48-35.mp4?ex=6748c971&is=674777f1&hm=d27f3cb6df07144d12e6f4422477e77fa9cf1c53d9a789f12b52f5bcc82ee30e& 20:50 < bridge> i really should go to sleep i think 20:54 < bridge> How does it look if you compensate for the delay? 20:55 < bridge> ok yeah maybe I shouldn't be asking questions at this time :) 20:55 < bridge> i'll do that tomorrow 20:55 < bridge> :justatest: 20:55 < bridge> tbh i don't really care 20:55 < bridge> it's interpolated, all it has to do is looks fine 20:58 < bridge> Just train a small neural network by uhhh crowdsourcing training data and use that for your cursor estimation :) :) :) 20:58 < bridge> Telemetry is good, right? Not problematic at all? 21:01 < bridge> any updates on #9092 21:01 < bridge> https://github.com/ddnet/ddnet/pull/9092 21:01 < bridge> any updates on #9092? 21:01 < bridge> pr ready and approved 21:11 < bridge> omg this is a game changer 21:55 < bridge> Could we somehow add test cases for this function including the argument handling and escaping? Looks like we don't escape backslashes yet. Is that not necessary? 22:11 < bridge> is it possible to connect to the existing ddnet servers with websockets? 22:11 < bridge> i know it's a feature, but it can be disabled too 22:20 < bridge> AFAIK websocket support is broken (#5625, #2853) 22:20 < bridge> https://github.com/ddnet/ddnet/issues/5625 22:20 < bridge> https://github.com/ddnet/ddnet/issues/2853 22:36 < bridge> <0xdeen> We disabled it on official servers because it doubles the impact DoS attacks have 22:36 < bridge> <0xdeen> it being broken in client and lan tab doesn't help either 😄 22:36 < bridge> <0xdeen> we only had it enabled so you could join from http://teewebs.net/ 22:36 < bridge> <0xdeen> client never shipped with websockets I think 22:42 < bridge> i can add test cases, but would rather leave backslash escaping to someone that uses this in future, it doesnt need to be foolproof 22:42 < bridge> this pr doesnt do anything related to backslashes 22:44 < bridge> i dont like how it does quote escaping even, it should be up to developers how they want to do that imo 22:45 < bridge> How would that work? Then it's just broken for everyone if they don't follow the standards 22:46 < bridge> Then `shell_execute` need a warning remark about what it can and cannot do correctly safely without causing arbitrary code execution for the user 22:46 < bridge> quotes for every arg yes, but helping them add a backslash, idk about that 22:55 < bridge> @robyt3 you alive rn? 22:57 < bridge> darn 23:00 < bridge> What's the question? I'm working on my factory :owo: 23:01 < bridge> what kinda factory 23:01 < bridge> it was about the ` Introduce Parameter Object` 23:02 < bridge> i dont really know how to group the items 23:02 < bridge> Factorio Space Age 23:02 < bridge> i could have a rendernameplatenameparam struct (which is part of rendernameplatename aswell) 23:02 < bridge> I'd probably put them all in one object 23:02 < bridge> but that only ads to the ocmplexity? 23:03 < bridge> is that just to make each argument clear where it is 23:03 < bridge> Well, otherwise the function call is pretty unreadable 23:03 < bridge> it kinda feels like stretching for kwargs 23:03 < bridge> but yeah it would be more readable 23:03 < bridge> And it's very easy to add bugs if you have 5 int arguments and you accidentally swap one 23:03 < bridge> :D 23:04 < bridge> i need to do atleast a single factorio 23:05 < bridge> <_voxeldoesart> this is the first time ive seen robyt3 use an emoji like that 23:05 < bridge> just lil guy playing a big game 23:05 < bridge> <_voxeldoesart> factorio is so fun, i need to get back into it 23:05 < bridge> nu'in wrong with dat 23:17 < bridge> awesome 23:37 < bridge> I saw a few :justatest:'s from roby :kek: 23:49 < bridge> does "p" prefix go on references?