Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2024-01-25 00:00:00Z and 2024-01-26 00:00:00Z
00:00
god damn
00:00
delish
Avatar
looks like big meatball
Avatar
its rib eye
Avatar
rib meatball
Avatar
why u show meat but no inside
00:24
gotta show the inside
Avatar
You also need to stop shaking your phone fr pepeW
00:29
bad phone
Avatar
Avatar
Ewan
why u show meat but no inside
i got one but
00:30
its shaky
00:30
Avatar
delete him,...
00:31
i also got some whiskey mixed thing
00:31
justatest
Avatar
@Davide I don't think this ddos protection thing is working too well 😛
Avatar
Avatar
Learath2
@Davide I don't think this ddos protection thing is working too well 😛
What happened?
Avatar
Avatar
Davide
What happened?
idk it gets through
Avatar
Saw it, should be fixed
00:52
It was a 1.1Tbps attack
00:52
Seems like the load balancing was not working correctly and one of the uplinks got saturated
Avatar
Found the reason of the incorrect load balancing
01:00
There's an ongoing maintenance on my main transit provider
01:00
01:00
@Learath2
01:01
So my current uplinks capacity is just half as the normal, until the maintenance ends
Avatar
love you guys btw
heartw 1
01:23
poggers2
Avatar
Avatar
Davide
It was a 1.1Tbps attack
Unlimited vps I guess with such attack
Avatar
Avatar
Davide
So my current uplinks capacity is just half as the normal, until the maintenance ends
Ah, that makes sense
Avatar
Avatar
Davide
It was a 1.1Tbps attack
Im still wondering who pays for this HUH
Avatar
Avatar
meloƞ
Im still wondering who pays for this HUH
it's far cheaper than a connection that large 😄
Avatar
Avatar
TsFreddie
love you guys btw
we love you too freddie
➕ 1
Avatar
ws-client BOT 2024-01-25 03:15:39Z
<ChillerDragon> ryo living the life
03:15
<ChillerDragon> hope your meatball is vegan.
Avatar
I Hope so too HUH
Avatar
ws-client BOT 2024-01-25 03:17:15Z
<ChillerDragon> love you too @TsFreddie owo
Avatar
Avatar
Learath2
it's far cheaper than a connection that large 😄
imagine wasting money to ddos a community based game
Avatar
Avatar
ws-client
<ChillerDragon> hope your meatball is vegan.
I hope his meatballs turn onto rust
04:36
owo
04:36
out of context bs ^
Avatar
ws-client BOT 2024-01-25 06:12:35Z
<ChillerDragon> @Cellegen which games do you suggest for ddosing? c:
06:28
I dont think I wanna answer
Avatar
Avatar
TsFreddie
love you guys btw
No homo, love you too ❣️
Avatar
morning
Avatar
Avatar
Cellegen
imagine wasting money to ddos a community based game
Some "people" are just disgusting wastes of oxygen
Avatar
Chill
Avatar
erDragon?
Avatar
NoChill
Avatar
Learath is too hot to chill 😊
Avatar
Learath is cool af
Avatar
So he chill
11:16
😏
11:18
@Robyt3 Thursday for Vulkan. What vk question is on your heart today
Avatar
i looked into how MIR works in Rust
11:36
its a CFG
11:37
rly close to what llvm ir looks like
11:37
which makes sense xd
11:38
@Jupstar ✪ my vulkan question: can you have security vulnerabilities / injections via layers in vulkan
11:38
if it makes sense xd
11:38
ok actually a layer is smth the driver implements right
11:38
nvm
11:39
maybe a better question, can u do privilege escalation via vulkan
11:42
this looks like a lot but its barely 20€ xd
Avatar
Avatar
Jupstar ✪
@Robyt3 Thursday for Vulkan. What vk question is on your heart today
what is the limiting factor to the amount of shaders you can upload?
Avatar
i would guess memory or whathever int max value the driver uses (edited)
Avatar
Avatar
Ryozuki
maybe a better question, can u do privilege escalation via vulkan
It's in the user land, so only if the back end has a bug I guess..
Avatar
Avatar
Patiga
what is the limiting factor to the amount of shaders you can upload?
There is a limit? Xd
Avatar
Avatar
Ryozuki
@Jupstar ✪ my vulkan question: can you have security vulnerabilities / injections via layers in vulkan
BTW this isn't even a bad question. Because layers must not be inside the driver. But without root rights u probably can't install them
11:45
But overlays can defs contain bugs
Avatar
Avatar
Patiga
idk :d
Well then it's mostly the amount of memory I guess. Ofc for stuff inside the shaders there are individual limitations too. Amount of uniform, amount of textures per stage etc.
11:47
If it makes you happy to know. 4000 shaders are not uncommon even for mobile games
Avatar
since you do most memory management in vulkan by yourself, do you also need to manage where the shaders are placed?
11:48
they should be located in v-ram, no?
Avatar
dont u make ur own memory allocators for everything in vulkan?
Avatar
meanwhile unity compiling 30k shaders if you are not careful when using URP Lit
Avatar
Avatar
Patiga
since you do most memory management in vulkan by yourself, do you also need to manage where the shaders are placed?
You don't have any influence about that
👍 1
Avatar
@Jupstar ✪ if i break my computer with i hammer i have influence in that it wont be placed anywhere :)
Avatar
Memory management is still more opaque than writing asm for cpus
happy 2
11:49
asm for cpus is crystal clear isnt it
11:49
there is no amiguity
11:49
ambiguity
Avatar
i cooked our game all day today
11:50
everything needed baking its so slow and stressful
Avatar
was it tasty?
Avatar
at least we saw gameover the first time today
Avatar
it had been crashing before we could finish a round for the first two play test sessions
Avatar
@TsFreddie the company where i work is also into making games now
11:51
they use unity :d but the backend is in elixir
Avatar
wdym into
Avatar
to usse the erlang otp
11:52
by into i mean they making games too
Avatar
They use edlang
Avatar
honestly i think i hate making games now
11:53
im not in that department so
11:53
im making a compiler
11:53
more interesting
Avatar
i used to think making gamn is just putting things in place and make them move
Avatar
but in the office i can see
11:53
and talked to some artists xd
11:53
3d modelers
Avatar
@Patiga for the host side of the vk driver u actually can pass custom allocators. So you can influence that. I wonder if it's ever used anywhere. I guess no device that implements vulkan doesn't also have a heap xd
Avatar
apparently you need to make the exact correct design decisions for every single objects. and it is too hard to teach all designers and artists about the technical detail in such a short time
Avatar
huh interesting
Avatar
and we just let them do their thing
11:55
and remake the entire map again on our end
Avatar
and they came back with a map like this
Avatar
@TsFreddie i saw u starred my lalrpop-json :o
Avatar
Avatar
TsFreddie
and they came back with a map like this
xd
Avatar
Avatar
Ryozuki
@TsFreddie i saw u starred my lalrpop-json :o
misclicked
12:01
although no idea what it is. its just that i rarely check the linetime thing. and clicking stuff make me feel like i was participating
12:01
so i participated
Avatar
@Learath2 i have something u may like
12:03
Typed distributed plugin registration. Contribute to dtolnay/inventory development by creating an account on GitHub.
Avatar
that's not yours
Avatar
Examples Suppose we are writing a command line flags library and want to allow any source file in the application to register command line flags that are relevant to it.
12:03
remembered u wanted smth like this for discord commands (edited)
12:04
Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
12:05
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. - GitHub - zed-industries/zed: Code at the speed of thought – Zed is a h...
12:05
@Jupstar ✪ omg a new editor in rust
Avatar
Avatar
Jupstar ✪
@Robyt3 Thursday for Vulkan. What vk question is on your heart today
Is it worth it to fix the validation warnings? With dbg_gfx 4 you get like 4 MiB of validation warnings, mostly about us not freeing everything I guess
Avatar
@Jupstar ✪ bro this editor is legit
12:09
im trying it
12:09
it feels nice
12:09
Zed is currently only available on macOS minimally requires Catalina (10.15).
12:09
oh rip
12:09
well ill use it on my m1
12:10
apparently because they use metal and not vulkan
12:10
i hope they switch
Avatar
Avatar
Robyt3
Is it worth it to fix the validation warnings? With dbg_gfx 4 you get like 4 MiB of validation warnings, mostly about us not freeing everything I guess
Some warnings will sadly increase complexity, but not freeing stuff should actually throw an error instead of a warning
Avatar
Avatar
Ryozuki
apparently because they use metal and not vulkan
Lmao
Avatar
Avatar
Ryozuki
@Jupstar ✪ bro this editor is legit
Ive seen it already, as long as it has debugger support it sounds cool (edited)
Avatar
I did find this back when I was trying to do something like it yeah
12:44
Surprised you remember
Avatar
is it possible to make inclient queue for unfinished maps? you choose max ping limit, you choose a map difficulty and type limits, there should also be points limit so 200pts novicers wont match for insane5, you press button and just wait when it finds ppl, it chooses a server so ping will be about the same for all, and automatically connects to it for all players
13:40
it would be useful for ppl who play rare, because its hard to find teammates to instantly play
Avatar
dear devs! is it possible to involve a mechanic that make a weapon a second hook? there would be lot new possiblities with that, intresting new parts, solutions...
Avatar
no
Avatar
Avatar
Bors Matyas
dear devs! is it possible to involve a mechanic that make a weapon a second hook? there would be lot new possiblities with that, intresting new parts, solutions...
go check vanilla teeworlds prs
15:16
i played vanilla but never saw this
15:22
are you gonna realease it for ddnet?
Avatar
Avatar
Smetanolub
is it possible to make inclient queue for unfinished maps? you choose max ping limit, you choose a map difficulty and type limits, there should also be points limit so 200pts novicers wont match for insane5, you press button and just wait when it finds ppl, it chooses a server so ping will be about the same for all, and automatically connects to it for all players
That has already been tried in different ways and has never really worked. There were: -discord servers -the discord thingy were you can create like conversation, sorry idk how they are called. -and some web stuff like what MilkeeyCat sent. A lot of players mostly play with the same people over and over. Unless it's t0. So even tho you may find someone "randomly" or just by asking, it's not super common. It might work well with lower points players? idk
Avatar
Avatar
Devinci
That has already been tried in different ways and has never really worked. There were: -discord servers -the discord thingy were you can create like conversation, sorry idk how they are called. -and some web stuff like what MilkeeyCat sent. A lot of players mostly play with the same people over and over. Unless it's t0. So even tho you may find someone "randomly" or just by asking, it's not super common. It might work well with lower points players? idk
My thing is obviously will be successful and not doomed at all brownbear
Avatar
Avatar
Devinci
That has already been tried in different ways and has never really worked. There were: -discord servers -the discord thingy were you can create like conversation, sorry idk how they are called. -and some web stuff like what MilkeeyCat sent. A lot of players mostly play with the same people over and over. Unless it's t0. So even tho you may find someone "randomly" or just by asking, it's not super common. It might work well with lower points players? idk
We should do it as button in client, so more ppl will use it, especially new players who cant even find something in settings
Avatar
Avatar
Smetanolub
We should do it as button in client, so more ppl will use it, especially new players who cant even find something in settings
i belive more that accounts will be in ddnet than this 😹 (edited)
Avatar
We need both of those
17:57
Waiting for accounts from 1800sjustatest
Avatar
@archi justatest
justatest 1
Avatar
Avatar
Avolicious
There are kids playing this game
I'm playing this game. I don't want toxic chat
Avatar
Avatar
heinrich5991
I'm playing this game. I don't want toxic chat
ive seen you 2 times in game justatest
Avatar
I've seen him 1 time in game justatest
Avatar
nob 😎
Avatar
Avatar
<BµmM>
@archi justatest
oh no you found my secret account
Avatar
@Jupstar ✪ Seems like #6578 is caused by the client starting minimized and inactive on Windows, because shell_execute always starts the process like that. It's a bug anyway that the client is not in the foreground after restarting, but weird that Vulkan can't create a swap chain if the window is started minimized
Avatar
After restarting the client from within the client itself (via auto-updater or restart command added in #6577), the game window is entirely missing with Fullscreen mode: Windowed or Windowed Fullsc...
Avatar
Add parameter to shell_execute to either start the process in the foreground or background on Windows. Previously, all processes were started in the background, because this is desired when starting the server from the client. However, this causes the graphics initialization to fail when restarting the client after updating or with the restart command when using Vulkan with windowed and windowed fullscreen mode. Closes #6578.

Checklist

  • [X] Tested the change ingame
  • [ ] Pro...
Avatar
Avatar
Robyt3
@Jupstar ✪ Seems like #6578 is caused by the client starting minimized and inactive on Windows, because shell_execute always starts the process like that. It's a bug anyway that the client is not in the foreground after restarting, but weird that Vulkan can't create a swap chain if the window is started minimized
i think this was also a bug when we still showed the client console (not related to vk) and i think i also seen a sdl issue, where someone complained about it, but the sdl dev said, windows sucks xd
😄 1
Avatar
Avatar
Robyt3
@Jupstar ✪ Seems like #6578 is caused by the client starting minimized and inactive on Windows, because shell_execute always starts the process like that. It's a bug anyway that the client is not in the foreground after restarting, but weird that Vulkan can't create a swap chain if the window is started minimized
how did u install validation layers on windows? is it vk sdk or some nvidia thing?
Avatar
Avatar
Jupstar ✪
how did u install validation layers on windows? is it vk sdk or some nvidia thing?
VulkanSDK I guess
Avatar
Avatar
Robyt3
VulkanSDK I guess
generally the validation is correct
20:45
to prevent that from happening when tabbing out the vk backend stops rendering completely while so
20:45
maybe we can trigger this state here too.. rn it waits for the SDL event to say that the window was minimized
20:46
could also try to just force a higher resolution if the width or height is reported as 0
20:46
this should™️ be legal and will only result in vk's surface reporting that the surface doesn't match the requirements
Avatar
It possible to reproduce the bug by creating a desktop shortcut to DDNet.exe and setting the shortcut launch option to minimized
Avatar
Avatar
Robyt3
It possible to reproduce the bug by creating a desktop shortcut to DDNet.exe and setting the shortcut launch option to minimized
mh interesting.. why does sdl window creation not fail here then? don't we explicitly tell which size we want for the window? 😄
Avatar
It works with OpenGL, so something with SDL<->Vulkan or only Vulkan must be the issue
Avatar
Avatar
Robyt3
It works with OpenGL, so something with SDL<->Vulkan or only Vulkan must be the issue
well opengl doesn't have a concept like minimized at all
20:53
@Robyt3 in vk backend in GetSwapImageSize can u try to add if (RetSize.width == 0 || RetSize.height == 0) { RetSize.width = 800; RetSize.height = 800; } i wonder what will happen
20:53
add it before VkExtent2D AutoViewportExtent = RetSize;
Avatar
Avatar
Jupstar ✪
@Robyt3 in vk backend in GetSwapImageSize can u try to add if (RetSize.width == 0 || RetSize.height == 0) { RetSize.width = 800; RetSize.height = 800; } i wonder what will happen
does not change anything
Avatar
Avatar
Robyt3
does not change anything
mh interesting. is the maxextend in VKCapabilities 0?
Avatar
yes, currentExtent and maxImageExtent width and height are both 0 (edited)
Avatar
well it's defs a weird thing that this can happen under windows. without a swapchain you can't test if the surface was changed, without surface change event, you can't really know when the surface is not 0 anymore. i wonder if there is any useful sdl event triggered directly after window creation
21:06
@Robyt3 another try: in RecreateSwapChain after vkDeviceWaitIdle(m_VKDevice); VkSurfaceCapabilitiesKHR VKSurfCap; if(!GetSurfaceProperties(VKSurfCap)) return -1; auto Caps = GetSwapImageSize(VKSurfCap); if (Caps.m_SwapImageViewport.width == 0 || Caps.m_SwapImageViewport.height == 0) { m_RenderingPaused = true; } and in PrepareFrame() replace RecreateSwapChain() with if (RecreateSwapChain() != 0) { return PureMemoryFrame(); } i am not sure about the last one, but maybe worth a try. It will probably only work if SDL at some point sends a SDL_WINDOWEVENT_RESTORED event
21:08
maybe m_RecreateSwapChain = true; in Cmd_WindowCreateNtf needs to be moved out of the android-macro else it probably has no idea that the surface is now ready
21:09
this is defs messy, bcs normally on desktops surfaces are never non ready, like on android xd
21:09
so tabbing out would always trigger a rebuild of the swapchain :/
Avatar
doesn't work
Avatar
but does it crash?
Avatar
I don't get window events until after init already failed
Avatar
Avatar
Jupstar ✪
but does it crash?
no, same as before
21:12
SDL_WINDOWEVENT event=7 d1=0 d2=0 SDL_WINDOWEVENT event=1 d1=0 d2=0 SDL_WINDOWEVENT event=10 d1=0 d2=0 SDL_WINDOWEVENT event=12 d1=0 d2=0 SDL_WINDOWEVENT event=3 d1=0 d2=0 SDL_WINDOWEVENT event=14 d1=0 d2=0
21:12
all after creating the swapchain fails
Avatar
mh ok
Avatar
Avatar
Robyt3
all after creating the swapchain fails
in Cmd_Init?
21:15
ah wait
Avatar
Avatar
Jupstar ✪
@Robyt3 another try: in RecreateSwapChain after vkDeviceWaitIdle(m_VKDevice); VkSurfaceCapabilitiesKHR VKSurfCap; if(!GetSurfaceProperties(VKSurfCap)) return -1; auto Caps = GetSwapImageSize(VKSurfCap); if (Caps.m_SwapImageViewport.width == 0 || Caps.m_SwapImageViewport.height == 0) { m_RenderingPaused = true; } and in PrepareFrame() replace RecreateSwapChain() with if (RecreateSwapChain() != 0) { return PureMemoryFrame(); } i am not sure about the last one, but maybe worth a try. It will probably only work if SDL at some point sends a SDL_WINDOWEVENT_RESTORED event
after m_RenderingPaused there must be a return -1;
21:16
xd
21:16
else it tries to create the swapchain xD
21:20
if it's only in cmd_init and some sdl event triggers maximize or restore i'd say it's an easy fix
21:21
else i'll have to think about it
Avatar
I added if(m_VKSwapImgAndViewportExtent.m_SwapImageViewport.width == 0 || m_VKSwapImgAndViewportExtent.m_SwapImageViewport.height == 0) return false; after m_VKSwapImgAndViewportExtent = GetSwapImageSize(VKSurfCap); and this seems to work
21:22
combined with all your other changes, I don't know how many were actually required (edited)
21:22
I'll do more testing another day
Avatar
@Robyt3 try this

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddn...
Avatar
Avatar
Jupstar ✪
😬
w h a t i s t h a t f o n t s p a c i n g justatest
Avatar
monospace 🤓
Avatar
not the first time that happened to me on vscode but also only like third time i wonder if it's related to using 2 vscode instances with different extensions or smth xd or if it's simply a console bug (edited)
21:33
but i also didnt update in a while
21:35
for some reason clang-format also is broken if i have a second vscode instance open
21:35
xd
21:35
clang-format-10 to be precise
21:35
i guess it somehow loads the new and the old one or smth like that
21:35
very weird
Avatar
Avatar
Jupstar ✪
for some reason clang-format also is broken if i have a second vscode instance open
everything works perfectly in neovim, no matter how many instances is open 😏
Avatar
great, now if it wouldn't be so user unfriendly i'd maybe use it 😬
Avatar
wdym unfriendly 😦
21:37
just learn few vim motions and dats it 😏
Avatar
i dunno, i simply dislike using vim-like editors
21:37
i need mouse and stuff
Avatar
i also use micro in terminal
21:38
bcs it's the only user friendly terminal editor
21:38
xd
Avatar
i use tmux btw 😏
Avatar
Avatar
MilkeeyCat
i use tmux btw 😏
micro
21:40
well i forgot to capture my mouse pointer
21:40
but just imagine it
Avatar
Avatar
Jupstar ✪
micro
nvim also supports selecting text with mouse
Avatar
Avatar
MilkeeyCat
nvim also supports selecting text with mouse
and also shortcuts like ctrl x?
Avatar
no santatrollet
21:40
just press d
21:40
or "+d
Avatar
sometimes i also use my mouse only to move code
21:41
not often, but sometimes
Avatar
Avatar
Jupstar ✪
and also shortcuts like ctrl x?
but u can make any shortcuts you want 😏
21:42
i guess justatest (edited)
Avatar
Avatar
MilkeeyCat
but u can make any shortcuts you want 😏
i guess thats rather standard for editors xd
21:43
except you mean, u create a shortcut to automatically download vscode inside vim and use it inside there
21:43
that would ofc be really cool
Avatar
i dont have muscle memory to press ctrl+x/c/v in code editor
Avatar
Avatar
MilkeeyCat
i dont have muscle memory to press ctrl+x/c/v in code editor
u can also rightclick with mouse and click cut
21:44
lol
Avatar
blimpy blimpy?
Avatar
@heinrich5991 maybe it's interesting for you to know, but I never read openfng code^^ But I took the basic idea ofc
Avatar
Avatar
Teero
blimpy blimpy?
blimpy blimpy blimpy
23:36
i was mad when he was presenting but actually i think he's right
Exported 264 message(s)