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 2025-01-20 00:00 and 2025-01-21 00:00
Avatar
Avatar
DynamoFox
Okay, the latest DDNet 18.9 build from the chaotic-aur repo gets blocked as well. So it's plausible that there are some servers where the 'anticheat' performs detection based on some whitelisted data from the client, likely tied to a specific build.
Meow, figured out that ddnet has a kinky checksumming system in place (in plain sight) which measures various a number of code related parameters both at runtime and build time. Kinda surprised to see that it goes to the point of allowing the server to retrieve the hash of arbitrary sections of the game image on the fs lol At a glance it seems like TeeFusion is probing at join time both one of such parameters and retrieving the hash of a section of the executable. I hope that not many other servers are going to take on the business of blocking clients on the simple basis that they don't match 1:1 the official executables ☔
Avatar
Avatar
meloƞ
@MilkeeyCat so hot
MilkeeyCat 2025-01-20 06:41
ez
Avatar
Avatar
DynamoFox
Meow, figured out that ddnet has a kinky checksumming system in place (in plain sight) which measures various a number of code related parameters both at runtime and build time. Kinda surprised to see that it goes to the point of allowing the server to retrieve the hash of arbitrary sections of the game image on the fs lol At a glance it seems like TeeFusion is probing at join time both one of such parameters and retrieving the hash of a section of the executable. I hope that not many other servers are going to take on the business of blocking clients on the simple basis that they don't match 1:1 the official executables ☔
Avolicious 2025-01-20 08:50
Sounds worth if you dont want other clients than DDNet's on your server ^^
Avatar
i love this github roast thingie
Avatar
i thought this is supposed to roast you, not every DDnet Player feelsbadman
NOOOO 2
Avatar
wtf is that 😄 ?
Avatar
Avatar
Chairn
wtf is that 😄 ?
MilkeeyCat 2025-01-20 10:41
Avatar
Avolicious 2025-01-20 10:51
To my fellow open source contributors. GNU AGPLv3 is currently the most strict GPL, no? It forces any code-change to be open source
Avatar
Jupstar ✪ 2025-01-20 10:58
You can probably craft something more restrict. But AGPL disallows servers to be closed source, even if the binary is not distributed. They basically say that hosting the server is a service, and that service is a distribution. (edited)
Avatar
I think that is everything? If there is any documentation regarding extern and/or varargs to correct, let me know, some quick greps suggest that there might be none. Tracking issue: #100189
11:02
in 31 days rust 2024 releases
Avatar
Is there any way to run ddnet client on an ios device? preferably without using an emulator
Avatar
Jupstar ✪ 2025-01-20 11:05
no
Avatar
Jupstar ✪ 2025-01-20 11:05
wasm
Avatar
Avatar
Jupstar ✪
You can probably craft something more restrict. But AGPL disallows servers to be closed source, even if the binary is not distributed. They basically say that hosting the server is a service, and that service is a distribution. (edited)
Avolicious 2025-01-20 11:24
Ah, thanks! We are currently discussing in our company about open-sourcing & what license to choose from
Avatar
Avatar
Avolicious
To my fellow open source contributors. GNU AGPLv3 is currently the most strict GPL, no? It forces any code-change to be open source
it is the one that enforces the 4 user rights the most best
11:25
so yes its the best license
Avatar
Avatar
Ryozuki
so yes its the best license
Jupstar ✪ 2025-01-20 11:25
debatable 😬
11:25
u need to be pragmatic in this world https://www.gnu.org/philosophy/pragmatic.en.html
Avatar
Jupstar ✪ 2025-01-20 11:26
AGPL is not pragmatic imo
Avatar
@Avolicious what u open sourcing?
11:26
it is
Avatar
Jupstar ✪ 2025-01-20 11:27
For pragmatism, you need some form of "i dont care"
Avatar
gnu has a ideal and to apply this ideal it needs pragmatism (edited)
Avatar
Jupstar ✪ 2025-01-20 11:29
isnt that idealismus xD
Avatar
Avatar
Ryozuki
@Avolicious what u open sourcing?
Avolicious 2025-01-20 11:29
A small VPN helper for MacOS 😄 Its just a side project, but I would like to setup a basic open source contribution guideline ^^
Avatar
Jupstar ✪ 2025-01-20 11:29
lism*
Avatar
Every decision a person makes stems from the person's values and goals. People can have many different goals and values; fame, profit, love, survival, fun, and freedom, are just some of the goals that a good person might have. When the goal is a matter of principle, we call that idealism. My work on free software is motivated by an idealistic goal: spreading freedom and cooperation. I want to encourage free software to spread, replacing proprietary software that forbids cooperation, and thus make our society better. That's the basic reason why the GNU General Public License is written the way it is—as a copyleft. All code added to a GPL-covered program must be free software, even if it is put in a separate file. I make my code available for use in free software, and not for use in proprietary software, in order to encourage other people who write software to make it free as well. I figure that since proprietary software developers use copyright to stop us from sharing, we cooperators can use copyright to give other cooperators an advantage of their own: they can use our code. Not everyone who uses the GNU GPL has this goal. Many years ago, a friend of mine was asked to rerelease a copylefted program under noncopyleft terms, and he responded more or less like this: “Sometimes I work on free software, and sometimes I work on proprietary software—but when I work on proprietary software, I expect to get paid.” He was willing to share his work with a community that shares software, but saw no reason to give a handout to a business making products that would be off-limits to our community. His goal was different from mine, but he decided that the GNU GPL was useful for his goal too. If you want to accomplish something in the world, idealism is not enough—you need to choose a method that works to achieve the goal. In other words, you need to be “pragmatic.” Is the GPL pragmatic? Let's look at its results.
Avatar
Avolicious 2025-01-20 11:29
But its written in rust 😄
Avatar
Avatar
Avolicious
But its written in rust 😄
thats good
11:30
@Avolicious my work makes us use tailscale to connect to ssh
11:31
i only use it on the m3 i got tho
Avatar
Avolicious 2025-01-20 11:31
Its not about our VPN, its more about the clients vpn's
11:31
Their setups are something pretty weird
Avatar
happens xd
Avatar
Avolicious 2025-01-20 11:32
Haha, at their scale I would assume their setup is somehow efficient
Avatar
neat, they increased the tax on electricity
11:34
from 10% to 21%
11:34
epic capitalism
Avatar
Avolicious 2025-01-20 11:34
But KoG also goes open source, just no contributions yet ^^ https://github.com/KoG-teeworlds/maps-workflow
Avatar
Avatar
Avolicious
But KoG also goes open source, just no contributions yet ^^ https://github.com/KoG-teeworlds/maps-workflow
finally
11:34
ah but not the server? xd
Avatar
Avatar
Ryozuki
i only use it on the m3 i got tho
Jupstar ✪ 2025-01-20 11:35
when do you give me access to your m3? so i can add macos support lmao
Avatar
Avatar
Ryozuki
ah but not the server? xd
Avolicious 2025-01-20 11:38
The gameserver itself is not planned as of now. But step by step
11:39
To be fair, the gameserver doesnt differ a lot game-wise from ddnet. Physics and so on are still upstream compliant
Avatar
MilkeeyCat 2025-01-20 11:56
😬
justatest 5
Avatar
can i have the ddnet server use a map file from a completly different path? trying to get my VPS to allow hot-reloading the server when i save the .map file i edit with ddnet-rs ddnet-rs is bound to the config directory at ~/.config/ddnet-editor-server so the map file is in ~/.config/ddnet-editor-server/maps/map.map
Avatar
Avatar
meloƞ
can i have the ddnet server use a map file from a completly different path? trying to get my VPS to allow hot-reloading the server when i save the .map file i edit with ddnet-rs ddnet-rs is bound to the config directory at ~/.config/ddnet-editor-server so the map file is in ~/.config/ddnet-editor-server/maps/map.map
Jupstar ✪ 2025-01-20 12:38
you can simply modify the storage.cfg to use the same path
Avatar
dat works? :o
Avatar
Jupstar ✪ 2025-01-20 12:39
i don't think ddnet-rs writes any files ddnet uses
Avatar
Avatar
meloƞ
dat works? :o
Jupstar ✪ 2025-01-20 12:39
yeah edit the first line in storage.cfg and use a global path instead
12:39
i think that should work
12:39
But you can also simply add new paths
12:39
i think that is what ddnet-maps repo is doing too
Avatar
that didnt really work - but i just symlinked it which seems to work kekw
Avatar
Jupstar ✪ 2025-01-20 12:47
how does it reload it?
12:47
with rcon?
12:48
or better: how does ddnet server hot reload?
Avatar
i think it just checks if you're authed and the editor is saved, i just do it manually via reload
12:50
would be annoying for the map to reload every ~60 seconds (e.g save interval) anyway atm. tho i'm not sure how to properly integrate everything together
Avatar
Jupstar ✪ 2025-01-20 12:51
yeah
12:51
the editor server currently doesnt save anyway, basically for that exact reason
12:51
u can save locally tho
Avatar
oh it doesnt?
12:52
so the file on my VPS stays untouched?
12:52
or how does that work
Avatar
Jupstar ✪ 2025-01-20 12:52
rn yes, i can patch it directly
12:52
but let's first discuss the goal
Avatar
yeah
12:52
i guess the general goal would be a simple play map button kekw
Avatar
Jupstar ✪ 2025-01-20 12:53
  • e.g. how to force a save on the server from client
  • how to configure the save periode
  • is it important that it only saves the map if file actually changed
