Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/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 2022-12-10 00:00:00Z and 2022-12-11 00:00:00Z
Avatar
So that we can be more confident that the backup worker keeps working like now. Followup on #6110
00:05
And make sure that all other write queries are covered by unit tests (insert rank, insert teamrank, save, load) Followup on #6107
00:12
A debug log with a keyword would be probably enough + still returning an error so that the query doesn't continue. It would be good to setup some infrastructure to grep through logs and notify (someone/a mailing list with developers or administrators?) about these failures. Followup on #6051
Avatar
@Learath2 maybe you know a way to swap out a map but keep all player positions
00:26
We are considering splitting Adrenachill 5 into 2 parts, but people are already nearly at 50%
00:27
For team they can just save and load, but team 0 not
00:30
I think the best will be to set a few tiles as finish live with debugger
justatest 1
00:30
I'll try that on an empty server now
00:31
@heinrich5991 any idea how to access the right memory? 😄 First time I'm trying something like this
Avatar
do you have debugging symbols?
Avatar
you can execute C++ with the print command
00:33
print (Server()->Map()->…)
Avatar
Yes, need the coordinate next
Avatar
let me open the map in the editor
00:36
x:915 y:268-272
Avatar
game layer width is 1950
00:37
so it should be 1950 * 268 + 915, 1950 * 269 + 915, 1950 * 270 + 915, 1950 * 271 + 915, 1950 * 272 + 915
00:37
these indices in the game layer
Avatar
finish line index?
00:38
@Pipou what number is finish line? 😄
Avatar
34
00:39
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
00:39
I'll try
00:39
print m_pTiles[1950 * 268 + 915].m_Index = 34 print m_pTiles[1950 * 268 + 916].m_Index = 34 print m_pTiles[1950 * 268 + 917].m_Index = 34 print m_pTiles[1950 * 268 + 918].m_Index = 34
Avatar
wait, these are different x y than I told you
Avatar
@deen index 34
Avatar
@Pipou can you go left?
Avatar
wow interesting 😹
Avatar
@heinrich5991 didn't work
00:43
(gdb) print m_pTiles[1950 * 268 + 915].m_Index = 34 $1 = 34 '"' (gdb) print m_pTiles[1950 * 269 + 915].m_Index = 34 $2 = 34 '"' (gdb) print m_pTiles[1950 * 270 + 915].m_Index = 34 $3 = 34 '"' (gdb) print m_pTiles[1950 * 271 + 915].m_Index = 34 $4 = 34 '"' (gdb) c Continuing.
Avatar
what did not work?
Avatar
the finish
00:44
Pipou is standing on the tile
Avatar
and he should get a time?
Avatar
I'm in practice
Avatar
i.e. he's in race, hasn't cheated etc.?
Avatar
oh, did you get a message?
00:44
that you would have finished?
Avatar
Nope, will try again
00:45
Still nope
00:45
and this is the game layer's tiles you're modifying?
00:45
oh, I hope
00:45
CCollision stops on multiple layers?
00:46
(gdb) break collision.cpp:282 Breakpoint 1 at 0x55a98b6f6b5d: collision.cpp:282. (3 locations) (gdb) c Continuing. Thread 1 "DDRace64-Server" hit Breakpoint 1, CCollision::GetTile (y=3140, x=<optimized out>, this=0x7fa8d83ec0b0) at /home/teeworlds/src/master/src/game/collision.cpp:283 283 {
Avatar
pipou did you make sure to touch start
Avatar
CCollision::m_pTiles seems to be the game layer, yes
00:47
can you print out m_Width?
Avatar
Yes @louis
00:47
Starkiller and :0 should reach it in 5 minutes
00:49
"Your team has fewer than 2 players"
00:49
i think that's why!
00:50
confirmed, it worked 😄
Avatar
be careful on the live server
00:51
you're pausing it with the debugger, I think
Avatar
yes, i know
Avatar
I think you have everything sorted, no? I'll go to bed then
Avatar
yes, good night
00:55
and thanks
Avatar
good night 🙂
Avatar
Avatar
Zwelf
Please do not update to newest version (master) on ddnet server, until https://github.com/ddnet/ddnet/issues/6107 is fixed: updating existing teamranks doesn't work (edited)
I applied https://github.com/ddnet/ddnet/pull/6111 yesterday evening 🙂
Avatar
@nori so i am on wayland now. there is also a "allow tearing options" as expected starting with xwayland vulkan also does not warn that there is no immediate mode fps were good, around 13k but wayland clamped my FPS to around 1k and also vulkan warned that immediate not available so i build mesa from source now its completely broken xD xwayland: it shows 1k fps for few seconds then 10k fps then 1k agian etc. wayland: basically like before so i assume some packages are not ready yet. i dunno if the wayland protocol is only for the compositor, or under the hood also is a direct kernel call and i need to wait for a kernel update for now i cannot really test it yet, im not really sure if there is tearing with xwayland, but on 240hz with good fps tearing is hard to notice anyway :/ I'll try again next year xD
10:34
but pure wayland there should be no tearing bcs vk falls back to mailbox
Avatar
[quakenet] ChillerDragon BOT 2022-12-10 11:16:39Z
@heinrich5991 i do not understand your comment here :( https://github.com/ddnet/ddnet/pull/5949#discussion_r1001743270 The inheritance is needed so it can be passed as a cnetbase pointer to the connection and the connection then can call netbase functions such as SendControlMsg like here
While keeping 0.6 fully working and untouched This adds the option to connect via 0.7 This is the first working version there is still work todo There are a few known bugs and missing featues to na...
11:17
not sure how that relates to the m_aRequestTokenBuf variable the way i understood it is more about the method calling not a variable. Also what is so bad about the inheritance? I just implemented the changes from the upstream
12:08
Ops wrong ping
12:08
@Jupstar ✪ for u
Avatar
Avatar
Ryozuki
@Jupstar ✪ for u
lets just change reality then ai always right
Avatar
If only we had the technology
12:53
100% confirmed
12:54
the whole story xD
12:54
i tried to let it act as if it knows everything but no chance xD
Avatar
Avatar
Jupstar ✪
@nori so i am on wayland now. there is also a "allow tearing options" as expected starting with xwayland vulkan also does not warn that there is no immediate mode fps were good, around 13k but wayland clamped my FPS to around 1k and also vulkan warned that immediate not available so i build mesa from source now its completely broken xD xwayland: it shows 1k fps for few seconds then 10k fps then 1k agian etc. wayland: basically like before so i assume some packages are not ready yet. i dunno if the wayland protocol is only for the compositor, or under the hood also is a direct kernel call and i need to wait for a kernel update for now i cannot really test it yet, im not really sure if there is tearing with xwayland, but on 240hz with good fps tearing is hard to notice anyway :/ I'll try again next year xD
Use the tearing-control-unstable-v1 protocol to indicate to the Wayland compositor that tearing is acceptable. See
Avatar
there are also xwayland merge requests too so
13:04
not complete yet i guess :D
Avatar
but we are close ^^
Avatar
b7205f5 Fix updating teamranks - Zwelf 63187f5 Merge #6111 - bors[bot]
Avatar
ladies and gentlemen, it is with great pleasure to inform you that i am now officially a doctor
🇩 3
🇷 3
🪑 2
16:21
Nonetheless, i still have plenty of stuff to do, so i probably won't be working on ddnet's code soon
16:21
Being a fully grown adult is a never ending task 😢
Avatar
Hats off!
Avatar
gg wp no re
Avatar
congrats
Avatar
congratulations mr phd
16:25
well im not sure what degree it is but congrats regardless 😁
Avatar
it is PhD. Thank you all
16:35
maps2.ddnet.org down?
Avatar
Avatar
Chairn
Nonetheless, i still have plenty of stuff to do, so i probably won't be working on ddnet's code soon
Do a phd in ddnet
Avatar
what's the research thematic?
Avatar
Avatar
Chairn
what's the research thematic?
Enable QUIC support & route everything through cloudflare
Avatar
Avatar
Chairn
what's the research thematic?
The efficacy of layer 3 filtering of traffic in online games
Avatar
Wouldn't it be easy to write a server plugin that detects griefing attempts by players on other players?
Avatar
Avatar
default
Wouldn't it be easy to write a server plugin that detects griefing attempts by players on other players?
bruh what
Avatar
Avatar
Alexander
bruh what
what am I supposed to reply to that? that a player that applies force to another player which results in them going into the freeze and ending up respawning isn't a factor you could go after? If such a player doesn't get reported manually, a set threshold could be reached within a specific time. that eliminates false positives as well. (edited)
Avatar
what about people joking, people playing in playground, people respawning for other reasons
Avatar
people joking wouldn't keep them in the freeze, would they? also when in team 0, and you are surrounded by other players, "joking around" is basically blocking. could be applied to a specific area. people respawning for another reason won't have force applied to them by griefer A.
Avatar
I think what you are asking for would be hard to implement and could give many false positives for various reasons
Avatar
I mean that's what you got smart minds for to think out very specific logic that would only apply to people grieving people. a threshold is what should prevent legits from getting banned. the aimbot detection got a threshold as well. you will get warned, not banned on the first offense. it could also be used to not punish people first hand, but letting it inform humans to check it out.
Avatar
as soon as a human has to check it, its not an improvement and fully automated is hard bcs it depends also on where in the map you are
17:27
if someone trolls during hammer hits its basically impossible to detect
17:27
also some noobs might not even block but are simply too bad
17:28
train a AI that studies behavior of bad and good players
Avatar
it's not about blocking persé, but about a single person killing half of the server. getting banned multiple times by vote, etc.
Avatar
then u have a slight chance it would work out
Avatar
by all means if you think that you have the knowledge to program what you want then go ahead
Avatar
Avatar
Alexander
by all means if you think that you have the knowledge to program what you want then go ahead
might check out the server code for that. but I focus more on the client-side atm.
Avatar
i mean it would definitely work on that one multeasy spot
Avatar
How do you tell apart a genuine fail from a block though?
17:49
There are many faily parts where a tee can hook another tee into freeze and that the other tee has to reset because of a fail
Avatar
Avatar
Chairn
Being a fully grown adult is a never ending task 😢
Indeed
Avatar
Avatar
Learath2
There are many faily parts where a tee can hook another tee into freeze and that the other tee has to reset because of a fail
yea but we are talking about something reoccurring. not a single "kill". (edited)
18:12
say, some guy on Kobra for example, that keeps killing people at the start of the map
Avatar
Avatar
Learath2
How do you tell apart a genuine fail from a block though?
If his name is Learath2 then we know its a block. Ez prediction. 😌
Avatar
Just needs an if statement to do the job.
Avatar
Avatar
default
say, some guy on Kobra for example, that keeps killing people at the start of the map
Start of the map makes sense to you and me. Computers, not so much
Avatar
I mean if it was that easy then it would already be implemented
Avatar
Also I see a lot of novices failing on the second part of kobra trying to help eachother
Avatar
Avatar
Learath2
Also I see a lot of novices failing on the second part of kobra trying to help eachother
But I think that's in the nature of the game. One needs to invest time to increase skill. I remember how bad I was, still am!
Avatar
nah that doesn't contribute to the discussion
18:15
you basically are saying: get good or get banned by some new anti-grief system
Avatar
So it's not very very easy to write an algorithm to catch this. The best I can think of is just keeping track of how many times someone killed after being put in freeze by a player and mods can use that counter as more information
18:16
Atleast, I can't imagine an algorithm consistent enough to be trusted to ban people
Avatar
Love to chat but gtg ice skating. Cheers!
Avatar
Avatar
Learath2
Atleast, I can't imagine an algorithm consistent enough to be trusted to ban people
you would have to test one first to say that
18:21
i believe it should be pretty clear with a big enough threshold
18:21
legit people get flagged rarely for aimbotting as well
18:21
so less accurate systems are already in place that CAN punish people. but you haven't heard of any complaints. because the system currently in place for that is so good that this false-positive happens too rare to bother. and you won't get banned if you get triggerbot flagged once in 10 minutes or something. (edited)
Avatar
nor should such a grief system check be active on players that haven't been tried to get kicked by the others, eliminating legit "accidents" or how you would want to call it.
Avatar
Avatar
default
you would have to test one first to say that
I mean, how am I supposed to test one if I can't come up with one?
18:33
Unless you are suggesting you'll implement it, in which case I wouldn't mind doing a trial run of it
Avatar
Avatar
Chairn
maps2.ddnet.org down?
there is only maps.ddnet.org
18:51
congrats Chairn!
Avatar
off to industry or doing a postdoc now?
Avatar
Avatar
Learath2
So it's not very very easy to write an algorithm to catch this. The best I can think of is just keeping track of how many times someone killed after being put in freeze by a player and mods can use that counter as more information
1. maybe keeping track of how many hammers / hooks there is between 2 players? That's usually how fights are (even tho players you are just "playing around" would also be here). 2. If a player gets hooked into freeze, there are players alive close the him, but he stays in freeze for X (a lot) of seconds, that would be blocking? Anyways, I feel like any "blocking algorythm" would still a human vote (with less votes to be successful) to confirm if a player is really blocking. Unless it's a really good trained ai xD. But yeah, as long as we have mods... it not too much of an issue?
Avatar
ChillerDragon: if you move that variable out of the class and inside the function, the methods don't have to be class methods anymore and can be static instead
Avatar
Avatar
Devinci
1. maybe keeping track of how many hammers / hooks there is between 2 players? That's usually how fights are (even tho players you are just "playing around" would also be here). 2. If a player gets hooked into freeze, there are players alive close the him, but he stays in freeze for X (a lot) of seconds, that would be blocking? Anyways, I feel like any "blocking algorythm" would still a human vote (with less votes to be successful) to confirm if a player is really blocking. Unless it's a really good trained ai xD. But yeah, as long as we have mods... it not too much of an issue?
So you'd just teach blockers to hide their behavior better. I prefer blockers who just stand around start and block everyone over those who play map normally and kill everyone 1 part before finish
Avatar
Avatar
Devinci
1. maybe keeping track of how many hammers / hooks there is between 2 players? That's usually how fights are (even tho players you are just "playing around" would also be here). 2. If a player gets hooked into freeze, there are players alive close the him, but he stays in freeze for X (a lot) of seconds, that would be blocking? Anyways, I feel like any "blocking algorythm" would still a human vote (with less votes to be successful) to confirm if a player is really blocking. Unless it's a really good trained ai xD. But yeah, as long as we have mods... it not too much of an issue?
Dummy and Pseudofly players: justatest
Avatar
Avatar
murpi
Dummy and Pseudofly players: justatest
TRUE LOL. Well, there are a lot of things wrong with what I said anyways. so yeah feelsbadman
Avatar
Avatar
deen
off to industry or doing a postdoc now?
im doing an ATER which is postdoc but with teaching
Avatar
im now looking for permanent position and also postdoc in europe
Avatar
I always see cool academic jobs at EMBL here in Heidelberg, but they always ask for PhD at least, so not for me 😄
23:34
so France also has this curse where researchers only get temp positions by default?
Avatar
one of the jury member told me about aachen university for system architect position
Avatar
Avatar
deen
so France also has this curse where researchers only get temp positions by default?
you can get ATER wich is like 1 year contract with same work as permanent position (my current status), or postdoc where you only do research
Avatar
RWTH Aachen is one of the best for compsci in Germany, so go for it 🙂
Exported 164 message(s)