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-12-12 00:00 and 2024-12-13 00:00
Avatar
Avatar
Patiga
because we need to switch the texture for each sprite of the tee
But there's all on the same texture?
Avatar
It gets separated in memory?
Avatar
everything gets cropped & chunked out afaik
00:09
before it even gets to the gpu
Avatar
But you don't have to do it that way
Avatar
yeah i mean you can treat it as an atlas
00:09
but that's not how it works rn
Avatar
ws-client BOT 2024-12-12 00:09
<ChillerDragon> @Barbs 🐙 could you describe the bugs in words?
00:10
<ChillerDragon> I am not sure if JSaurursRex is maintaining that modification. I for sure am not. I am maintaining the server at 88.198.96.203:8309 "ChillerDragon's CTF GER1" but it would still be good to know what kind of bug.
Avatar
Idk the atlas doesn't even sound that hard right? We already have them on one texture and know the coordinates.
00:12
Is it because of the tee colors?
00:12
Those get stored in the texture itself?
Avatar
you'd need a shader to change the color if not
00:13
which idk if it does already
00:13
but i would assume not because it's a fairly well known algorithm that's been reproduced in a few other software representations
00:13
that web one
00:13
idk
00:14
i wonder what it actually does yeah
Avatar
They all write the colors to the texture directly I'm pretty sure
Avatar
too bad it's american hours rn
Avatar
Avatar
Assa
I think quad trees currently don't make sense in ddnet, because the overhead is too big for only 64 players and the game doesn't contain too many entities (edited)
updating quad trees isnt that intensive seeing as you only have to do it once per tick at most. each player checks against each player for collisions, and when hooking and for each projectile turning an O(n^2) to a O(n) or less it definatley worth
00:19
specially if we go upto 128 clients
Avatar
does someone has resources/a link to the new years photoshoot mod? I want to do sth similar with my friends
Avatar
Avatar
Gumba
does someone has resources/a link to the new years photoshoot mod? I want to do sth similar with my friends
@TsFreddie
Avatar
Avatar
Gumba
does someone has resources/a link to the new years photoshoot mod? I want to do sth similar with my friends
if theres not many players u can just photoshop it :P
Avatar
Contribute to TeeworldsCN/MomentCap development by creating an account on GitHub.
00:48
@Gumba
Avatar
good find
Avatar
ill use that freddie ping to ask him another question then
Avatar
org reminds me of the BemaniCN 😢
00:49
that's probably totally lost on u sorry
00:49
Avatar
Avatar
zhn
@TsFreddie
we love ya freddie, no questions and no answers ;3
Avatar
Avatar
Solly
specially if we go upto 128 clients
With proper collision you can effortlessly handle thousands :)
Avatar
Avatar
Solly
updating quad trees isnt that intensive seeing as you only have to do it once per tick at most. each player checks against each player for collisions, and when hooking and for each projectile turning an O(n^2) to a O(n) or less it definatley worth
^
Avatar
Who can create a script for fifo?
02:41
I just want my message to be displayed in the broadcast every specified time. this is implemented via fifo But I do not know how
Avatar
GitHub BOT 2024-12-12 03:17
7886a73 Update spanish.txt for 18.8 - n0Ketchp c25e06d Merge pull request #9382 from n0Ketchp/patch-23 - def-
Avatar
@Evelyn you can
03:46
do some research
03:46
i believe in you
Avatar
GitHub BOT 2024-12-12 04:21

Checklist

  • [x] Tested the change ingame
  • [x] 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
  • [x] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-ad...