Avatar
okay the way i do it now is super sketchy but it works lmao
13:10
i'm such a windows scripter
Avatar
Avatar
MilkeeyCat
😬
please pin this, maybe in #showroom
Avatar
GitHub BOT 2025-01-20 15:26
08469e3 Add undo & redo label. - Jupeyy 368850d Add move group & layer actions - Jupeyy cf2ff99 Make action handling in server more pedantic, relax it by auto fixing actions instead. - Jupeyy d9f6743 Give brush a counter to make undo/redo more useful for it. - Jupeyy 255f483 Fix action identifier should not react to None. - Jupeyy 58335af Very simplistic admin panel - Jupeyy 0f167c4 Use password text edit for passwords - Jupeyy db61adb Merge pull request #79 from Jupeyy/pr_editor_fixes6 - Jupeyy
🥵 3
Avatar
ws-client BOT 2025-01-20 15:42
<ChillerDragon> @DynamoFox this discussion does not belong in a public channel. But I can tell you this much I can join all teefusion servers with selfcompiled chillerbot just fine. I think @Faulty fixed that for me last time. I can reproduce ddnet-git from the aur being blocked.
Avatar
Avatar
ws-client
<ChillerDragon> @DynamoFox this discussion does not belong in a public channel. But I can tell you this much I can join all teefusion servers with selfcompiled chillerbot just fine. I think @Faulty fixed that for me last time. I can reproduce ddnet-git from the aur being blocked.
Yes, but this is more of an exception. Ideally, there should be an official checkable image for Linux from DDNet, with same build files like on Windows
Avatar
It'll never work reliably unless one builds with the same toolchain of the official exes and the the build process is reproducible.
Avatar
ws-client BOT 2025-01-20 15:55
<ChillerDragon> hmm @Faulty on arch linux it is common to have programes compiled from source when installing them ._.
Avatar
Avatar
DynamoFox
It'll never work reliably unless one builds with the same toolchain of the official exes and the the build process is reproducible.
At that point one might also be more inclined to consider the idea of using the official builds. Because iirc the current official builds are just some opaquely built blobs whose dependencies were also opaquely built some time ago and stashed in the ddnet-libs repository coming from some opaque build system. (edited)
Avatar
Avatar
ws-client
<ChillerDragon> hmm @Faulty on arch linux it is common to have programes compiled from source when installing them ._.
Unfortunately, at the moment, there is no other way to block custom-built clients
Avatar
Avatar
DynamoFox
At that point one might also be more inclined to consider the idea of using the official builds. Because iirc the current official builds are just some opaquely built blobs whose dependencies were also opaquely built some time ago and stashed in the ddnet-libs repository coming from some opaque build system. (edited)
btw note that I wouldn't like to insinuate that the individual who builds the current exes does so with malicious intents ^^. It's just hard to ponder how trustworthy they are. (edited)
Avatar
Avatar
ws-client
<ChillerDragon> hmm @Faulty on arch linux it is common to have programes compiled from source when installing them ._.
Avolicious 2025-01-20 16:06
Sometimes this open-source only people are weird. They dont trust pre-compiled software, but they trust the bank with their money (edited)
Avatar
I somewhat trust my bank with my money
16:10
and I'm only against precompiled software when I need it to work and it's occasionally temperamental
16:12
the code is the best documentation and if I don't have access to that then how am I supposed to know what I'm doing wrong
Avatar
Avolicious 2025-01-20 16:12
So you dont play any game besides teeworlds
Avatar
I don't need games to work
Avatar
Avolicious 2025-01-20 16:12
the code is the best documentation and if I don't have access to that then how am I supposed to know what I'm doing wrong
16:13
This is DDNet, so hopefully not too much work related 😄
Avatar
Yeah, I'm just talking in general
16:13
I've had a good few instances where I couldn't find the solution in the documentation but looking at the source made my issue instantly obvious
16:14
with various pieces of software
Avatar
Avolicious 2025-01-20 16:15
I was more referencing to DynamoFox's statement
Avatar
I do think it's a shame that people get punished for not using the official builds, pretty weird even
Avatar
Avolicious 2025-01-20 16:21
But why? Let server hosters decide what types clients they want to accept
Avatar
Avatar
Avolicious
Sometimes this open-source only people are weird. They dont trust pre-compiled software, but they trust the bank with their money (edited)
Is it wrong to be a little reticent about running opaque binary blobs built by some single individual on some hobby project without any other oversight? The relationship one has with a bank is of a different kind and with actual contractual obligations on from both sides and some safeties for basic bank account operation. (edited)
Avatar
And what if I download the latest build from Github Actions, will that be official enough for those servers or will they complain because I'm trying to test something fresher than the latest release?
Avatar
Avatar
risu
And what if I download the latest build from Github Actions, will that be official enough for those servers or will they complain because I'm trying to test something fresher than the latest release?
Avolicious 2025-01-20 16:24
If I dont want experimental clients, sure
Avatar
Avatar
DynamoFox
Is it wrong to be a little reticent about running opaque binary blobs built by some single individual on some hobby project without any other oversight? The relationship one has with a bank is of a different kind and with actual contractual obligations on from both sides and some safeties for basic bank account operation. (edited)
Avolicious 2025-01-20 16:24
You can decide what bank you are using & other banks can deny your bank if they dont want to work with them
Avatar
Avatar
Avolicious
But why? Let server hosters decide what types clients they want to accept
I agree with that. But if you're going to mandate a client it has to be of a trustworthy origin to a degree. It also unjustly highs the responsibility bar on the one who builds the whitelisted client in case stuff goes rouge by accident on its build machine. (edited)
Avatar
Avatar
DynamoFox
I agree with that. But if you're going to mandate a client it has to be of a trustworthy origin to a degree. It also unjustly highs the responsibility bar on the one who builds the whitelisted client in case stuff goes rouge by accident on its build machine. (edited)
Avolicious 2025-01-20 16:25
It always does
Avatar
something something Nix
16:25
to be clear I'm not one of these Nix nuts
Avatar
Avatar
risu
And what if I download the latest build from Github Actions, will that be official enough for those servers or will they complain because I'm trying to test something fresher than the latest release?
they have no way to proof if your client is trustworthy enough
17:07
prove*
Avatar
chillerdragon BOT 2025-01-20 22:33
I do trust enough into my bank and the government to protect up to 100k but if I had a choice I would never use a bank account. I only use it to get a paycheck and pay rent/electricity and all the other things that refuse to operate on cash.
Replying to @Avolicious Sometimes this open-source only people are weird. They dont trust pre-co…
Avatar
Avatar
Avolicious
Sometimes this open-source only people are weird. They dont trust pre-compiled software, but they trust the bank with their money (edited)
this sounds like something that would lead into cryptocurrency nonsense
Avatar
chillerdragon BOT 2025-01-20 22:50
Crypto is nice
ninja 1
Avatar
teeworlds nfts
Avatar
cyberfighter 2 2025-01-20 23:02
default body (1 in 30) angry red eyes (1 in 5700) ctf5 background with clouds (1 in 89000) whos buying my rare tee
🤣 1
Exported 116 message(s)
Timezone: UTC+0