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-05-19 00:00:00Z and 2021-05-20 00:00:00Z
Avatar
Oh oh i want to do it
Avatar
ok maybe scraping todays data, which is not zipped all into 1 file is a bad idea
07:58
takes forever
07:58
Captures( { 0: Some( "href=\"01_03_39.json\"", ), "hour": Some( "01", ), "minute": Some( "03", ), "second": Some( "39", ), }, ) ^C teeserverinfo on ξ‚  master [?] is 📦 v0.1.0 via 🦀 v1.52.1 took 2m16s only 1 hour and 2 mins already xd
Avatar
@TsFreddie whats the state of #3826
Avatar
*I might be totally insane for doing this. The effect is only truly noticeable if you have high ping AND dropping packets. clang-tidy's warning doesn't seems to relate to anything I...
Avatar
did nuborn still say something?
08:45
concurrent players yesterday from the http master data, fixed xd
08:46
here is the data which can be used for gnuplot
57.33 KB
Avatar
@Deleted User did -fsigned-char solve ur issue btw? i also remember now where why i knew about it, someone used to use raspberry for fng source: https://github.com/Jupeyy/teeworlds-fng2-mod/pull/1 and then i told him to use fsigned-char and it solved his issue
Avatar
Avatar
Deleted User
@TsFreddie whats the state of #3826
Works fine as-is. Can be better with a custom message or netobj, but I didn't got the time to do it.
Avatar
Avatar
TsFreddie
Works fine as-is. Can be better with a custom message or netobj, but I didn't got the time to do it.
ok so nuborn was fine with it?
Avatar
Ye, the only thing he pointed out is the evolve thing which I took out already. And the lack of better way of sending tunezone tunings which is the "could be better" part
09:36
If you haven't find anything weird with it, then it is probably fine
Avatar
Was still from the first version of the HSL sliders, which didn't had a border around the selector and made the alpha slider invisible(for menu colors slider), but thats not needed anymore(bcs borders are not transparent).

Checklist

  • [x] 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 ...