Avatar
ws-client BOT 2024-12-12 06:34
Program logic extraction. Brick Co.,Ltd.
Avatar
Avatar
Ewan
@Evelyn you can
I can't do it
06:54
I've been trying for 2 weeks now, I've even been looking for a programmer, I'm asking the gpt chat
06:54
Nothing helped me.
06:55
When I was looking for a programmer, no one understood what I wanted and because they didn't play ddnet
06:56
Although I was willing to pay $12
Avatar
When I was looking for a programmer, no one understood what I wanted
You will become a really good project manager
(edited)
lol 3
Avatar
you need to be the programmer
06:58
lol
06:58
$12 means little to most ppl in here
Avatar
This command was not found.
Avatar
you would probably have an easier time getting ppl to help you if you showed initiative & tried to code with them instead of just asking them to do it for you
Avatar
Avatar
Ewan
$12 means little to most ppl in here
Avatar
2 weeks is nothing
07:26
buy yourself some c++ course with that money
07:26
better invested
Avatar
I do not know how python works, I will not be able to use it.
08:06
maybe $ 12 is not enough for this job, but it's more difficult for me to find , I can find a maximum of $ 30, I don't know if it's good for just creating a script that simply enters the broadcast command into a fifo file every specified time
Avatar
Avatar
jxsl13
buy yourself some c++ course with that money
I've already ordered a book.
😃 1
Avatar
Avatar
Evelyn
maybe $ 12 is not enough for this job, but it's more difficult for me to find , I can find a maximum of $ 30, I don't know if it's good for just creating a script that simply enters the broadcast command into a fifo file every specified time
And even then I do not know how long it will take to write a script, maybe a day, maybe a week
Avatar
Avatar
Souly
thank you!
Avatar
Avatar
Solly
if theres not many players u can just photoshop it :P
kinda true, but its hard for me (no skill)
Avatar
Avatar
Solly
specially if we go upto 128 clients
I agree, that this might be viable with 128 players, since, as you already noticed, you'll have 128^2 = 16384 collision checks for players instead of 4096 curently at most
Avatar
Avatar
Tater
@Jupstar ✪ why is tee rendering so slow btw?
Jupstar ✪ 2024-12-12 09:42
Tbf I cannot say if the bottleneck is purely tee rendering. But generally in the player rendering pipeline you have a lot of unbatched draw calls. You first render the left hand + hook, then the right hand + weapon, then the player And this is repeated for all players on a per player basis. and even if you render one tee in a whole you still render 120 tees on its own, since all tees have different skins / weapon textures etc. (potentially) (edited)
Avatar
Hmm yeah it's a lot of draw calls I guess.
Avatar
Is anyone familiar with some good open source profiling tools for c++? I refuse VSC and the only other solution i found was Orbit from google
Avatar
Avatar
Assa
Is anyone familiar with some good open source profiling tools for c++? I refuse VSC and the only other solution i found was Orbit from google
Jupstar ✪ 2024-12-12 09:52
on linux u have perf (+ flamegraph), callgrind and i think gcc even has some integrated counter
Avatar
Also thinking about it, the client will suffer from the n^2 physics much more than the server right? Potentially it must do 1000ms/20=50 ticks of simulation for every actual tick due to prediction.
Avatar
oh that's good, going to look into that, thank you ❤️
Avatar
Avatar
Tater
Also thinking about it, the client will suffer from the n^2 physics much more than the server right? Potentially it must do 1000ms/20=50 ticks of simulation for every actual tick due to prediction.
Jupstar ✪ 2024-12-12 09:54
yeah, defs a big problem
Avatar
does the client check for collisions?
Avatar
Jupstar ✪ 2024-12-12 09:54
anti ping has to
yes 1
09:54
and local char pred
Avatar
It does almost everything
09:58
It would be nice if the server and client simply shared the same physics implementation. They're not really that far apart right now.
Avatar
they are mostly doing this, both client and server include collision and gamecore
09:59
but I agree, there could be a better separation
Avatar
Yeah but they duplicate all entities
Avatar
? they have to, they run on different machines. I don't get your point there
Avatar
I mean the code
10:00
There's a duplicate file for each entity
Avatar
Avatar
Assa
but I agree, there could be a better separation
I want less separation lol. None ideally
Avatar
I mean separation of the physics to the rest of the code
Avatar
slab a version on it and poof, backwards compatible physics
Avatar
The issue is cleanly integrating all the servers sideeffects in the physics in a way the client can ignore (edited)
10:03
Idk how ddpg does this tbh
10:03
Maybe you just probe the game state instead of triggering events (edited)
Avatar
I can tell you how I do it, physics are only done on base-entity-objects and entity-entity-interactions have callbacks
Avatar
Avatar
Tater
The issue is cleanly integrating all the servers sideeffects in the physics in a way the client can ignore (edited)
Jupstar ✪ 2024-12-12 10:06
you mean like random teleporters?
Avatar
Avatar
Jupstar ✪
you mean like random teleporters?
No like calling the function that saves your time to the database when you touch finish (edited)
Avatar
Jupstar ✪ 2024-12-12 10:07
ah, yeah the client simply has a dummy database that is disabled
10:07
in the end ddnet's database is also optional
Avatar
Avatar
Jupstar ✪
ah, yeah the client simply has a dummy database that is disabled
But that means the physics depends on the database implementation?
Avatar
Avatar
Tater
But that means the physics depends on the database implementation?
Jupstar ✪ 2024-12-12 10:08
database interactions are async to me
Avatar
Or you need a bunch of callbacks
Avatar
no, only on the interface
Avatar
Jupstar ✪ 2024-12-12 10:09
if they alter physics that cannot be predicted ofc xd
Avatar
GitHub BOT 2024-12-12 10:09
11ee49f Don't merge diffrent colored client msgs - SollyBunny 2ec51d7 Merge pull request #9383 from SollyBunny/dont_merge_diffrent_colored_client_msgs - Jupeyy
Avatar
Avatar
Tater
But that means the physics depends on the database implementation?
Jupstar ✪ 2024-12-12 10:09
ah there is an interface anyway
Avatar
Jupstar ✪ 2024-12-12 10:10
since wasm has no access to anything
10:10
you have to import host functions into the module anyway
10:10
and only the server gives access to anything real
Avatar
How many interfaces does the server need for the physics?
10:12
I have no estimate
Avatar
Jupstar ✪ 2024-12-12 10:13
currently it only has database and terminal (basic logging)
10:13
maybe it will need file access too, but ddnet doesnt 😄
10:13
(i think)
Avatar
terminal includes chat?
Avatar
Jupstar ✪ 2024-12-12 10:14
i meant like create logging
Avatar
But don't you need chat
Avatar
Avatar
Tater
But don't you need chat
Jupstar ✪ 2024-12-12 10:14
yes, it currently only gets chat commands
10:14
but chat for me is an input into the wasm module
10:15
if you mean that, then it ofc has lot more stuff
10:15
rcon commands etc.
10:15
the other way around is more interesting bcs it is more unsafe 😄
Avatar
Input into the module is different from an interface?
Avatar
Jupstar ✪ 2024-12-12 10:16
well i thought you meant, what the server can call outside of what wasm offers
10:16
But if the physics wants to say "player has finished" how does that happen
10:17
Idk what my question is anymore lol
Avatar
Jupstar ✪ 2024-12-12 10:18
well twgame for example uses a mpsc channel. The player hits the finish line -> then the player_tick or whatever checks for events in that channel and starts a database query.
10:18
and the query itself happens async
10:18
and the database query itself uses a database interface
10:18
the client uses a dummy database which implements that interface
10:19
except for the actual query all things happen inside the physics module tho
Avatar
Avatar
Jupstar ✪
except for the actual query all things happen inside the physics module tho
What doesn't happen in the physics module then?
10:22
I thought it was very limited
Avatar
Avatar
Tater
I thought it was very limited
Jupstar ✪ 2024-12-12 10:22
i mean what does limited mean. wasm allows you to basically do anything that doesnt require a kernel call (even allocations)
10:22
so you couldn't just do a http request
Avatar
Snapshot packets?
10:23
ok
Avatar
Avatar
Tater
Snapshot packets?
Jupstar ✪ 2024-12-12 10:23
ah that happens indeed outside of it
10:23
well no
10:23
50:50 the snapshot binary data is inside the physics module. but the compression / binary diff etc happen outside
Avatar
How can you require a database interface on the client if this module is supposed to be sent over the network. Does that mean servers need to use the standard interface?
Avatar
Avatar
Tater
How can you require a database interface on the client if this module is supposed to be sent over the network. Does that mean servers need to use the standard interface?
Jupstar ✪ 2024-12-12 10:28
The wasm module has imports, which are functions inside a wasm module without a state or anything else. so e.g. you do call_sql("SELECT ..") inside the wasm module. and then inside the host you can do with that information whatever you want. The client simply returns an error that this is unsupported. This is very simplified, bcs i abstracted these simple functions away using derive macros, in the end it feels more like you use a instance of a database object. so you do object.query(my_statement) and the rest happens hidden away from the user
Avatar
ok that makes sense
Avatar
Avatar
Tater
They all write the colors to the texture directly I'm pretty sure
the color is added in the shader. the client doesn't use texture atlasses, probably because the colors might leak over (?)
Avatar
Avatar
Patiga
the color is added in the shader. the client doesn't use texture atlasses, probably because the colors might leak over (?)
Not even for the tile atlases?
10:33
Those get separate textures?
Avatar
Avatar
Tater
Also thinking about it, the client will suffer from the n^2 physics much more than the server right? Potentially it must do 1000ms/20=50 ticks of simulation for every actual tick due to prediction.
Jupstar ✪ 2024-12-12 10:35
btw with 128 tees that do random inputs on ctf1 i get an avg of: 28601 t/s 29154 t/s with the non O(n²) approach Which surprises me, this is like 2x more than i had a month ago lol. Time to git bisect xd But defs worth to optimize it ig
Avatar
Avatar
Tater
Not even for the tile atlases?
those are texture arrays. those are great and work well with same-sizes textures
Avatar
Avatar
Jupstar ✪
btw with 128 tees that do random inputs on ctf1 i get an avg of: 28601 t/s 29154 t/s with the non O(n²) approach Which surprises me, this is like 2x more than i had a month ago lol. Time to git bisect xd But defs worth to optimize it ig
This sounds high but it limits perceived smoothness to 29000/50 "fps" if you do it on the same thread
10:38
which is probably fine
Avatar
Avatar
Jupstar ✪
Tbf I cannot say if the bottleneck is purely tee rendering. But generally in the player rendering pipeline you have a lot of unbatched draw calls. You first render the left hand + hook, then the right hand + weapon, then the player And this is repeated for all players on a per player basis. and even if you render one tee in a whole you still render 120 tees on its own, since all tees have different skins / weapon textures etc. (potentially) (edited)
what if all parts of tee will render batched?
Avatar
Avatar
Tater
This sounds high but it limits perceived smoothness to 29000/50 "fps" if you do it on the same thread
Jupstar ✪ 2024-12-12 10:38
yep, kinda sad, but i'd assume ddnet does much worse even
Avatar
Not many people are playing with 1000ms
Avatar
is it the same in terms of visuals
Avatar
Avatar
zhn
what if all parts of tee will render batched?
Jupstar ✪ 2024-12-12 10:38
Am i a fortune teller xD
10:38
it's first of all not easy
10:39
skins can have hd variants so texture arrays are not really usable
Avatar
Avatar
Jupstar ✪
Am i a fortune teller xD
you are troll
Avatar
Jupstar ✪ 2024-12-12 10:39
on high end gpus u can probably bind like 200 textures at once
Avatar
Avatar
Jupstar ✪
yep, kinda sad, but i'd assume ddnet does much worse even
The teero tater client has identical physics at 3x+ the speed of the github one but I don't want to publish these changes because it only helps botters lol
Avatar
Jupstar ✪ 2024-12-12 10:39
in one shader
Avatar
Avatar
Tater
The teero tater client has identical physics at 3x+ the speed of the github one but I don't want to publish these changes because it only helps botters lol
Jupstar ✪ 2024-12-12 10:40
yep, but i guess yours is mostly optimized for single player
Avatar
can you dynamically select one?
Avatar
Jupstar ✪ 2024-12-12 10:40
e.g. a pickup also goes through all characters in cpp version
Avatar
Avatar
Patiga
can you dynamically select one?
Jupstar ✪ 2024-12-12 10:40
afaik there are at least extensions for that
Avatar
oh neat
Avatar
But now I'm leaking
10:41
xd
Avatar
Original message was deleted or could not be loaded.
Jupstar ✪ 2024-12-12 10:41
i see
Avatar
Avatar
Tater
But now I'm leaking
Jupstar ✪ 2024-12-12 10:42
we can switch to a different chat
Avatar
There's nothing too ground breaking I just look at the profiler and optimize the expensive parts over and over
Avatar
Jupstar ✪ 2024-12-12 10:43
yeah i basically did the same
10:43
but i cannot fully trust the flamegraph i use XD it 100% wasnt so fast a month ago
10:43
and i only rewrote other stuff than physics
Avatar
Quad tree or spatial hashing would eliminate n^2 but idk if you can have collision order perfect consistency with the slow version (edited)
Avatar
Avatar
Tater
Quad tree or spatial hashing would eliminate n^2 but idk if you can have collision order perfect consistency with the slow version (edited)
Jupstar ✪ 2024-12-12 10:45
i mean collision order in ddnet is just the client id sorted or not?
Avatar
Jupstar ✪ 2024-12-12 10:45
it always does for i < MAX_CLIENTS ..
Avatar
There's 2 currently
10:45
There's client ID and week strong order
10:45
Both affect physics
Avatar
Jupstar ✪ 2024-12-12 10:45
yeah but week strong still exists in my version too
10:46
i only optimized the fetching of which ids are interesting
Avatar
Jupstar ✪ 2024-12-12 10:49
i mean it scales better than lineary now. 64 tees are more efficient to calculate than 1 tee
10:49
so it must work ig xd
10:49
(if i just divide the ticks/s with 64)
Avatar
You did something special for tee checking?
Avatar
Avatar
Jupstar ✪
i mean it scales better than lineary now. 64 tees are more efficient to calculate than 1 tee
Wait better than linear???
10:50
That's impossible lol
Avatar
Avatar
Tater
You did something special for tee checking?
Jupstar ✪ 2024-12-12 10:51
yeah, i created a world field where every tile contains the ids of the current tees inside the tile. as long as you don't stack redicolously, like 128 tees in 1 tile, this removes the O(n²) and is O(n)
Avatar
Avatar
Tater
Wait better than linear???
Jupstar ✪ 2024-12-12 10:51
i mean there is other overhead than physics in the whole tick
10:51
so maybe it's possible
Avatar
Avatar
Jupstar ✪
yeah, i created a world field where every tile contains the ids of the current tees inside the tile. as long as you don't stack redicolously, like 128 tees in 1 tile, this removes the O(n²) and is O(n)
O(n) is linear
Avatar
Avatar
Tater
O(n) is linear
Jupstar ✪ 2024-12-12 10:51
yes
10:51
i mean the actual results xD
10:52
like with 1 tee i have 350k ticks with 64 i have 40k ticks
Avatar
Well that's C + O(n)
Avatar
Jupstar ✪ 2024-12-12 10:52
350000/64 = 5468.75
Avatar
Avatar
Jupstar ✪
yeah, i created a world field where every tile contains the ids of the current tees inside the tile. as long as you don't stack redicolously, like 128 tees in 1 tile, this removes the O(n²) and is O(n)
So what method do you use for moving tees
Avatar
Avatar
Tater
So what method do you use for moving tees
Jupstar ✪ 2024-12-12 10:53
you mean move_box?
10:54
or inside the field?
Avatar
No for tee<->tee
10:54
Like if a tee moves across multiple tiles in 1 tick, you have to check all of them
Avatar
Jupstar ✪ 2024-12-12 10:54
to sum it up shortly: i get a list of all ids of neighbouring tiles of the current tees position
Avatar
This is just spatial hashing tho right?
Avatar
Jupstar ✪ 2024-12-12 10:55
kinda
Avatar
How it is not
Avatar
Jupstar ✪ 2024-12-12 10:57
i dunno, i dont have an exact defintion, but yeah it looks similar
10:58
i guess since tees are always a circle you don't need them to be in mutliple tiles at once
Avatar
Jupstar ✪ 2024-12-12 10:59
i'd say so xd
Avatar
I guess TW has no unskippable interactions with entities right?
11:00
So you skip needing to do intersection over buckets to find fast collisions (edited)
Avatar
Avatar
Jupstar ✪
i guess since tees are always a circle you don't need them to be in mutliple tiles at once
I think you're just assuming a maximum object size with this
11:04
You can use a bigger radius for all collisions to avoid figuring out how many buckets they should be in
Avatar
Avatar
Tater
Wait better than linear???
It's asymptotically linear but for a normal number of tees you're not reaching that asymptote
Avatar
Better than linear observed performance is possible with an apparently linear algorithm because of many reasons. The algorithms are usually not linear over their whole domain but only after a certain limit. The compiler can aggressively vectorize giving similar performance for a couple n in a row
11:05
Many others
Avatar
Avatar
risu
It's asymptotically linear but for a normal number of tees you're not reaching that asymptote
Scaling doesn't factor the constant cost in the calculation so you ignore the overhead
11:06
Wait! (edited)
11:06
@Jupstar ✪ how do you have laser walls and those things
11:06
They will break your 1 bucket per item model
Avatar
Avatar
Tater
@Jupstar ✪ how do you have laser walls and those things
Jupstar ✪ 2024-12-12 11:06
what is that? i implemented vanilla 😬
Avatar
Avatar
Tater
@Jupstar ✪ how do you have laser walls and those things
Jupstar ✪ 2024-12-12 11:07
but anyway, most entities only check for itself<->character collision or not?
11:07
i dont know any entity that does entity<->entity collision
Avatar
Its still n*m (edited)
11:07
For map lasers
Avatar
Jupstar ✪ 2024-12-12 11:08
but why
Avatar
how else?
Avatar
Jupstar ✪ 2024-12-12 11:08
you have n lasers, but only check for the characters in range
Avatar
Avatar
Jupstar ✪
i dont know any entity that does entity<->entity collision
There are currently none. But I guess you do preclude them from existing in future mods too
Avatar
Jupstar ✪ 2024-12-12 11:08
which is O(1)
Avatar
Every tee has to check every laser once per tick
Avatar
Avatar
Tater
Every tee has to check every laser once per tick
Jupstar ✪ 2024-12-12 11:08
but doesnt ever laser check for all characters in range instead?
11:09
or wait
11:09
is that part of the movement?
11:09
of a char
Avatar
It is part of movement
Avatar
Jupstar ✪ 2024-12-12 11:09
i see
Avatar
Currently lasers aren't checked like that iirc. They insert imaginary stoppers
11:09
It's not a real entity<->entity collision
Avatar
Jupstar ✪ 2024-12-12 11:10
well we'll find a solution for them if the time comes xD
11:10
but yeah they sound like they always consume a tile, similar to any tiles
11:10
ok they can be diagonal right
11:10
that ofc sucks
Avatar
I mean fully correct spatial hashing is a valid solution
Avatar
Jupstar ✪ 2024-12-12 11:11
but in worst case you could assume their length is treated as the diameter?
Avatar
Its not that hard
Avatar
Avatar
Jupstar ✪
but in worst case you could assume their length is treated as the diameter?
Yes
Avatar
Avatar
Tater
I mean fully correct spatial hashing is a valid solution
Jupstar ✪ 2024-12-12 11:12
sure, could try that some day
Avatar
But 1 tile size is small tbh
Avatar
Jupstar ✪ 2024-12-12 11:12
for now i just wanted 2000 tees on my screen xd
Avatar
Quad tree is like a fancier version you get to have small and big buckets, at more cost. But it's probably not worth it at all for just the lasers
11:14
They can just update a few dozens buckets per tick
Avatar
I've stared at this problem for a while now. Quadtrees are not great for this usecase. Updating them is too annoying
Avatar
I mean Jupstar has apparently already proved you don't need it
11:17
Spatial hashing is good enough
Avatar
I mean teeworlds has also proven that you can get away with O(n^2) for a loooong time
Avatar
well with n=<64 you can do almost anything
11:18
if grenades would collide with each other this wouldn't be viable lol
Avatar
Avatar
Tater
They can just update a few dozens buckets per tick
Shouldn't you instead only be updating the smallest node of the tree that contains the laser? I guess you'll get less fine grained collisions that way so it's a trade-off between a more complex update and more expensive collisions
Avatar
Avatar
risu
Shouldn't you instead only be updating the smallest node of the tree that contains the laser? I guess you'll get less fine grained collisions that way so it's a trade-off between a more complex update and more expensive collisions
There is no tree
Avatar
I'm just thinking that in realistic play scenarios the more expensive collisions won't be expensive at all
Avatar
Avatar
Jupstar ✪
btw with 128 tees that do random inputs on ctf1 i get an avg of: 28601 t/s 29154 t/s with the non O(n²) approach Which surprises me, this is like 2x more than i had a month ago lol. Time to git bisect xd But defs worth to optimize it ig
Jupstar ✪ 2024-12-12 11:19
So to correct my intial wrong benchmark: 6442 t/s 6678 t/s Which is still quite good if we assume the 1p vs 128p bencmark
11:19
But still much less
Avatar
Quadtrees and spatial hashing are broad passes of collision. It's to cull things that you can't possibly collide with. So they wouldn't change the "resolution" of it
Avatar
Avatar
risu
Shouldn't you instead only be updating the smallest node of the tree that contains the laser? I guess you'll get less fine grained collisions that way so it's a trade-off between a more complex update and more expensive collisions
Replying to this "fine grained" comment
11:21
At the end of the day you just have to do the box/sphere/capsule/whatever collision check
Avatar
Avatar
Learath2
Replying to this "fine grained" comment
I mean, the tree consists of a bunch of different sized quads, so depending on which size you're comparing against you'll get information that's of different levels of usefulness
Avatar
Jupstar ✪ 2024-12-12 11:22
One thing is for certain. if all 128p in ddnet would be active at the same time and collide with each other, we probably have super bad performance xD
Avatar
point being that lasers would naturally be placed in much larger quads
Avatar
Jupstar ✪ 2024-12-12 11:22
so PSSST
Avatar
I feel like calculating the collisions of 128 players should be no problem at all, but calculating the result of those collisions might be depending on how it's done
Avatar
Avatar
risu
I feel like calculating the collisions of 128 players should be no problem at all, but calculating the result of those collisions might be depending on how it's done
Jupstar ✪ 2024-12-12 11:24
but you calculate it a few houndred times on the client
Avatar
If your tree has quads that are very small your broadpass eliminates a lot, but your updates get expensive. If they are very large it degenerates to current ddnet situation
Avatar
Jupstar ✪ 2024-12-12 11:24
100*128 = ?
Avatar
So there is a balance there
Avatar
Avatar
Jupstar ✪
So to correct my intial wrong benchmark: 6442 t/s 6678 t/s Which is still quite good if we assume the 1p vs 128p bencmark
This is still actually quite good I didn't do the math on your previous one but it would have been insane lol
Avatar
Avatar
Tater
This is still actually quite good I didn't do the math on your previous one but it would have been insane lol
Jupstar ✪ 2024-12-12 11:24
yeah i added spectator slots recently and didnt update the benchmark lol xD
11:24
pros at work
Avatar
Avatar
Jupstar ✪
One thing is for certain. if all 128p in ddnet would be active at the same time and collide with each other, we probably have super bad performance xD
I think 128 still doesn't completely break. I remember someone testing it with just tees dumped into the start of a map
Avatar
Avatar
Jupstar ✪
yeah i added spectator slots recently and didnt update the benchmark lol xD
How fast is your single tee
Avatar
Avatar
Jupstar ✪
but you calculate it a few houndred times on the client
that's still on the order of tens of thousands, should be doable in less than a millisecond if you do it right, right?
Avatar
256 is where it starts breaking down and 512 is barely still working iirc
Avatar
Avatar
risu
that's still on the order of tens of thousands, should be doable in less than a millisecond if you do it right, right?
Wym by do it right? I'm guessing Jupstar is more talking about the current situation. There are obv ways to do it properly and handle far more
Avatar
I'm just not exactly seeing the reason why we can't do it properly, so I'm assuming there's something fundamentally difficult about keeping identical behaviour
Avatar
Avatar
Tater
How fast is your single tee
Jupstar ✪ 2024-12-12 11:27
around 350k. And the flamegraph shows that most is spend in the pickups. so since it's vanilla and ctf1 you can do your own math. If i disable that i get around 500k
Avatar
ok im pretty impressed by your "super linear" performance
11:29
should I be using multiple tees in the same gameworlds to get more ticks/s?
11:29
lol
Avatar
Jupstar ✪ 2024-12-12 11:29
lmao
11:30
i guess it's fair to say that with few tees, other factors like player ticks etc. also have a small impact
Avatar
If your previous benchmark was real it would be 3.5 million tee ticks/s lol
Avatar
I think we can pump those numbers up
Avatar
With multi threading yes
Avatar
TPS: tees per second
Avatar
Multi threaded collision is a thing as well if we want 10,000s of tees
Avatar
Avatar
risu
I'm just not exactly seeing the reason why we can't do it properly, so I'm assuming there's something fundamentally difficult about keeping identical behaviour
The reason is that the ROI is low on doing it properly. 64p works just fine. 128p also works pretty acceptably which is our next stop. So migrating to a full spatial hashing or quadtree solution would just be a marginal performance improvement on the server side
Avatar
Jupstar ✪ 2024-12-12 11:34
water simulation tee edition
Avatar
Avatar
Jupstar ✪
water simulation tee edition
YES
Avatar
Avatar
Tater
Multi threaded collision is a thing as well if we want 10,000s of tees
You can't really do this well deterministically, the only option seems to be maintaining islands of tees that you simulate separately, but you need to be careful with moving tees between them as it will require locking and blocking if not done properly
Avatar
Avatar
Learath2
The reason is that the ROI is low on doing it properly. 64p works just fine. 128p also works pretty acceptably which is our next stop. So migrating to a full spatial hashing or quadtree solution would just be a marginal performance improvement on the server side
Jupstar ✪ 2024-12-12 11:35
it might really already be needed now. if someone has prediction_margin of like 200 and zooms out, good bye xd
Avatar
What would happen if you pumped high pressure tee into the spawn point of Multeasymap? Would some of it eventually finish?
Avatar
Avatar
Jupstar ✪
it might really already be needed now. if someone has prediction_margin of like 200 and zooms out, good bye xd
Yeah the client running the physics aswell is a bit of an issue. I can only advise them to not do that 😄
Avatar
Avatar
risu
What would happen if you pumped high pressure tee into the spawn point of Multeasymap? Would some of it eventually finish?
Jupstar ✪ 2024-12-12 11:36
this is a funny experiment ngl xd
Avatar
Avatar
Learath2
Yeah the client running the physics aswell is a bit of an issue. I can only advise them to not do that 😄
Its a good model tho. The client should run physics as many AAA games do
Avatar
If anyone wants to do it properly it'll definitely be accepted as a PR. The hardest part is reviewing it since we don't currently have the capability of replaying teehistorian files to check nothing broke
Avatar
I think the client could potentially cull tees that are far away for prediction if it becomes an issue (edited)
Avatar
Avatar
Tater
Its a good model tho. The client should run physics as many AAA games do
I meant as in not set prediction margin so high then zoom all the way out
11:38
Running the physics on the client aswell is sane and the correct(tm) thing to do
Avatar
Avatar
Jupstar ✪
this is a funny experiment ngl xd
Now the real question: How high should the flow rate be for the pumped tee fluid to achieve a finish faster than a 63 player server of average Multeasy players?
nouis 1
Avatar
Avatar
risu
Now the real question: How high should the flow rate be for the pumped tee fluid to achieve a finish faster than a 63 player server of average Multeasy players?
Now that is one demo I would love to see
Avatar
Avatar
Learath2
I meant as in not set prediction margin so high then zoom all the way out
Prediction margin is capped at 300 now so the real issue is the 4000ms ping cap
Avatar
Keep pumping tees at the start. See how fast you need to spawn tees to get an average finish
Avatar
Jupstar ✪ 2024-12-12 11:40
i found a new elevator. The tee popping one
Avatar
Avatar
risu
Now the real question: How high should the flow rate be for the pumped tee fluid to achieve a finish faster than a 63 player server of average Multeasy players?
I'm not sure any number is faster with current physics, the tees don't push each other than fast
Avatar
ok now make each tee in the fluid hammer in a random direction once every 10 seconds
11:41
oh wait the mazes would immediately stop the fluid on multeasy
Avatar
Would be better on aip gores
Avatar
yeahhh
11:42
needs to be a simple map without no collision or large areas of tele backwards
11:43
though tele backwards with ever increasing tee pressure could be funny to see
Avatar
morning
Avatar
Jupstar ✪ 2024-12-12 11:52
hai
Avatar
ws-client BOT 2024-12-12 12:17
<ChillerDragon> @Avolicious will there be a irc bridge for kog?
12:17
<ChillerDragon> [client] got disconnect from server. reason: You have been banned (IP banned! Open a ticket on https://discord.kog.tw/)
12:17
<ChillerDragon> 88.198.96.203
Avatar
Avatar
ws-client
<ChillerDragon> @Avolicious will there be a irc bridge for kog?
Avolicious 2024-12-12 12:20
Mhmmm I guess not
12:21
You cant use Hetzner ips to join our servers
Avatar
ws-client BOT 2024-12-12 12:24
<ChillerDragon> where can i apply for a whitelist?
12:25
<ChillerDragon> @Avolicious its my ip it will not change and i host my vpn there
Avatar
If we whitelisted every person having a static hosting IP, our poor admins would go monkey brain creating exceptions
12:26
I assume it's something similar for kog
Avatar
Avolicious 2024-12-12 12:27
I've added the IP to the allowlist for now, needs now a few minutes to populate across the system
Avatar
ws-client BOT 2024-12-12 12:27
<ChillerDragon> If you dont have the staff to create exceptions you should disable ip blocking otherwise users cant use vpns
Avatar
Avatar
meloƞ
If we whitelisted every person having a static hosting IP, our poor admins would go monkey brain creating exceptions
Avolicious 2024-12-12 12:27
Thats true tho
giftee_green 1
Avatar
Avatar
ws-client
<ChillerDragon> If you dont have the staff to create exceptions you should disable ip blocking otherwise users cant use vpns
Avolicious 2024-12-12 12:27
We dont want people with vpn
12:27
thats the whole purpose
Avatar
ws-client BOT 2024-12-12 12:27
<ChillerDragon> @Avolicious so nice of you thanks
12:28
<ChillerDragon> i assume you dont want vpns so that you can identify users based on their ip you can still identify me with the ip pointing to zillyhuhn.com
Avatar
Avolicious 2024-12-12 12:29
I dont care about any identification from our side ^^
Avatar
ws-client BOT 2024-12-12 12:29
<ChillerDragon> what do you care about then?
Avatar
Avolicious 2024-12-12 12:29
Banning vpns to make it harder to avoid bans
Avatar
ws-client BOT 2024-12-12 12:29
<ChillerDragon> yea avoiding bans is also what i mean by identifying
12:30
<ChillerDragon> if you ban my ip i can not avoid the ban
12:30
<ChillerDragon> but now i can secure my confidental kog credentials in public wifis
Avatar
Avolicious 2024-12-12 12:30
I dont ban per ip
Avatar
ws-client BOT 2024-12-12 12:30
<ChillerDragon> based on what do you ban?
Avatar
Avolicious 2024-12-12 12:31
The whole hetzner AS is banned
12:31
all their ip ranges
Avatar
(because there are no ddnet players playing from inside a hetzner datacenter)
12:31
😄
Avatar
ws-client BOT 2024-12-12 12:31
<ChillerDragon> @Learath2 there should be
12:31
<ChillerDragon> selfhosting vps is a thing
Avatar
In general it's 99% of the time a VPN
12:32
For the 1% of the time where the players are selfhosting a vpn, we have a whitelist
Avatar
ws-client BOT 2024-12-12 12:33
<ChillerDragon> yes and vpns are good for the security and privacy of the player and should be allowed by the server
12:33
<ChillerDragon> @Learath2 how do i get on the whitelist?
Avatar
Clearly the real solution is accounts
Avatar
Avatar
risu
Clearly the real solution is accounts
Avolicious 2024-12-12 12:33
Its not 🙂
12:34
Accounts can be created very easily like you can use a vpn
12:34
Its just an additional layer to bypass
Avatar
ws-client BOT 2024-12-12 12:34
<ChillerDragon> paid accounts it is then
Avatar
clearly we just need players to supply ID :D :D :D
12:35
$1 for an account and only one account per card
Avatar
This command was not found.
Avatar
Avatar
ws-client
<ChillerDragon> @Learath2 how do i get on the whitelist?
You open a ticket
Avatar
Avolicious 2024-12-12 12:35
Chiller, please never talk about privacy if you want paid accounts 🤣
Avatar
ws-client BOT 2024-12-12 12:35
<ChillerDragon> @Avolicious pay in cash is of course an option
12:35
<ChillerDragon> @Learath2 how?
Avatar
Avolicious 2024-12-12 12:35
But this is also a privacy issue if you pay in cash. I can identify you then
Avatar
In this day and age I think it's about time we start introducing real id solutions for some things
Avatar
ws-client BOT 2024-12-12 12:36
<ChillerDragon> @Avolicious how o.O
Avatar
Avatar
Avolicious
But this is also a privacy issue if you pay in cash. I can identify you then
He can mail you cash with no return address
Avatar
Avatar
Learath2
In this day and age I think it's about time we start introducing real id solutions for some things
ok but regulating things properly makes them less fun :(
Avatar
That's how mullvad took cash payments for a while
Avatar
Avatar
Learath2
He can mail you cash with no return address
Avolicious 2024-12-12 12:36
True, but he is on the postal camera then
12:36
Identified by Deutsche Post
Avatar
Avatar
risu
ok but regulating things properly makes them less fun :(
We had enough fun, people calling other people racial slurs is so 2009
Avatar
Avatar
Avolicious
Identified by Deutsche Post
He can wear a mask and drop it off into a postal box outside
Avatar
ws-client BOT 2024-12-12 12:37
<ChillerDragon> but you cant see the footage @Avolicious and even if you can see it you cant identify me
Avatar
Avatar
ws-client
<ChillerDragon> but you cant see the footage @Avolicious and even if you can see it you cant identify me
Avolicious 2024-12-12 12:37
I already did & talked with you about that xD
12:37
I just dont wanna expose anything
Avatar
ws-client BOT 2024-12-12 12:37
<ChillerDragon> @Learath2 imagine going to the postal office once a week with a ski mask to buy new accounts for botting on gores
Avatar
If there's a realistic way to universally deanonymize communications on the internet then everyone and their neighbour's dog is going to start requiring it to use their services...
Avatar
idk if germany still has them actually, but in italy we still do have some postboxes around
Avatar
Avolicious 2024-12-12 12:37
But we talked some days back
12:37
about how I did
Avatar
ws-client BOT 2024-12-12 12:38
<ChillerDragon> @Avolicious what? rly
Avatar
Avatar
ws-client
<ChillerDragon> @Avolicious what? rly
Avolicious 2024-12-12 12:38
Yes
Avatar
ws-client BOT 2024-12-12 12:38
<ChillerDragon> i dont recall at all
12:38
<ChillerDragon> are you sure you talked about it with me?
Avatar
Avatar
ws-client
<ChillerDragon> are you sure you talked about it with me?
Avolicious 2024-12-12 12:38
Yes
Avatar
ws-client BOT 2024-12-12 12:38
<ChillerDragon> you can identify people based on a picture?
Avatar
Avolicious 2024-12-12 12:38
I will tell you ingame in whisper
Avatar
Avatar
risu
If there's a realistic way to universally deanonymize communications on the internet then everyone and their neighbour's dog is going to start requiring it to use their services...
I don't want to deanonymize in all cases. Usually all you need is a token that this is a real person, sadly no government really provides this service
Avatar
ws-client BOT 2024-12-12 12:38
<ChillerDragon> @Avolicious ok join me in game
12:39
<ChillerDragon> 88.198.96.203:8303 libre server with vpns allowed!
Avatar
A token that allows you to prove that you are a single human that has never registered on my service before
12:40
one that I can submit to the govt, and the govt can verify that it is a single person without knowing who that single person is
Avatar
Avolicious 2024-12-12 12:41
Zero Knowledge Proof
Avatar
I guess it would work if the individual had to generate a new token for every service, so they can't be tracked across services
Avatar
I should sit down and figure out how one might structure such a service actually. 0 knowledge proof of being a human person
Avatar
Avatar
risu
I guess it would work if the individual had to generate a new token for every service, so they can't be tracked across services
The only issue is how such a token could be verified to be legitimate without exposing to the govt who that person is, so they can't track it either
Avatar
Avatar
Learath2
I should sit down and figure out how one might structure such a service actually. 0 knowledge proof of being a human person
Avolicious 2024-12-12 12:43
Before doing that, please add this finish db so we can show the flag next to the map if a player finished
Avatar
Avatar
Avolicious
Before doing that, please add this finish db so we can show the flag next to the map if a player finished
I quit my job, so I'll have more time very soon 😄
Avatar
Avolicious 2024-12-12 12:43
You dont need to quit your job
Avatar
Avatar
Learath2
The only issue is how such a token could be verified to be legitimate without exposing to the govt who that person is, so they can't track it either
oh yeah I'd be devastated if my government knew I played DDNet oh wait I connect to your servers all the time so they know anyways I guess this is how that relates to the VPN issue (edited)
Avatar
Avolicious 2024-12-12 12:43
Just 3 http endpoints
12:43
Add, delete, update
Avatar
Avatar
Avolicious
Just 3 http endpoints
That part would take like 2 hours, that's not the issue. The internal part needs some thinking
12:46
The server needs to expose an internal interface that allows our python info script to query it and that python info script needs modifying too
12:46
Anyway, not too difficult. I just did not have the time
Avatar
Who can create a script for fifo?
Avatar
ws-client BOT 2024-12-12 13:52
<ChillerDragon> @Avolicious could you add this to kog o.O https://github.com/ddnet/ddnet/pull/8866
greensward is not a official teeworlds skin. But it comes pre installed in 4 custom 0.7 clients so the translation will display the correct skin for users of one of those clients: gamer ddnet F-Cl...
💀 1
Avatar
justatest chillerdragon specific feature
Avatar
Avatar
ws-client
<ChillerDragon> @Avolicious could you add this to kog o.O https://github.com/ddnet/ddnet/pull/8866
iMilchshake 2024-12-12 14:12
as a fellow greensward enjoyer i love this, greensward should just be a default skin at this point owo
👍 1
Avatar
Jupstar ✪ 2024-12-12 14:17
as a passionate greensward hater, it should not 😏
Avatar
wow greensward is a great skin I didn't even know about that one
Avatar
ws-client BOT 2024-12-12 14:49
<ChillerDragon> Well I did make an attempt to make it an official skin. And that resulted in the skin swardy being added...
KEKW 5
Avatar
greensward is just chiller skin at this point
Avatar
Using this skin since 6 years. And can highly recommend it. Created by Whis and part of the DDNet 0.6 client. Whis gave me full permission to contribute this skin to the official client.
Avatar
how u doing
18:37
Avatar
My chat input clears itself while writing, restarting the client fixes it but its annoying
18:40
Anyone else experience this?
Avatar
Avatar
zaer1n
My chat input clears itself while writing, restarting the client fixes it but its annoying
Are you writing in a language that requires IME support? Like Chinese, Japanese, Korean, or maybe something with an Arabic script?
Avatar
Avatar
Learath2
Are you writing in a language that requires IME support? Like Chinese, Japanese, Korean, or maybe something with an Arabic script?
Turkish characters at most but I remember it happening while only writing english too (edited)
Avatar
Hm, Turkish characters shouldn't cause this anyway. What do you mean by "clears itself"?
Avatar
Avatar
Learath2
Hm, Turkish characters shouldn't cause this anyway. What do you mean by "clears itself"?
for example while writing "hello world", the input gets cleared after I write "hel"
18:44
sometimes allows more characters then clears
18:44
sometimes only 1
Avatar
does the chat prompt stay open or does it go away?
Avatar
Avatar
Learath2
does the chat prompt stay open or does it go away?
it stays open (edited)
Avatar
Can you type more or is it stuck?
Avatar
I can keep typing but the above problem keeps repeating
Avatar
One more question, is the clearing instant or does it delete characters one by one?
Avatar
instant
18:46
I couldnt record it sorry
Avatar
Hm, @Robyt3 I think you touched the text input last, does this sound like anything you can think of?
Avatar
Doesn't sound familiar. @zaer1n Does it work with any older version from https://ddnet.org/downloads ?
Avatar
Avatar
Robyt3
Doesn't sound familiar. @zaer1n Does it work with any older version from https://ddnet.org/downloads ?
Didnt try older clients
18:50
happens since 18.6 or 18.7 I cant really remember
18:50
I cant reproduce it too
18:50
just happens randomly
Avatar
@Robyt3 @Learath2 It happened again, can I show it in screen share? found the trigger too (edited)
Avatar
Avatar
zaer1n
@Robyt3 @Learath2 It happened again, can I show it in screen share? found the trigger too (edited)
Please record a video if you can
Avatar
And what's the trigger? If it happens consistently you could test with older versions to find the first version where it's broken
Avatar
Avatar
Robyt3
And what's the trigger? If it happens consistently you could test with older versions to find the first version where it's broken
its in the video, my shitty internet doesnt upload it
Avatar
Avatar
Robyt3
Please record a video if you can
Avatar
Avatar
zaer1n
Click to see attachment 🖼️
Looks like a bug with your snipping tool
Avatar
is it tater client? maybe tater might have a clue
Avatar
Avatar
Learath2
is it tater client? maybe tater might have a clue
its tclient in the video
19:38
Tested with ddnet 18.7 still happens
19:38
just noticed other text inputs are affected too
Avatar
Avatar
zaer1n
Click to see attachment 🖼️
@Tater
Avatar
Avatar
zaer1n
Tested with ddnet 18.7 still happens
No it happens with normal ddnet client too ^
Avatar
Did it work with any previous version? Since it happens after using the clipping tool I'll blame the clipping tool for grabbing the focus incorrectly
20:00
justatest
Avatar
Avatar
Robyt3
Did it work with any previous version? Since it happens after using the clipping tool I'll blame the clipping tool for grabbing the focus incorrectly
@meloƞ how do I try older versions 😭
Avatar
Avatar
zaer1n
@meloƞ how do I try older versions 😭
Avatar
laughs in nixos roby kek { config, pkgs, ... }: { nixpkgs.overlays = [ (self: super: { ddnet = super.ddnet.overrideAttrs (oldAttrs: { version = "16.0"; src = pkgs.fetchFromGitHub { owner = "DDNet"; repo = "ddnet"; rev = "16.0"; sha256 = ""; build once, get shasum, (or prefetch it), insert it, and run
Avatar
nankudo ᵃᵗᵗᵃᶜᵏ 2024-12-12 20:27
hi, how i can set direction of walk tee? i’m trying use controls->minputdata->direction, but he not walking (Controls()->m_aInputData[g-Config.m_ClDummy].m_Direction = 1;) (edited)
20:31
20:32
he seems to be trying to walk, but he doesn't
Avatar
pls dont alter your input on our official servers! - this will get you banned pretty quickly.
20:33
in general questions towards automation or input modification are usually not answered here.
Avatar
Avatar
meloƞ
in general questions towards automation or input modification are usually not answered here.
*not allowed
Avatar
nankudo ᵃᵗᵗᵃᶜᵏ 2024-12-12 20:34
this is don’t official server
20:34
😔
Avatar
Don't Client
Avatar
Avatar
Teero
*not allowed
my second answer was ackhtuhally targetted towards his question, not whether or not we even allow that 🤓 (edited)
Avatar
Avatar
meloƞ
in general questions towards automation or input modification are usually not answered here.
nankudo ᵃᵗᵗᵃᶜᵏ 2024-12-12 20:36
oh, okay
Avatar
Bors Matyas 2024-12-12 20:47
can i ask a quick question? when will there be: levels, leveled up by completeing maps. harder maps are locked for higher levels payed skins, you only own the basic skin by default, you can buy skins with real money gatcha system: the good skins are locked behind a gatcha system, where you open loot boxes and have to open 100 to get the skin you want
Avatar
@Jupstar ✪ ^ NOTED
Avatar
Avatar
Bors Matyas
can i ask a quick question? when will there be: levels, leveled up by completeing maps. harder maps are locked for higher levels payed skins, you only own the basic skin by default, you can buy skins with real money gatcha system: the good skins are locked behind a gatcha system, where you open loot boxes and have to open 100 to get the skin you want
finally we can introduce gambling to children (edited)
Avatar
Bors Matyas 2024-12-12 20:48
😄
Avatar
level up things is currently not planned on ddnet. you could make a #town-hall thread if you are invested in it. payed skins are also not planned. and a gacha system is a bad idea in any way.
👍 1
Avatar
Avatar
Teero
level up things is currently not planned on ddnet. you could make a #town-hall thread if you are invested in it. payed skins are also not planned. and a gacha system is a bad idea in any way.
no no, we add lootboxes and hats and DDNet will be the next hot thing in no time
20:52
(I still kinda think that hats could be fun)
Avatar
Avatar
risu
no no, we add lootboxes and hats and DDNet will be the next hot thing in no time
yea yea exactly xD then you only need to have an infrastructure that supports 200000 tees
20:52
which we don't have
Avatar
ok but imagine the infinite money
Avatar
Avatar
risu
(I still kinda think that hats could be fun)
hats would be cool. decorations in any form would be
Avatar
Just set up more servers :D :D :D :D
Avatar
Avatar
risu
ok but imagine the infinite money
okay i see
Avatar
Avatar
risu
Just set up more servers :D :D :D :D
imagine only 50 people of those 200k would be perma ddosing :D
Avatar
Avatar
Teero
hats would be cool. decorations in any form would be
Add hammer skins and make the existing weapon packs only apply to default? I guess that would kinda take away the point of weapon packs... (edited)
20:54
I mean, it would half do that and half improve the situation
20:54
for people who want a specific set of weapons because they find it nice to play with it'd be bad
20:55
but for people who use weapon skins because it makes the game look more interesting it'd be a big positive
20:56
I could see a small set of people getting mad over weapon skins
Avatar
Avatar
Voxel
Don't Client
cyberfighter 2 2024-12-12 20:56
do not the client!
Avatar
@risu hehe go try implementing all of that with backwards compatability in mind. (or go argue with deen and heinrich)
20:57
backwards compatability is evil. If we would have a version system like minecraft for example so many issues would go away and many new features could be added
👍 1
Avatar
Is it hard to add new messages that get ignored by older versions?
Avatar
Avatar
risu
Is it hard to add new messages that get ignored by older versions?
no thats not the problem
20:59
also hats and personalized stuff isn't really possible until we have accounts
Avatar
Avatar
Teero
backwards compatability is evil. If we would have a version system like minecraft for example so many issues would go away and many new features could be added
its why im eating up whatever juppey's cooking
Avatar
Avatar
meloƞ
@Jupstar ✪ ^ NOTED
Jupstar ✪ 2024-12-12 21:17
yeah was my no1 prio, all implemented, my paypal acc is set as target ofc
Avatar
Avatar
Jupstar ✪
yeah was my no1 prio, all implemented, my paypal acc is set as target ofc
No that's fair, sanitize your stuff tho, I now have your name address phone number email social security number the name of your first pet and how much you make annually
Avatar
Jupstar ✪ 2024-12-12 21:19
And the name of my wife too?
21:19
I'd like to know it
Avatar
tbh payed skins feels a bit sad but if it means it goes to ddnet servers then id be supportive of it
Avatar
Avatar
Jupstar ✪
And the name of my wife too?
It differs depending on how much you work out in a month
Avatar
GitHub BOT 2024-12-12 21:50
Reset the vote creator client ID CGameContext::m_VoteCreator to -1 when the player that started the vote leaves instead of keeping the invalid client ID around. Previously, this was causing the server to crash due an assertion in the IServer::GetAuthedState function when a ban vote was aborted due to rcon authentication change being handled in the CGameContext::OnSetAuthed function after the vote creator has already left the server. It was possible to cause this situation as the targe...
Avatar
I was going to stay quiet but since it's been misspelled three times in a row by three different people I have to speak up. It's paid, not payed.
Avatar
Avatar
meloƞ
No that's fair, sanitize your stuff tho, I now have your name address phone number email social security number the name of your first pet and how much you make annually
i make ~7k
🇬 1
🇺 1
🇲 1
🇧 1
🇦 1
23:36
(points per year in ddnet)
Exported 518 message(s)
Timezone: UTC+0