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 2021-03-01 00:00:00Z and 2021-03-02 00:00:00Z
00:01
9f41b5d Fix /mapinfo displaying a time when not having finished - heinrich5991 a6aa74f Merge #3658 - bors[bot]
Avatar
This has to be intended. No one could miss this
00:48
We wouldn't miss this, I can't possibly believe a massive studio like R* can't even use a profiler
00:49
heck you probably couldn't get me to merge json parsing with sscanf in it
Avatar
I have heard that software written in huge studios can be horrible
00:50
maybe it was fast enoughβ„’ while developing, because the json was smaller
Avatar
Ah, that could make sense
00:51
Still who even bothers rolling their own json parsing except for lulz?
00:51
rapidjson and nlohmann::json both work extremely well
00:52
much better optimized than I could ever hope to get an implementation
Avatar
How does Server Exploration system works? What information is exposed to non joined servers?
Avatar
ok i have a great idea
05:35
require everyone to solve a ddrace part captcha before joining a brutal or insane server troll
Avatar
noobfilter
Avatar
[quakenet] ChillerDragon BOT 2021-03-01 07:16:16Z
your ip is exposed i guess. Im not sure but i assume every server registeres on the master server with its ip. Then when a client refreshes the server browser it gets the list of server ips and then asks every server about a info packet containing slots/gametype/playercount/name etc so at least the client ip is sent I am not sure if anything more is sent.
Avatar
lmao at gta
Avatar
found this thanks to codeql monkalaugh
Avatar
6e76c46 Fix Insecure temporary file - edg-l 020d8c8 Merge #3659 - bors[bot]
Avatar
+1 ChillerDragon, Well when you refresh your server you're doing a "request for information" (fstd/gie3) to each server from the list that master servers returns to you (edited)
Avatar
Oh, so that's how they sniff legitimate IPs to ddos using ip spoofing?
10:24
dont click the internet tab
10:24
its all shit servers anyway
Avatar
Avatar
Deleted User
mh interestingly i had a locked mouse(if we mean the same) with #3577 it was bcs when loosing focus the mouse mode was changed, which caused the mouse to be locked for an unknown reason in windows What was the reason you told him to use old mouse, was it some experience?
There was someone with the same issue a week ago https://discord.com/channels/252358080522747904/745926398140612678/811497319321174066 and yes, I had this aswell. πŸ˜„
Avatar
u can always use status.tw
Avatar
[quakenet] Ryozuki BOT 2021-03-01 10:25:44Z
ChillerDragon did a lot of users also spam u on freenode?
10:26
10:26
xd
10:26
they are bots, and they say some rly weird shit
Avatar
Feature* A way to match yourself with strangers to do a map together based on perceived skill level. Suggested Implementation
  • /matchmaking command that flags that you are interested
  • Once two or more trigger /matchmaking you enter into a 30-second pooling countdown
  • After the countdown, tees with the closest ranks are matched and put into a team
Depending on popularity, the algorithm behind this can be improved Reason**
  • Encourages new players to participate and...
Avatar
Avatar
GitHub
Click to see attachment πŸ–ΌοΈ
wtf
12:08
how do you know who has same skill?
Avatar
points
Avatar
so if you finish all moderates you have 3601
Avatar
de03471 Update frontpage video - def-
Avatar
and for all insane 1494
Avatar
Avatar
murpi
There was someone with the same issue a week ago https://discord.com/channels/252358080522747904/745926398140612678/811497319321174066 and yes, I had this aswell. πŸ˜„
so the mouse only doesnt work at start?
13:00
@Ryozuki what was the reason IgnoreLine in chat.cpp is checked so late?
Avatar
its a boolean
13:01
that stops the repeating lines
13:02
but it doesnt return directly, it only checks for that late inside that function
13:02
well it says for the log
13:02
but it also allocates the line
13:02
(the new line)
13:03
to make it concret, if you press U for showing all text and make a dublicated message, the message appears twice
13:03
once in the repeated line and once at the top of all chat messages
Avatar
@Deleted User afaik deen changed that for the log
13:11
maybe he knows
Avatar
ok @deen ^
Avatar
[quakenet] ChillerDragon BOT 2021-03-01 13:25:54Z
no Ryozuki but murii from ##oodnet is
13:40
13:40
monkalaugh
13:40
js hacker
Avatar
Clicking on Packet7 in the index on the left gives a 404.
14:35
As already described in #3403 Not allocating the console on windows makes the windows focus mouse input behavior much less triggerable(at starting), I'm not sure what exactly triggers this weird behavior in windows, and why there is seems no fix for it. But it seems to be a problem with windows not liking that the windows loosing focus and then grabs the input, just as described in #3577 But at startup this is kinda mandatory, because windows doesnt minimize the window, even if it lost th...
14:36
fixes #3661

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 if it works standalone, system.c especially
  • [ ] 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/ddnet/#using-addresss...