Avatar
So metrics are correct even for edge cases and also the greyscale is accurate with edge cases. e.g. this skin is valid from rendering perspective, but might cause inaccuracy bcs in greyscale the width wasnt respected correctly: !default_fat

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibl...
Avatar
@Ryozuki cool
Avatar
Avatar
Ryozuki
ok maybe scraping todays data, which is not zipped all into 1 file is a bad idea
Depends on the tool you use. HTTP2 is absolutely required if you want to scrape thousands of small files (2.6 GB uncompressed here): Downloaded: 9140 files, 269.61M bytes, 0 redirects, 0 errors wget2 -m -p -np https://ddnet.tw/stats/master/2021-05-19/ 26.11s user 17.92s system 153% cpu 28.619 total
Avatar
d39322d Differenciate between width and height for body part - Jupeyy d5fc3b1 Merge #3835 - bors[bot]
Avatar
8359014 Remove alpha clamp - Jupeyy 42545eb Merge #3834 - bors[bot]
Avatar
with pretick weak hook & bounce works without breaking ddrace apparently: https://github.com/Jupeyy/ddnet/commit/55f5da8655f552f47e46c9d35c808e071ecb7937
11:20
and should fix both hook and bounce, if im not mistaken
11:21
with somebody needs it for local server or smth
Avatar
tbh I don't really know anything about writing HTTP APIs in rust
Avatar
Avatar
heinrich5991
tbh I don't really know anything about writing HTTP APIs in rust
what does the api need to do?
Avatar
Avatar
Deleted User
@Deleted User did -fsigned-char solve ur issue btw? i also remember now where why i knew about it, someone used to use raspberry for fng source: https://github.com/Jupeyy/teeworlds-fng2-mod/pull/1 and then i told him to use fsigned-char and it solved his issue
yes thanks
Avatar
game servers will register themselves via this API. they'll send their server info, the masterserver will have to verify that port forwarding is done correctly, and then add it to the list of servers
11:52
if the masterserver doesn't hear from a server in say 90 seconds, it gets dropped from the list
Avatar
I mean if you have to, we can do python, but please for the love of god atleast not django
Avatar
I see what you mean with python (deployment problems), I guess it'll not be python
12:10
if it were python, it'd probably be flask or so
Avatar
Flask is fairly lean so I’d be okay with that
12:12
Js does fairly well with this kind of real time work btw, if you want to take a look there
12:13
With typescript it’s much less cancerous than it used to be. Though you are still running on node which is very meh
Avatar
Avatar
heinrich5991
game servers will register themselves via this API. they'll send their server info, the masterserver will have to verify that port forwarding is done correctly, and then add it to the list of servers
so, the port forwarding verification, does this use a protocol that already exists i guess, the old way of getting server info via udp?
13:08
i want to try to create it in rust, using https://docs.rs/warp/0.3.1/warp/ as the http server, its rly simple and clean
13:09
but if anyone else prefers to do it themselves or in another lang just tell so i dont do this for no reason
Avatar
GitHub Gist: instantly share code, notes, and snippets.
13:34
and making a post with json works ez
13:39
13:39
feelsbadman
13:42
i gotta find the ping protocol
Avatar
I'm also interested in doing it ^^
13:52
I thought the register info might look something like this: { "info": { "clients": [ { "name": "heinrich5991", "clan": "", "country": null, "score": 123, "team": -1 } ], "max_players": 64, "max_clients": 64, "passworded": false, "game_type": "DDRaceNetwork", "name": "DDNet RUS - Moderate [DDraceNetwork]", "map": { "name": "Sunreal", "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "size": 12345 }, "version": "0.6.4, 11.2.1" }, "port": 1234, "secret": "abcdef" }
13:53
where "info" is some free-form JSON object that is then hosted by us
13:54
"port" is required because we don't know which port the server is hosted on
13:54
"secret" would be used so the game server can recognize that it's the master server trying to probe the server
13:55
also, the game server would probably try to register via ipv4 and ipv6 alternatingly, so the master server can learn both IP addresses
Avatar
Avatar
heinrich5991
I thought the register info might look something like this: { "info": { "clients": [ { "name": "heinrich5991", "clan": "", "country": null, "score": 123, "team": -1 } ], "max_players": 64, "max_clients": 64, "passworded": false, "game_type": "DDRaceNetwork", "name": "DDNet RUS - Moderate [DDraceNetwork]", "map": { "name": "Sunreal", "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "size": 12345 }, "version": "0.6.4, 11.2.1" }, "port": 1234, "secret": "abcdef" }
i just send it as an example, since i dont know anything about how the request looks, nor the response nor the ping protocol
13:55
sent*
Avatar
ah
Avatar
it was more an example to show if u like the library used for the http
Avatar
ah πŸ™‚
13:56
looks similar to flask I guess πŸ™‚
Avatar
we will probs not use closures tho, since rust doesnt allow async closures yet, we can convert it to a function like this
13:57
yes i find it super simple library
13:57
and serde magick makes this so ez
Avatar
Avatar
heinrich5991
where "info" is some free-form JSON object that is then hosted by us
free form as in the server sends whathever it wants?
13:59
even if it doesnt make sense to tw?
Avatar
yes
13:59
the idea would be that it's the client imposing constraints on the JSON
13:59
so it's the same as before, game servers get to send whatever they want. I'd like to have it this way so mods can experiment with new fields etc.
Avatar
yeah i find it good too
14:00
well we need to limit the size of the body ofc
Avatar
yes
14:00
to some kilobytes, probaby
Avatar
Avatar
heinrich5991
I'm also interested in doing it ^^
so, should we create a repo?
14:01
this way we dont lose track of this
14:01
and if we dont we probs will never get started
Avatar
I don't think a repo helps with that
14:02
but it helps collaborate
14:02
or you want to do it alone?
14:02
i dont mind
Avatar
hm. I think I'd prefer to do the start myself. @Ryozuki let's create a ddnet issue so we can discuss the details?
Avatar
apparently we should move the ddnet freenode channel to libera.chat or so
Avatar
@heinrich5991 btw can we take the chance and add skins to the master server api? so servers that support it allow showing skins in server details xd
Avatar
with the free-form JSON, this will be just a PR by you away
Avatar
cool, would probs look cool ^^
Avatar
Avatar
heinrich5991
apparently we should move the ddnet freenode channel to libera.chat or so
is there some freenode drama?
14:45
"freenode now belongs to Andrew Lee, and I'm leaving for a new network."
14:46
freenode staff is leaving, they dont like this hostile takeover
14:46
i dont see why we should keep that channel
14:48
even ##C is talking about this
14:50
"freenode IRC network purchased by VPN company PIA"
Avatar
hehe im the first in #ddnet on libera.chat
Avatar
does it even matter for publicly hosted chats?
Avatar
[freenode] Zwelf[m] BOT 2021-05-19 15:01:02Z
I am using it from matrix right now. I won't mind discarding the channel if we set up a native matrix bridge (https://t2bot.io/discord/)
Learn how to set up t2bot.io's Discord Bridge
15:03
I would be happy about a native matrix bridge in general ^^
Avatar
how does it look from either side?
15:06
currently, we get [bot] [freenode] Zwelf[m] as your username
Avatar
[freenode] Zwelf[m] BOT 2021-05-19 15:07:48Z
Currently I am logged in with my matrix account @zwelf:matrix.org and joined the room #freenode_#ddnet:matrix.org since matrix.org bridges all freenode channels
Avatar
I mean the t2bot.io, how does it look from both sides
15:08
would the messages get bridged further to IRC by matterbridge?
Avatar
[freenode] Zwelf[m] BOT 2021-05-19 15:09:33Z
I think only if messages from the bridge bot get relayed (they are marked as bot messages)
Avatar
im spreading the word of rust in liberachat
Avatar
I think we should indeed get out of freenode, we never really used it much anyway
Avatar
I checked the list of staffers that jumped ship and they are all people I mostly trust, if they jumped ship it’s too late for freenode ltd.
Avatar
yes one of them is the oldest staff member from freenode
Avatar
md, chris, edk are all people I’ve interacted with, very sensible people whose views I mostly tend to agree with
Avatar
we should probably get a replacement for the matrix users
15:14
maybe I can set up matterbridge to also bridge to matrix
Avatar
people are spamming for cloak, and there is a madlad named cloak, the pings he must be receiving
Avatar
lmao angry bots spamming the freenode server
15:36
15:42
im witnessing a live ddos
15:42
holy shit
15:42
watching a irc network be created is fun monkalaugh
15:57
Attacking freenode cuz nobody answered your question in #ffmpeg
Avatar
ddnet2 echo '\"' \" ddnet2 echo '\\"' \"
16:13
Will god one day smite this evil thing called posix shell quoting?
Avatar
Please send help
16:22
How do I escape a string to be used within double quotes?
Avatar
@Learath2 echo -e '\\"' \"
16:27
?
16:27
hmm
Avatar
I output one escaped string, now I need to "unescape" it so that I can use it in a script
Avatar
echo -e \"hello\" "hello"
16:28
is this wat u want
Avatar
'ban ip.ip.ip.ip -1 "bad'\''[guy\"\\. Until May 20 16:05 UTC" # Learath2#2281: Learath2' this evaluates to the single string ban ip.ip.ip.ip -1 "bad'[guy\"\. Until May 20 16:05 UTC" # Learath2#2281: Learath2. Now I need to escape this again before I can pass it along with ssh $i.ddnet.tw "echo '$1' > servers/servers/*.fifo"
Avatar
discord makes this hard to understand xd
Avatar
I used backticks so those are literally what I have at hand
16:30
discord shouldn't be stealing any \
Avatar
do u rly need to escape it?
16:31
echo without -e doesnt interpret anything
16:31
echo $1
Avatar
Currently I'm getting an unmatched quote
16:31
hm, let me try to replace it with a echo -e, maybe the echo is indeed eating some of it
16:32
nah, I honestly have no idea what is happening
16:37
ssh ger2.ddnet.tw 'echo -e '\''ban ip.ip.ip.ip -1 "bad'\''[guy\"\\. Until May 20 16:05 UTC" # Learath2#2281: Learath2'\'' > servers/servers/*.fifo' this is what gets called and apparently has an unmatched quote
16:37
dquote*
16:38
echo -e 'ban 78.46.174.82 -1 "bad'[guy\"\. Until May 20 16:05 UTC" # Learath2#2281: Learath2 this is what's left after the local shell escapes once
16:39
@Learath2 u left he ip
16:39
rip the user
16:39
pepeH
Avatar
whatever it's my server
16:41
the single quote in there is breaking it
Avatar
it could be a good way to avoid new players "nameless tee" name. when you have nothing as name space or something else it should require a name to avoid (1) name and etc.
Avatar
pff, echo ${1:q} worked instead of echo '$1' mostly because I couldn't find how tf one is supposed to escape a string that's about to go between single quotes
16:45
can't believe anyone actually enjoys using this mess
Avatar
@Learath2 does '$1' even expand the argument?
16:48
i think '$1' doesnt interpret $1 as a thing
16:48
u need "$!"
16:48
"$1"
16:48
*
16:48
iirc
16:48
well im no bash expert
Avatar
double quotes used inside single quotes disable their special meaning and vice versa
16:49
yes im right
Avatar
It's much more sophisticated than that, single quotes disable everything, dquotes only disable some things
πŸ‘ 2
Avatar
Avatar
Ryozuki
yes im right
You would be if not for the fact that this entire thing was within dqotes
Avatar
timeout 30 ssh $i.ddnet.tw "echo '$1' > servers/servers/*.fifo" was the entire line here quotes have no meaning so $1 would get expanded, but since this will get executed on a remote shell that will expand the entire thing again
16:52
The quotes there were meant to prevent expansion, but when $1 contains a quote you end up with a mess
Avatar
@Learath2 OH
16:52
maybe put everything in ''
16:52
when u send the command
16:52
and it expands in ssh
16:52
only there
16:53
ah nvm
Avatar
so I either needed a way to escape $1 to be suitable within quotes (didn't find any), so I got rid of the quotes and instead used ${1:q} directly because that's the only escaping capability I found documented
Avatar
u probs need to expand it locally
Avatar
cat mess.txt | ssh $i.ddnet.tw 'cat > servers/servers/*.fifo'
Avatar
does that rly work
Avatar
it should πŸ˜„
Avatar
Yep, that was going to be my solution in about 15 minutes
Avatar
85d5891 Add donation by marzzzello - def-
Avatar
[freenode] Zwelf[m] BOT 2021-05-19 18:10:39Z
heinrich5991: now I understand your question :). This is how it looks like https://github.com/Half-Shot/matrix-appservice-discord/blob/develop/screenshot.png (from the readme of the project, on the discord side bridged users talk with matrixuser [bot] and on the matrix side discorduser (Discord) is talking.
A bridge between Matrix and Discord. Contribute to Half-Shot/matrix-appservice-discord development by creating an account on GitHub.
18:12
okay, misread the screenshot... on the matrix side discorduser is talking (without the "(Discord)")
Avatar
808d0f5 Add donation by c0d3d3v - def-
Avatar
@JoTreudler Ja es stimmt, wir haben die AGBs erweitert und Krypto-Mining verboten. Wir haben viele Bestellungen für unsere Server mit großen Festplatten erhalten. Dafür werden aber auch zunehmend große Storage-Boxen angemietet. Bei Storage-Boxen führt das zu Problemen 1/2
19:08
monkaS
19:08
Avatar
I added 0.7 servers to the https masters
19:15
for more statistics
19:16
also, if some 0.7 client wants to use it, they can have a fast serverlist now
Avatar
my hetzner vps is 3 years old monkaS
19:24
i wonder if they do hardware upgrades
Avatar
let's hope cryptocurrencies die soon
Avatar
Avatar
Comrade
let's hope cryptocurrencies die soon
i think i dont mind the crypto itself but the computing cost they have is nonsensical kinda
Avatar
maybe only the environmentally unfriendly ones
19:27
that
19:28
PoW currencies ranked by energy efficiency
19:29
101kg of CO2 per transaction on bitcoin
19:29
insane
Avatar
isn't Chia supposed to be eco-friendly?
Avatar
it wears the ssd and bandwidth i guess
19:30
it makes sense for them to not want clients who make use of full resources all times
19:30
Avatar
Avatar
Comrade
let's hope cryptocurrencies die soon
We'd be losing probably the longest chain of trust ever generated along with the death of bitcoin, so we should probably be careful what we wish for πŸ˜›
Avatar
lel joshua treudler the biggest troll feelspepoman
Avatar
why is it that if I hold the hammer in freeze and hit my partner, he will fly further than if I did not hold hammer in freeze? (edited)
Avatar
cuz u hammer him
Avatar
Avatar
Ryozuki
cuz u hammer him
I mean if I just hit it it won't fly far
Avatar
i mean the frozen tee holding hammers u
20:23
there was a change to make this always happen
Avatar
He doesn't hit me
Avatar
idk what u mean then
20:26
can u download demo? or I can fraps it
Avatar
Avatar
heinrich5991
I added 0.7 servers to the https masters
Great, thanks
Avatar
λ―Όμ€€ 2021-05-19 21:16:22Z
anyone multeasymap?
Avatar
fix that audio pls
22:07
it sounds like my ears are full of water
22:07
it makes me feel weird
Avatar
@deen the master stats are using up quite some space if left uncompressed
22:44
5.4 GiB for a whole day (18 MiB compressed)
22:45
ah, the 18 MiB are probably not a whole day
22:45
but still, we only have 20 GiB remaining on ddnet.tw
Avatar
120 MB for a whole day, so maybe a bit too much
22:49
will think about it later
Avatar
can we increase the disk size for now? ^^
22:51
anyway, I'm off. good night πŸ™‚
Avatar
sounds like a waste of money. good night
22:59
iβ€˜ll delete some useless stuff tomorrow
Exported 234 message(s)