00:00 < bridge> But I guess you have to send it all the time in snaps, no? 00:00 < bridge> no clue how it works 00:09 < bridge> in what way does it persist colors 00:09 < bridge> @sollybunny 00:10 < bridge> normally when the chat is "remade", all the colors for client messages (that are made by echo) are reset to cl chat client message color 00:10 < bridge> this stores, for client messages, the color of each message 00:11 < bridge> "remade"? 00:11 < bridge> i do `cl_message_client_color green` and then every echo is green even after reconnect 00:11 < bridge> can u vc 1 00:11 < bridge> is there even a vc 1 00:11 < bridge> not rly 00:12 < bridge> its hard to show otherwise 00:12 < bridge> many plp have keybinds which toggle cl_message_client_color between red and green eg 00:12 < bridge> for enabling and disabling dummy copy 00:12 < bridge> when you open scoreboard or chat all the client messages are reset to the most recent value of cl_message_client_color 00:13 < bridge> ah yea this 00:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306034211878338571/image.png?ex=673532a5&is=6733e125&hm=c2b2bb6dd92c93b6348149ad8eb1900edf75b2caaf496736844ac1403b6ad4e5& 00:13 < bridge> ok now makes sense 00:13 < bridge> when i have multiple configuration options it confuses me alot 00:13 < bridge> which costs mistakes and time xd 00:14 < bridge> eg if i accidently toggle my kill protection 00:14 < bridge> and i then toggle something else 00:14 < bridge> i look at the chat and it says "sewerslide ..." and its green 00:14 < bridge> so my kill protection must be on! 00:14 < bridge> See #8381 00:14 < bridge> https://github.com/ddnet/ddnet/issues/8381 00:14 < bridge> yeah i saw that 00:14 < bridge> htis is just a fix for one of those 00:15 < bridge> htis is just a fix for one of those bulletpts 00:15 < bridge> probably shuld link it 00:15 < bridge> If it fixes the issue, add the text "Closes #8381" to the PR description 00:15 < bridge> https://github.com/ddnet/ddnet/issues/8381 00:15 < bridge> but it doesnt close it 00:15 < bridge> but thats useful to know 00:37 < bridge> if i pressed resolved on both why does it still show as this 00:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306040254989598831/image.png?ex=67353845&is=6733e6c5&hm=421764ede08dd127364bbf6de1fbac31ed67e8f3e5eddf56aa928a060bba1ec9& 00:44 < bridge> the comment 00:44 < bridge> if i reply to the comment? does that work 00:45 < bridge> best to reply if someone else looks at this pr in the future and doesnt know about the discord convo 00:46 < bridge> but i dont think it resolves the review thing 00:46 < bridge> yep 00:46 < bridge> but does that make the changes requested go away 00:46 < bridge> . 00:46 < bridge> idk 00:46 < bridge> well i need to test something first 00:46 < bridge> then 00:46 < bridge> i shall reply 01:33 < bridge> hi, i don`t follow readme 01:33 < bridge> visual studio code 01:33 < bridge> visualstudio 2022 01:35 < bridge> hi, i don`t follow readme 01:35 < bridge> visual studio code 01:35 < bridge> visualstudio 2022 01:35 < bridge> help me pls 01:36 < bridge> try following the readme 01:37 < bridge> hi can you pls me help in demostration in voice 01:38 < bridge> im on linux, and although ive setup cpp on windows b4 i cant help very much with errors 01:38 < bridge> if you havent done anything to set it up, the readme is a very good place to start 01:38 < bridge> 01:38 < bridge> scroll down to "Building on Windows with the Visual Studio IDE" 01:40 < bridge> @liberiumrat come to #off-topic and type to me in russian 01:41 < bridge> it will be fast bcs i have a translator thing 02:20 < bridge> it exploits envelopes and game tick sent to client to display these 02:21 < bridge> also these quads are being added in runtime :brownbear: 02:23 < bridge> ew !! :D 03:14 < ws-client> @woidless done 06:10 < bridge> What are the commands in the config , and thank you 06:16 < bridge> where’s the confessional 06:16 < bridge> i have sinned 07:01 < bridge> @woidless: no config it is active by default 07:08 < bridge> chillerdragon: you didn't choose the lang :santatrollet: 07:17 < bridge> Yea I didn’t get your comment 07:18 < bridge> I mean the python code is already there. Do you want to use teeworlds styled network.py or libtw2 json? 07:19 < bridge> There's python version but I won't yoink it 07:19 < bridge> Lately I have become manual over generation enjoyer. What even do you want to generate? Message structs? Could also just copy paste generated code from ddnet code base xd 07:19 < bridge> Why no yoink? 07:20 < bridge> It's not hard to write myself 07:20 < bridge> Ok pro 07:20 < bridge> :justatest: 07:21 < bridge> I have no preferences when it comes to js, pyson and ruby they are all the same imo 07:21 < bridge> Biggest L of ruby is its typo annotation ecosystem is a bit trashed 07:21 < bridge> js without typescript? :feelsbadman: 07:22 < bridge> Then Ill add them as options on a wheel and spin it 07:22 < bridge> There's jsdoc 07:22 < bridge> yes pretty much the same 07:23 < bridge> Don‘t you have a preference? 07:23 < bridge> I have never written pyson xd 07:23 < bridge> lmao I doubt that 07:23 < bridge> And js? 07:23 < bridge> Why not go with what you know 07:24 < bridge> Nobody knows ruby 07:24 < bridge> Or do it in C for the memes 07:24 < bridge> I know it the most 07:25 < bridge> Js^ 07:25 < bridge> Ok then I recommend js and C in that order 07:25 < bridge> If you don’t like js go with C not any other script lang 07:26 < bridge> If it was rust we could just cook some cool declarative or proc macro for this 07:26 < bridge> If it was rust we could use libtw2 and call it done 07:27 < bridge> Fair :/ 07:54 < bridge> Is it possible to implement speed with tune commands 07:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306150062900121630/RedCastle_2024-11-13_10-18-14.demo?ex=67359e8a&is=67344d0a&hm=43b1cb8f95046638708ffd968dbb5d858f3594e2c9193c39e0b1c79882f8a928& 08:23 < bridge> in rust we trust 08:25 < bridge> we rust in trust 08:30 < bridge> rust users when they see any memory bug ever 08:33 < bridge> in iron we rust 08:39 < bridge> fe+o2 08:58 < ws-client> @milkeeycat that works without malloc? o.O 09:00 < bridge> Works what? 09:01 < ws-client> the new thing 09:01 < ws-client> yea i guess its returning by value crazy 09:01 < bridge> ye 09:01 < ws-client> i would have never dared to return a local struct 09:01 < bridge> returning structs by value works 09:02 < bridge> it passes a pointer to a memory from where you call it 09:03 < ws-client> ok mr language developer 09:03 < ws-client> hard feelings on ``unpacker_read_int`` vs ``unpacker_get_int`` xd? 09:03 < bridge> nah 09:04 < ws-client> and can i keep this around ``uint8_t *unpack_int(uint8_t *buf, const uint8_t *buf_end, int32_t *value, Error *err);`` and call it from the other one? 09:05 < bridge> why do you need it? 09:06 < ws-client> i like have a stateless one around to pop one int 09:07 < ws-client> but sure i scratch it then you always create a stateful one 09:07 < ws-client> https://zillyhuhn.com/cs/.1731485246.png 09:07 < ws-client> this was my plan 09:31 < bridge> can you tell me how to make a delay for example for 7 seconds in your client.cpp console command 09:37 < ws-client> @lsdglsgdflk your request is sus 09:45 < bridge> What's the use case 09:45 < bridge> hax 09:45 < bridge> :nouis: 09:49 < bridge> ChillerDragon: what packet does the server respond with after NETMSG_INFO in 0.6.4? 09:49 < bridge> does it respond at all 09:49 < bridge> i was trying to setup a small client with libtw2 but got no response 09:59 < bridge> launch libtw2 server and enable trace, or log incoming and outcoming packets 10:02 < bridge> ty 10:17 < ws-client> @kollpotato in 0.7 you are supposed to get a map change im pretty sure its the same in 0.6 too https://chillerdragon.github.io/teeworlds-protocol/07/system_messages.html#NETMSG_INFO 10:18 < ws-client> yup same in 0.6 11:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306208860704604190/photo_2024-11-13_14-17-16.jpg?ex=6735d54c&is=673483cc&hm=415a18a5e4bf284531a904bf6ab31e90df04bb28517074f98965e601d1a97f26& 11:47 < bridge> What query can I use to retrieve this information? 12:09 < bridge> ChillerDragon 12:09 < bridge> How do I change the tick speed server? 12:10 < bridge> and if I reduce the server tick speed, will a game mode be created where everything is slow 12:11 < furo> No, you can't change tick speed. 12:12 < bridge> It just won't be compatible with default clients :c 12:14 < bridge> But I want to make a game mode like everything happens in slow motion, but the hook, weapons, etc. shoot and do their actions as usual with their own speed 12:14 < bridge> Is it possible? 12:16 < furo> Yes, you change the tunes. https://ddnet.org/settingscommands/#tunings 12:17 < bridge> I can't figure out which one 12:22 < bridge> Almost all of them 12:25 < bridge> Actually would be trivial to make a tool that generates the list of tunes to slow down or speed up the game by a given factor 12:25 < bridge> ``` 12:25 < bridge> tune_zone x ground_control_speed 5 12:25 < bridge> tune_zone x air_control_speed 2.5 12:25 < bridge> tune_zone x ground_control_accel 1 12:25 < bridge> tune_zone x air_control_accel 0.75 12:25 < bridge> tune_zone x gravity 0.25 12:25 < bridge> tune_zone x air_friction 0.975 12:25 < bridge> tune_zone x air_jump_impulse 8.5 12:25 < bridge> tune_zone x ground_jump_impulse 9.5 12:25 < bridge> tune_zone x hook_drag_accel 1.5 12:25 < bridge> tune_zone x hook_drag_speed 7.5 12:25 < bridge> ``` 12:26 < bridge> just half the default values like a sane person 12:26 < bridge> :kek: 12:26 < bridge> i think being able to control tune_zones using % would be nice tho 12:26 < bridge> What does x mean? 12:26 < bridge> Some values need to double and some divided by the square root of 2 12:26 < bridge> e.g air_friction 300% 12:27 < bridge> the tune zone number. https://forum.ddnet.org/viewtopic.php?t=2418 12:27 < bridge> And if I want to be completely on the server? 12:28 < bridge> Should I use a regular tune? 12:28 < bridge> Yeah 12:28 < bridge> some values like the air_control_speed has a default value of `250.0f / SERVER_TICK_SPEED`.. interesting 12:29 < bridge> If I write all this down, what will be the deceleration factor? For example , the default is 1 , that is, the game does not slow down , but how much will it be after I enter 12:29 < bridge> / 2 12:29 < bridge> e.g the default value of ground_control_speed is 1^0 12:29 < bridge> e.g the default value of ground_control_speed is 10 12:29 < bridge> Is it like 2 times slower? 12:29 < bridge> e.g the default value of ground_control_speed is 10 for example 12:30 < bridge> And I understood 12:30 < bridge> The jump impulses are the values that need to be scaled by the square root of the factor 12:30 < bridge> For example, ground_control_speed is 10 by default , and if I want to slow down by 4 times, will it be 2.5? 12:31 < bridge> Ye 12:31 < bridge> Ok I went to insert these commands 12:34 < bridge> @blaiszephyr And now how to add a vote to the slowdown, I'm not sure that I can add so many commands to 1 vote 12:38 < bridge> Use an exec command in the vote, and put all the tune commands in a separate file 12:44 < bridge> And the voting is looking for, for example, a txt file in which directory? 12:44 < bridge> For example, my server is located at root/DDNetPP/build 12:44 < bridge> This is a virtual machine 12:53 < bridge> ty 12:54 < bridge> I want my skin to change color every 7 seconds, I know how to make it change but I don't know how to make a delay 12:55 < bridge> delay commands are big illegal because you can cheat with them 12:56 < bridge> cheat by changing skin color? 12:56 < bridge> I'll keep that in mind, thank you 12:56 < bridge> 😎 12:57 < bridge> no, I mean, if you used such a command in some other way, maybe with time delays closer to a small fraction of a second... 12:58 < bridge> though then again if you're already modifying your client the only thing stopping you from cheating is your conscience 12:58 < bridge> Sorry, I don't know what this will give, but as I understand it's something serious, then can you tell me how else I can make the color change every 7 seconds? 12:59 < bridge> я просто хочу дополнять т клиент 12:59 < bridge> I just want to complement the client 12:59 < bridge> I mean, just adding the command won't get you in trouble as long as you don't abuse it 12:59 < bridge> I just want to complement the tartar client 13:00 < bridge> @inv41idu53rn4m3 And how to add a vote that does not make any team 13:00 < bridge> @inv41idu53rn4m3 And how to add a vote that does not make any command 13:00 < bridge> Why would you want a vote that does nothing? 13:00 < bridge> If you want a command to reset the speed to normal you still need a command for that 13:01 < bridge> I've already done quite a few things, including a command to connect to a random friend, and now I just wanted to make a command to change the color every 7 seconds 13:01 < bridge> Well, it's kind of necessary, like a brand 13:01 < bridge> You just need to have a vote, like, but it doesn't do anything. 13:02 < bridge> I think if I wanted to harm the project I wouldn't have played almost 1000 hours on it and wouldn't have applied for a moderator 13:03 < bridge> Yeah I don't doubt you 13:03 < bridge> Like how to skip between types of voting 13:03 < bridge> Like first there is a map change , and then skipping and slowing down 13:05 < bridge> can you tell me how to make a delay for example for 7 seconds in your client.cpp console command 13:21 < furo> @woidless Use "info" as the command for the vote to make it unvoteable 13:32 < bridge> @blaiszephyr 13:34 < bridge> For example, I want the player to be able to jump to the point that was at normal gravity 0.5 when slowed down by 4 times. For example, now the deceleration is 4 times, but a person from a normal jump can jump to a point that is at 0.5 gravity 13:34 < bridge> I want, for example, when slowing down 4 times, the player could jump to the point that was at normal gravity 0.5. For example, now the deceleration is 4 times, but a person from a normal jump can jump to a point that is at 0.5 gravity 13:35 < bridge> But when I specify tune gravity 0.5 in all slowdowns it doesn't look like slowdown anymore 13:42 < furo> @lsdglsgdflk The general idea is that you have one variable to track which tick the "delay" was last executed, and then check if that tick was more than 7 seconds ago. You can get the current tick from the client using the `CGameWorld::GameTick()` function. You can convert ticks to seconds by dividing the value by `SERVER_TICK_SPEED` (50). 13:55 < bridge> This is what slowing down by 4 times should look like, that is, I jump to the default height when jumping. But only here I slowed down the video, and on my server it should be according to the conditions that all weapons, hooks, etc. do their actions as usual, but the player’s movement, jumping, etc. should be slowed down so that I can jump to the default height with a normal jump but supposedly with a slowdown 13:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306241091141636176/CHIll.mp4?ex=6735f350&is=6734a1d0&hm=69bc8d8d229650c7af953362e1a8689d798e40334cfe9a7e512a902ebeb71dc3& 13:56 < bridge> Yeah maybe I'll make that little thing for you so you can get a bunch of different speed tunes, I kinda want it myself too... 13:57 < bridge> But I am using DDNetPP on my server 14:22 < bridge> How does velocity ramp work? I assume I'll need to tweak the velramp tunes for a proper slomo... 14:47 < bridge> the velocity ramp controls your horizontal velocity. if your velocity exceeds 75 and you try to go even faster you will slow down instead. those 3 tunes determine the function to calculate your horizontal velocity. 14:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306254574885011556/Screenshot_2024-11-13-18-49-09-642_com.discord.png?ex=6735ffdf&is=6734ae5f&hm=f8f57e6f755a04e4457f9da4b049ef55a00758f84f022ee6bd5cf0d1de114d02& 14:49 < bridge> This 14:50 < bridge> I know, what I'm asking is what's the function 14:50 < bridge> I need to know the function so I know how to modify those tunes 14:52 < bridge> These parameters describe the shape of the velramp curve. Your velocity gets multiplied by the velramp value to get the final velocity 14:52 < bridge> then again reaching 75 speed is very rare in normal gameplay and I'm sure no speeder tile section is going to work out with a slomo tune anyways 14:53 < bridge> It slows you down more and more as you go faster and faster, to the point where you just stop. That's why you get those very weird effects like the shotgun bug 14:53 < bridge> oh wait no 75 is only the point at which it reverses with the normal velramp 14:55 < bridge> Yeah I'd like to know how that curve is calculated 14:55 < bridge> If I can't get an explanation then at least a pointer as to where in the code I'd have to look for that would be nice 14:56 < bridge> It should be in gamecore.cpp 14:56 < bridge> thamks <3 14:57 < bridge> Here is a graph of the velramp function 14:57 < bridge> Actually it's a graph of the final velocity. Not the ramp function 14:58 < bridge> @inv41idu53rn4m3 14:58 < bridge> ``` 14:58 < bridge> if(Value < Start) 14:58 < bridge> return 1.0f; 14:58 < bridge> return 1.0f / std::pow(Curvature, (Value - Start) / Range); 14:58 < bridge> ``` 14:58 < bridge> yay 14:58 < bridge> ```cpp 14:58 < bridge> if(Value < Start) 14:58 < bridge> return 1.0f; 14:58 < bridge> return 1.0f / std::pow(Curvature, (Value - Start) / Range); 14:58 < bridge> ``` 14:58 < bridge> yay 14:59 < bridge> I will be able to fix it so that there is a normal jump. 14:59 < bridge> There you need to build jump_impulse at the root 14:59 < bridge> yeah I figured out how jump_impulse works 15:04 < bridge> ```tune ground_control_speed 5 15:04 < bridge> tune air_control_speed 2.5 15:04 < bridge> tune ground_control_accel 1 15:04 < bridge> tune air_control_accel 0.75 15:04 < bridge> tune gravity 0.25 15:04 < bridge> tune air_friction 0.975 15:04 < bridge> tune air_jump_impulse 8.5 15:04 < bridge> tune ground_jump_impulse 9.5 15:04 < bridge> tune hook_drag_accel 1.5 15:04 < bridge> tune hook_drag_speed 7.5``` 15:04 < bridge> These are 2x decelerations, and now I need to divide all values not related to jump impulse by 2 for further deceleration in 4x and put jump impulses at the root? 15:25 < bridge> gm 15:55 < bridge> i wonder who thought to ramp velocity instead of acceleration 😹 16:11 < bridge> I just spent a proper minute trying to understand why the ramp function wasn't giving me what I expected 16:12 < bridge> and now I feel like an idiot because what I care about is `v * ramp(v * 50)` 16:19 < bridge> ChillerDragon: I have found out my mistake, I was supposed to wrap the packet in the System enum before sending it, that is why I got no response: 16:19 < bridge> 16:19 < bridge> ```rs 16:19 < bridge> // after 16:19 < bridge> let info_packet = System::Info(Info { 16:19 < bridge> version: VERSION.as_bytes(), 16:19 < bridge> password: Some(b"") 16:19 < bridge> }); 16:19 < bridge> // before 16:19 < bridge> let info_packet = Info { 16:19 < bridge> version: VERSION.as_bytes(), 16:19 < bridge> password: Some(b"") 16:19 < bridge> }; 16:19 < bridge> ``` 16:19 < bridge> 16:19 < bridge> I am getting the map change packet as expected, thank you! 16:53 < bridge> ok I just realized we've all been stupid 16:53 < bridge> somehow we assumed gravity / 2 was correct for half speed, but the real way to do it is gravity / 4 17:03 < bridge> Hate to break it to you but *real*slowmo is not possible due to quantization. 17:03 < bridge> Hate to break it to you but *real* slowmo is not possible due to quantization. 17:03 < bridge> yeah that much was obvious from the start but I'm doing my best 17:08 < bridge> I'm also seeing a rather noticeable problem with player on player collision, there are forces applied there and you can not tune the magnitude of those 17:08 < bridge> Maybe add tunes for that? Could be funny 17:12 < bridge> ```cpp 17:12 < bridge> m_Vel += Dir * a * (Velocity * 0.75f); 17:12 < bridge> m_Vel *= 0.85f; 17:12 < bridge> ``` 17:12 < bridge> these two lines are meanies 😠 17:12 < bridge> they're ruining my day 😡 17:13 < bridge> If you don't care abt others you *can* recompile both client and server with SERVER_TICK_SPEED set to smth like 25tps to get a proper 2x slowdown 17:20 < bridge> <3x1st_> https://tenor.com/view/rat-spinning-horizontally-gif-25424411 17:25 < bridge> anyways here you go this is my best attempt right now 17:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306293939879284797/speedtune.py?ex=67362489&is=6734d309&hm=0a03aad336d9bb382bd57689ed8412a632654ce29ebc0ce35b439166c365dd5b& 17:25 < bridge> not sure if I missed anything 17:27 < bridge> Usage: `python speedtune.py [prefix]` 17:27 < bridge> Example: `python speedtune.py 0.5 tune` 17:27 < bridge> This'll generate global tune commands to make things go at 0.5x speed 17:28 < bridge> the prefix is there so that you can generate tune_zone commands 17:28 < bridge> actually let me make it default to regular tune 17:29 < bridge> there you go, a very simple 4 character edit :P 17:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1306294785870401606/speedtune.py?ex=67362552&is=6734d3d2&hm=2e7d8d080fdef0296ac888b2f52a92a2801d8de8a3dbd83ad0722fbec8081f6e& 17:29 < bridge> now, did you use AI or did you use multi cursors, or did cou ctrl+c & ctrl+v the shit out of the print statements :kekw: 17:29 < bridge> now, did you use AI or did you use multi cursors, or did you ctrl+c & ctrl+v the shit out of the print statements :kekw: 17:30 < bridge> I used vim macros :) 17:30 < bridge> I did the edit for a single line, recorded that into a macro, then repeated that macro a bunch of times 17:31 < bridge> Wow montikboom himself, the creator of slownet, writes 17:31 < bridge> Do server and client have tick speed? Can server changes make tickspeed desync? Please respond🙏🙏🙏 17:33 < bridge> i dislike vim macros - i use multicursor and `iwr` :kekw: 17:33 < bridge> ?? 17:34 < bridge> Can you respond please 17:35 < bridge> To this 17:35 < bridge> mate i'm not teero, i dont know this stuff 17:35 < bridge> iwr? 17:35 < bridge> teero is the gigachad here 17:36 < bridge> teero please 17:36 < bridge> oh i think i changed that keybind.. `in word replace` iirc the default is change inner word `ciw` 17:36 < bridge> There is no such packet. Thats why I said recompile BOTH client AND server 17:37 < bridge> which packet? I'm not understanding much 17:37 < bridge> oh yeah 17:42 < bridge> Main problems with tuning the game speed I can see are caused by player collision, which makes flying feel different at different speeds 17:42 < bridge> when accelerated the player collision will feel weak, when slowed down the player collision will feel strong 17:45 < bridge> Why y'all need slowmo 17:45 < bridge> funny 17:45 < bridge> I just saw it as something interesting to try 17:53 < bridge> I personally need to set up MY server 17:55 < bridge> ChillerDragon: As 07 cultist you should know, where can I find full 07 protocol documentation 17:55 < bridge> Exploring source code again sounds fun and stuff, but I fell like someone already described it 17:57 < bridge> oh, there is actually one done by you, it was first result in google, my bad, nvm 18:01 < bridge> I didn't try it before sending the code but apparently very slow speeds just totally break, like, the game just rounds things to zero 18:01 < bridge> sad :( 18:04 < bridge> BROOOO, NAAAAH, THAT'S MINE IDEA, SEARCH UP FOR SlowNET in NONE TAB IN DDNET 18:04 < bridge> Tunes not mine, but server is 18:06 < bridge> what are you working on? 18:07 < bridge> yes and yes, but i don’t know what you will do with any of this info. i think it’s a compile time constant so you’d need to change your server and client to get it to work 18:07 < bridge> im also learning the protocol little by little 18:07 < bridge> not sure why 18:07 < bridge> its fun 18:09 < bridge> I'm just using tune on my server. GS) 18:52 < bridge> *the thing* 18:55 < bridge> exciting 18:58 < bridge> https://gitlab.brokenpipe.de/stettberger/avremu 19:22 < bridge> Apparently hook_fire_speed higher than the default 80 is also weird and broken? 19:55 < bridge> at his protocol documentation 19:55 < bridge> https://chillerdragon.github.io/teeworlds-protocol/index.html 20:05 < bridge> he later said that he found it 20:14 < bridge> пашол ты 20:15 < bridge> another blockwar comes? 20:15 < bridge> :troll: 20:16 < bridge> wut 20:17 < bridge> my host blamed my developer because the host doesen't know that 💀 20:18 < bridge> i asked that to prove him he is not right 20:18 < bridge> ty 20:33 < bridge> wait maybe i misunderstood 20:34 < bridge> changes to the server tick rate will make the clients desync if they don’t have the same tick rate 20:34 < bridge> but a normal change to the server like adding a feature wouldn’t do that 20:35 < bridge> im not sure exactly what would happen if you did connect to a server with a different tick rate but i expect it would just appear very buggy & drop many of your inputs 20:35 < bridge> or crash. who knows 20:35 < bridge> there’s a reason it’s constant 20:37 < bridge> now i wonder if you could achieve the same physics with 2x tick rate and a tune which halves every time-based parameter 20:37 < bridge> just play on lan with your bros 20:37 < bridge> super ddnet… 20:37 < bridge> Afair you can change the tick rate of your local server without client changes 20:38 < bridge> There's at least a high bandwidth settings thingie 20:38 < bridge> Or maybe I'm mixing things 20:38 < bridge> that may be to communicate at 50tps but i’m not sure 20:38 < bridge> the actual tick rate/game logic would remain 20:39 < bridge> based on how i understand it 20:40 < bridge> I never looked into it, Teero worked with it so he knows it 20:40 < bridge> ive never touched protocol/server code in that sense 20:41 < bridge> but based on how i understand it, the game and server both run isolated at 50tps, and each packet sent between has 2 ticks worth of info 20:41 < bridge> and the high bandwidth stuff will make it communicate at twice the rate (e.g full speed)? 21:43 < bridge> if server will have tick rate speed bigger, and client lower, then server can't follow client speed and it starts to teleport client 21:43 < bridge> Which will made decync 21:43 < bridge> And you can play that because it will feel like ping or ddos 21:51 < bridge> My client suddenly stopped showing any movement and became unresponsive after I increased the tick speed just by 1 21:52 < bridge> That was quite funny honestly 21:52 < bridge> :nouis: 22:01 < bridge> :nouis: 22:23 < bridge> umm hey hope you guys doin well 22:23 < bridge> i have a question about ban mecanism 22:23 < bridge> 22:23 < bridge> ``` 22:23 < bridge> bool CNetBan::IsBanned(const NETADDR *pOrigAddr, char *pBuf, unsigned BufferSize) const 22:23 < bridge> ``` 22:23 < bridge> it seems it bans on IPV4 and IP ranges when you use netban commands 22:23 < bridge> But how does server bans indicate that you are previously banned from server? 22:23 < bridge> comparing Hash? 22:23 < bridge> umm hey hope you guys doin well 22:23 < bridge> i have a question about ban mecanism 22:23 < bridge> 22:23 < bridge> ```c++ 22:23 < bridge> bool CNetBan::IsBanned(const NETADDR *pOrigAddr, char *pBuf, unsigned BufferSize) const 22:23 < bridge> ``` 22:23 < bridge> it seems it bans on IPV4 and IP ranges when you use netban commands 22:23 < bridge> But how does server bans indicate that you are previously banned from server? 22:24 < bridge> comparing Hash? 22:24 < bridge> umm hi hope you guys doin well 22:24 < bridge> i have a question about ban mecanism 22:24 < bridge> 22:24 < bridge> ```c++ 22:24 < bridge> bool CNetBan::IsBanned(const NETADDR *pOrigAddr, char *pBuf, unsigned BufferSize) const 22:24 < bridge> ``` 22:24 < bridge> it seems it bans on IPV4 and IP ranges when you use netban commands 22:24 < bridge> But how does server bans indicate that you are previously banned from server? 22:24 < bridge> comparing Hash? 22:24 < bridge> umm hi hope you guys doin well 22:24 < bridge> i have a question about ban mecanism 22:24 < bridge> 22:24 < bridge> ```c++ 22:24 < bridge> bool CNetBan::IsBanned(const NETADDR *pOrigAddr, char *pBuf, unsigned BufferSize) const 22:24 < bridge> ``` 22:24 < bridge> it seems it bans on IPV4 and IP ranges when you use netban commands 22:24 < bridge> But how does ```serverban``` indicate that you are previously banned from server? 22:24 < bridge> comparing Hash? 22:24 < bridge> umm hi hope you guys doin well 22:24 < bridge> i have a question about ban mecanism 22:24 < bridge> 22:24 < bridge> ```c++ 22:24 < bridge> bool CNetBan::IsBanned(const NETADDR *pOrigAddr, char *pBuf, unsigned BufferSize) const 22:24 < bridge> ``` 22:24 < bridge> it seems it bans on IPV4 and IP ranges when you use netban commands 22:24 < bridge> But how does **serverban** indicate that you are previously banned from server? 22:24 < bridge> comparing Hash? 22:31 < bridge> <01000111g> how will dummy work with new acc system? if ur finish is mapped to your account, then u sometimes get teamrabks with urself? 22:34 < bridge> idk if that would change 22:35 < bridge> i think names will just have accounts behind them as a prerequisite to being able to finish a map anyway 22:35 < bridge> so that system won’t necessarily have to change 22:36 < bridge> i would imagine that the account identifier will be a fairly transparent thing and just used for keeping track of unique players independently from their name 22:37 < bridge> and then maybe names can just be assigned to accounts, with an optional exclusivity parameter to say that other players can or cannot use this name 22:38 < bridge> sounds manual and complicated that way though 22:38 < bridge> idk 22:56 < bridge> No hashing, just an O(n) lookup through the list of bans 23:03 < bridge> ohhh 23:03 < bridge> well 23:03 < bridge> can you please tell me in which file this ban is implemented so i can check it out? 23:03 < bridge> huge thanks❤️ 23:20 < bridge> Hi @teero777 23:20 < bridge> hi