Avatar
@deen or @heinrich5991 do you know where is the script that generates https://ddnet.tw/settingscommands/
14:44
?
14:44
i want to modify it to add it to the wiki too
Avatar
idk, have you checked ddnet-web, ddnet-scripts?
Avatar
@Ryozuki I just run create.sh from here https://github.com/ddnet/ddnet-scripts/tree/master/client
The magic scripts that make DDNet run. Contribute to ddnet/ddnet-scripts development by creating an account on GitHub.
Avatar
[quakenet] Ryozuki BOT 2021-03-01 15:05:59Z
The magic scripts that make DDNet run. Contribute to ddnet/ddnet-scripts development by creating an account on GitHub.
15:06
this looks related
15:06
ah i see
15:06
thanks
Avatar
@Soreu Do you still use WinXP? Can you please test https://github.com/ddnet/ddnet/pull/3662 I can send you the build if you can't access it directly
fixes #3661 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 if it works s...
15:06
(or anyone else who still has WinXP access)
Avatar
do u run create.sh from the ddnet base dir?
Avatar
i think soreu wont be active anymore
15:21
i tag him a while ago too, and he didnt respond
Avatar
ok, too bad
Avatar
1. Can moderator see player IPs 2. If 1 is true, can someone see what IPs that moderator watched?
Avatar
Yes, they can. We have logs for 1 day of moderator actions, but if a mod runs status with a previous show_ips 1 they will see all IPs
15:43
yay!
Avatar
But should we have duplicated information?
15:45
Sorry, I should have said that when you asked for the link already πŸ˜„
Avatar
i think it fits more to be in the wiki
15:46
but i dont mind
Avatar
Every mod will use status, so I assume so
15:47
If you have a problem about a mod, then report it privately to an admin
Avatar
personally i think the wiki should aim to have all the possible info
15:48
less the maps and ranks
15:50
39708e2 add script for wiki - edg-l 0906a27 Merge pull request #31 from edg-l/pr_wiki - def-
Avatar
hello how i can add blue color on the test gametype?
Avatar
its client side, so only by changing client
Avatar
@heinrich5991 what about adding an entry m_Color to the serverinfo for the gametype
16:43
could maybe be done while doing the tokens for serverinfo
16:43
just a colorcode that could be sent
Avatar
[quakenet] ChillerDragon BOT 2021-03-01 16:43:42Z
next up server icon gif support :D
16:43
Not teeish
Avatar
DDraceNetwork (DDNet) is an actively maintained version of DDRace, a Teeworlds modification with a unique cooperative gameplay. Help each other play through custom maps with up to 64 players, compete against the best in international tournaments, design your own maps, or run your own server. The official servers are around the world. All ranks m...
16:45
omg
16:45
look at this skin
16:45
the most modern wiki ever
16:45
xddd
16:45
(its a preview)
16:46
justatest
❀️ 1
16:48
its a bit buggy tho
Avatar
Pressing "U" to show all chat messages and make a message to appear repeating while holding U, makes it to create 2 instances, bcs another Line is allocated, when not returning for the log.

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds a...
Avatar
Avatar
deen
(or anyone else who still has WinXP access)
not anymore haha
😳 1
Avatar
@Headshot
Avatar
auto &&FChatMsgCheckAndPrint = [=](CLine *pLine)
18:17
and ppl say rust syntax is uglier than c++
18:17
monkalaugh
Avatar
the rust syntax is the reason i dont really want to learn it xd
18:25
but yeah some of the newer c++ stuff looks really weird
18:25
but plain c syntax is pretty clean, there its more about design choices xd
Avatar
C has quirks too, e.g. due to the way they specify types
Avatar
i guess the best example is java vs kotlin
18:27
kotlin looks weird and i dont see the sense in it over java
18:28
also google wrote a converter to convert kotlin to java
Avatar
kotlin had closures before java I think
Avatar
yeah it probs has other advantages too
18:30
the google android examples are always in both languages
Avatar
that's not an advantage anymore; they just forced java to become a better language πŸ˜‰
Avatar
and i always feel like kotlin looks weird xD
Avatar
that's a good end result, I think
Avatar
ah ok πŸ˜„
Avatar
i actually dont see whats wrong with rust syntax
18:32
it is concise while also removing useless stuff like () in if statements that dont need it
Avatar
I could guess the ' for lifetimes
Avatar
and stuff like that
18:32
well the lifetimes is a new addition that other languages dont have
18:33
loop vs while(1)
18:33
while let if let etc
18:33
i think the let stuff didnt exist before
18:33
so its an improvement
Avatar
I'd think "weirdness" means "stuff I don't know yet". with this definition, I can totally see how 'a (unclosed single quotes) can look weird
18:35
I mean some editors will even highlight it incorrectly, because it's so uncommon in programming languages to have unclosed single quotes
Avatar
ah i guess
18:35
the editor makes it not look weird
18:35
i never even thought about it
Avatar
yeah the unknown and the explicity
Avatar
explicity is good imho
Avatar
like adding all the let mut, fn etc
18:38
let mut is cuz variables are immutable by default
Avatar
yeah i know
Avatar
what the issue with fn?
Avatar
Avatar
deen
(or anyone else who still has WinXP access)
i have a vm
Avatar
its very explicit as said
18:39
in c u just type the return type
18:39
and if its void u type void
Avatar
fn x() { }
18:39
in rust if its "void" u dont type anything
Avatar
yes
18:39
fn x() -> bool ...
18:39
in c bool x()
Avatar
well i think this is a matter of taste
Avatar
indeed
Avatar
I don't think this is particularly weird, it's just C-style vs say pascal style
Avatar
yes
18:40
i learned pascal in school xd
Avatar
I'd even go so far as to say C is the outlier here
Avatar
well depends
18:41
since java and c++ are kinda c like
Avatar
Has anyone noticed this chat render bug yet?
Avatar
@Learath2 just fixed it in my last pr
18:42
@Deleted User who was the blame
18:42
deen or me
18:42
git blame monkalaugh
Avatar
i dunno, idc xD
Avatar
maybe it was a mix from all
Avatar
i guess
Avatar
maybe the new chat system changed smth, that made this case obv
18:43
i dunno if it also happened with the old one πŸ˜„
18:44
why does macos always fail btw xd
18:44
how is that even possible
Avatar
this was on linux btw
Avatar
no
18:44
i mean my pr failed to build
18:45
and for some reason macos is broken often xd
18:45
the github action builds
Avatar
This adds a delay before one can chat. It should help mods in situations where people are spamming chat

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [x] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [x] Considered possible null pointers and out of bounds array indexing
  • [x] Changed no physics that affect existing maps
  • [ ] Tested the ch...
Avatar
Amazing description for the failure
Avatar
verbosity level: me
Avatar
Another tool that should help moderators

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 if it works standalone, system.c especially
  • [ ] 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.co...
Avatar
i guess i should atleast try to use rust for stuff, where OOP isnt needed, to get used to it for future xd
Avatar
u can use rust where u would use oop
19:00
its data oriented
19:02
apart from the book this is also good https://rust-unofficial.github.io/too-many-lists/
Learning Rust With Entirely Too Many Linked Lists
19:03
well, oop is a rly broad word
19:03
you can implement traits for structures
19:03
which is kinda like interfaces
Avatar
Avatar
Ryozuki
you can implement traits for structures
yeah i've seen that somewhere before
Avatar
@Learath2 about your initial delay. I'm considering whether it would be a better idea to make this a command that temporarily sets this until the server becomes empty
19:04
alternatively, to do it similarly to the map votes, that people joining an otherwise empty server are not affected
19:04
your PR is probably still good, even without hte improvements
Avatar
@heinrich5991 is that not over complicating it?
Avatar
which part? the latter?
19:05
the latter would help with globally setting it on all servers
Avatar
Both, it's such a tiny cute patch right now, maybe we can do some config trickery to make sure this gets disabled?
Avatar
@Deleted User i think rust does oop to, but in its own way
19:06
idk
Avatar
It'll become a mess if I add the auto-disable
Avatar
@Learath2 there's GameServer()->m_NonEmptySince that lets you implement the latter thing in a relatively easy way
Avatar
Rust takes a different approach, using trait objects instead of inheritance.
Avatar
well I'm not good enough to judge if this has drawbacks, or is just as good
19:08
but good to know atleast
Avatar
@Learath2 is dnsbl ban not on by default?
19:09
0a1a739 Include Packet7 documentation and fix update_libtw2 script - Zwelf
Avatar
Avatar
heinrich5991
@Learath2 there's GameServer()->m_NonEmptySince that lets you implement the latter thing in a relatively easy way
Why do we even keep such an odd variable?
Avatar
for the map vote thing πŸ˜‰
Avatar
what is the map vote thing even?
Avatar
so people joining an empty server can start a vote, but people joining a full server can't immediately start a map vote
Avatar
Hm, I see
19:12
I think that's really not what I want here
19:12
I don't like this kind of conditional complex behaviour
19:13
Feels like this warrants a CFGFLAG that means the option gets reset on reload
Avatar
that sounds more overkill to me than making it a command that sets a variable that gets reset on reload
Avatar
Pf, fine
Avatar
but before implementing
19:14
why do you consider the other behavior complex?
19:15
"if you join an empty server, you can talk. if you join a non-empty server, you can't talk for 100 seconds"
Avatar
It's conditional, conditional behaviour is hard to reason about for a player, it looks magical
Avatar
it worked fine for the map votes
Avatar
Besides, it's not really what is wanted either but rather a workaround that sort of achieves the same thing(maybe)
Avatar
I doubt anyone has even noticed it
Avatar
For map votes we literally wanted people to be able to vote on empty servers
19:16
Here we want this setting to not persist
Avatar
coming from this point of view, I understand your opposition
Avatar
Actually no, what if you want it always on? I don't want to make this change
Avatar
you could also say that you want existing players to be shielded from join→chat spam, but there's no sense in protecting an otherwise empty server from it
Avatar
Avatar
fokkonaut
@heinrich5991 what about adding an entry m_Color to the serverinfo for the gametype
if we don't want to change net code, we can make another json file for gametype colours (edited)
Avatar
but isnt that a downgrade?, having all mods in a signel color makes it easier to differenciate between them
19:21
or do you mean client side?
Avatar
@fokkonaut I'd also be concerend about the lack of uniformity
Avatar
7e00407 Fix chat repeated messages - Jupeyy b2d4fd5 Merge #3663 - bors[bot]
Avatar
Avatar
Deleted User
or do you mean client side?
yeah, i guess player can decide what does he prefer
Avatar
why most of the zcatch server not accesable on ddnet client but only on 0.7 ?
Avatar
they are 0.7 servers
Avatar
and there is no way to acces them from ddnet client?
Avatar
no
Avatar
I think I'm done for the day, I wanted to do #2990 to finish up my other PR but it's just so annoying to work with UI code now
Avatar
It's stuck in some confusing state where we have some stateful, some stateless UI, some only graphically cached sort of stateless UI. I guess we finally managed to create the worst of both worlds
20:10
5f50d1d Add a way to block people from chatting on vpns - Learath2 7be0f30 Merge #3665 - bors[bot]
Avatar
Avatar
Learath2
It's stuck in some confusing state where we have some stateful, some stateless UI, some only graphically cached sort of stateless UI. I guess we finally managed to create the worst of both worlds
i fixed that today locally, but for some reason it only works for themes and skins, not for the player list in server browser
Avatar
f1af68d Add initial delay to talking in chat - Learath2 8e4e494 Merge #3664 - bors[bot]
Avatar
Avatar
Deleted User
i fixed that today locally, but for some reason it only works for themes and skins, not for the player list in server browser
20:22
but dunno when it doesnt work, atleast for skin i coudnt reprod the bug anymore (edited)
Avatar
This isn't really completely the correct fix but I guess it sort of works
Avatar
yeah its a mathematical fix, but not really nice xd
Avatar
Well it's good enough I think, maybe PR it
Avatar
well it doesnt work for player list in server browser
Avatar
but maybe it uses a different list
Avatar
we have like 2 lists xd
Avatar
We really need a lot of UI patches for cleanup
20:37
Scrollregion and Listbox would be great abstractions to have
Avatar
the editor also has quite alot of dublication, bcs it doesnt use the UI code
20:38
#3395 is fixed for normal gui, but not editor gui, even tho its the same function(just that it doesnt share the same impl anymore) xd
Avatar
when you open editor and set Width to 500 and press right mouse Height it crashes I can reproduce this: 0x00005555556593f2 in CTextRender::TextEx (this=0x7ffff7fa9010, pCursor=0x7fffffffb460, pText...
Avatar
I was really hopeful with the editor2 branch on 0.7 but LordSk is really slow with it
Avatar
0.7 is slow in general
20:43
its a professional setup
20:43
nice how fast it starts xd
Avatar
Shutting down my computer with systemd for the last time
20:46
Been waiting for like 3 minutes on systemd-udev to quit but it's the final time I'm going to have to suffer through it so I'm cutting it some slack
20:47
In an hour or so I'll finally have glorious eudev
Avatar
are u on some unstable system?
Avatar
yes, "systemd" πŸ˜›
Avatar
i sometimes have it when a packet is broken
Avatar
Avatar
heinrich5991
yes, "systemd" πŸ˜›
Stole my joke
Avatar
you wouldn't copy a joke!
Avatar
I'm thinking of going btrfs this time around
Avatar
tell me how it works out
Avatar
Can't believe it's going down in flames for it's last shutdown
weed 1
20:49
It's like poettering programmed it to detect it's about to get deleted and hang onto life with all it's might
Avatar
nice rolling papers xd
noby_on_coke 4
Avatar
Avatar
noby
nice rolling papers xd
Haven't smoked in so long those are probably crumbling at this point
Avatar
Avatar
Learath2
It's like poettering programmed it to detect it's about to get deleted and hang onto life with all it's might
I think I might have to put it out of it's misery with sysrq
20:52
lol what does sysrq mean
Avatar
God bless REISUB
Avatar
Avatar
louis
lol what does sysrq mean
It's a key on the keyboard
20:53
never had one of those
Avatar
hey, can someone help me with cl_download_skins? My cl_skin_download_url is set to https://skins.ddnet.tw/skin/ and cl_download_skins is 1 but the client doesn't seem to download any skins. How is this supposed to work?
Avatar
it only downloads on demand
21:33
so only if its used ingame by anyone
Avatar
ah i see, i thought it would sync my folder with the skin database. thanks for the reply :)
Avatar
Avatar
Learath2
Can't believe it's going down in flames for it's last shutdown
is that rly a systemd problem
Avatar
I mean it's all components of systemd that's holding the shutdown up, I can't find anyone else to blame
Avatar
device or resource busy monkalaugh
Avatar
Is the DNSBL stuff a library?
22:02
Or how does it work (did not look into it at all yet)
Avatar
A Domain Name System-based Blackhole List, Domain Name System Blacklist (DNSBL) or Real-time Blackhole List (RBL) is a service whereby with a simple DNS query mail servers can check whether a sending IP address is on a blacklist of IP addresses reputed to send email spam. Most mail server software can be configured to check one or more of such l...
Avatar
ik what it is, i mean how is it implemented in ddnet?
Avatar
it makes a dns request with the IP address
23:03
to a dnsbl server
Avatar
which server?
Avatar
which server we use is a secret, so it's not so easy to circumvent
Avatar
understandable
23:07
Thought that, but was still wondering bcs I might want to add stuff like this to my server
Avatar
Avatar
heinrich5991
which server we use is a secret, so it's not so easy to circumvent
Well technically it's not secret which server we use, we host our own with a script that I did make public iirc
Exported 328 message(s)