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 2023-02-10 00:00:00Z and 2023-02-11 00:00:00Z
02:23
Ray
Avatar
chillerdragon BOT 2023-02-10 08:20:49Z
Hacker monocle xd
Avatar
I mean it's a better design than what https://youtube.com/@ZackFreedman provided the community with. And has more functionality than just being a teleprompter. I'll definetly get one as soon as I can.
Welcome to my workshop, where wicked widgets, wild wearables, and wholesome wonder are wasted on weak witticisms and worthless wordplay. We once worked for whoever wanted wires to work, but the wacky world of wcontent has wiped our wherewithal. The thing on my face is a wearable computer I use as a teleprompter! Send gizmos, gadgets, and sampl...
Avatar
but I don't see the server in the general list... although yesterday registration was normal (edited)
09:23
09:29
hmm, many players can't connect to russian ddnet servers
09:30
cloudflare cant connect to russian web server too (same host as ddnet, myarena) (edited)
Avatar
Avatar
Matodor
hmm, many players can't connect to russian ddnet servers
oh, that explains the lowe number of players
09:45
I'd open a ticket with the hoster but can't reach their website either πŸ˜„
Avatar
Avatar
deen
oh, that explains the lowe number of players
myarena under 1tb ddos 😦
09:47
yesterday
09:47
09:48
Dear clients, we are witnessing very large attacks, more than 1 Terabit. It is difficult to cope with attacks of such power even for those who charge six or even seven figures for protection. As you know, our protection is free. We do network filtering on our own, using programs that we have developed ourselves, and we pay for channels from what we earn. The cost of channels is huge, and for a small host like us, protection against such attacks is very difficult. We are currently looking for solutions. Thanks for understanding.
feelsbadman 1
justatest 1
Avatar
ChillerDragon BOT 2023-02-10 12:04:40Z
@heinrich5991 @Learath2 is this conceptually going in the right direction? https://github.com/ddnet/ddnet/pull/5949
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...
12:07
yo @Patiga any chance you are motivated to add 0.7 map format support to ddnet? :)
Avatar
Avatar
ChillerDragon
yo @Patiga any chance you are motivated to add 0.7 map format support to ddnet? :)
I already started this in #5737, but I haven gotten around to finishing it (bezier support is missing)
Avatar
Add a version item check in CMap. Support loading maps with CMapItemLayerTilemap version 4, which makes use of the CTile::m_Skip member to compress tile layers. TODO: Support loading maps with CMap...
Avatar
Avatar
ChillerDragon
yo @Patiga any chance you are motivated to add 0.7 map format support to ddnet? :)
pls allow 0.7 to die πŸ₯Ί
Avatar
ChillerDragon BOT 2023-02-10 12:36:37Z
ah amazing thanks @Robyt3
Avatar
'ο₯› MAhdiyar 2023-02-10 12:44:46Z
Hello! Why when i build DDNet Client on linux its only working for me ? Others ppl couldn't use it and they got error , is there any static command for building client in linux?
Avatar
Jupstar βœͺ 2023-02-10 12:47:16Z
If the glibc dep is too high u cannot do it
12:47
Similar for other deps, tho they can be work around by using bundled libs
12:48
Why wouldn't the other person simply compile it
pepeH 1
Avatar
ChillerDragon: yes, going into the right direction
12:56
maybe you could also move the net message translation into a new file?
12:56
SendInfo7 is superfluous, just do it in the net message translation, I'd say
Avatar
chillerdragon BOT 2023-02-10 12:56:48Z
Thought so to but wanted to stay consistent with how it’s done Server side (@heinrich5991)
maybe you could also move the net message translation into a new file?
Avatar
I don't like the server version, it pollutes the file. let's ask @Learath2 on his opinion maybe
Avatar
chillerdragon BOT 2023-02-10 12:57:24Z
Yea sounds nice (@heinrich5991)
SendInfo7 is superfluous, just do it in the net message translation, I'd say
Avatar
and the src/game/version.h constants can probably also go directly into the translation, don't need the constants, I think
Avatar
I don't like the server version either
12:59
Problem I had with info was that it had to work with caching properly. So it wasnt very easy to achieve
Avatar
ah. that problem doesn't exist on the client side, so we should be good there
Avatar
Jupstar βœͺ 2023-02-10 13:00:00Z
Do u really plan to merge this?
Avatar
I think it should be fine if it's clearly separated
13:01
so yes, I thought that this would be nice to have in a finished form
Avatar
Jupstar βœͺ 2023-02-10 13:01:24Z
It adds more dependencies. We should go away from old dependencies
13:01
Have u never thought about that your decisions are bad for the projects future?
Avatar
I'm not sure what you mean by dependencies here, do you mean more code?
Avatar
Jupstar βœͺ 2023-02-10 13:03:05Z
If we support 0.7 ppl will use this
13:03
If we don't do it. They don't
Avatar
Avatar
Jupstar βœͺ
Have u never thought about that your decisions are bad for the projects future?
sentences with "never" are usually false. yes, I do try to reflect on decisions and want to see whether they're good or bad
Avatar
Jupstar βœͺ 2023-02-10 13:05:04Z
I hope u are aware that most decisions about the project were BCS of u
Avatar
yes, people will probably use it. you'd probably be annoyed by bug reports etc. coming from 0.7? I see, I understand, I think
Avatar
Jupstar βœͺ 2023-02-10 13:05:16Z
But u aren't the only person that likes ddnet
Avatar
im against adding 0.7 stuff
13:06
if we vote on this
Avatar
you probably mean 0.7 compatibility? or also stuff like 0.7 skin support?
Avatar
0.7 compat
13:06
we could add our own skin protocol
13:07
i would remove the sixup thing too
Avatar
Jupstar βœͺ 2023-02-10 13:07:07Z
We generally have 20 versions of this game
13:07
What is our goal with this
Avatar
a mess
13:07
tw is dead
13:07
i am for ddnet 2.0 with a protocol removing hacks
13:07
hacky code i mean
13:08
and ofc, as future proof as possible
13:08
with consideration for mods
Avatar
do you consider cleanly isolated compat code bad?
Avatar
unlike the long standing position of tw devs against mods
Avatar
Avatar
heinrich5991
do you consider cleanly isolated compat code bad?
it can exist in a fork
13:08
no need to be here
13:08
it adds noise
Avatar
even if it's cleanly isolated?
Avatar
to me yes
Avatar
i.e. not the stuff we have right now where game logic is intertwined with checking whether the client is at least version 15.3.3
Avatar
Jupstar βœͺ 2023-02-10 13:09:32Z
Then make it a proxy
Avatar
0.7 in itself is a useless thing to do
13:09
if chiller wants to put effort into it and have his fork sure he does he
13:10
but why the ddnet project needs that?
13:10
what we need a rework
13:10
is*
Avatar
Jupstar βœͺ 2023-02-10 13:10:16Z
This
Avatar
because we generally welcome contributions
13:10
rewrites are hard
Avatar
but this is not something that gives a tangible benefit in my opinion
Avatar
it'd probably give me the benefit that I could play vanilla
Avatar
rewrites are hard ok, but we dont need 0.7 compatiblity
Avatar
which I enjoyed
Avatar
u can play vanilla
13:11
use the 0.7 client
13:11
or ddnet and play 0.6
Avatar
yes; that's the barrier to entry
Avatar
the truth is vanilla is dead
13:11
and its not cuz ddnet
Avatar
I can't just decide to join a round of vanilla right now, there are no servers with players
13:11
I did not say anything like that
13:11
I agree that 0.7 is mostly dead
13:11
but it seems to be the only place where I can play a round of vanilla
Avatar
Jupstar βœͺ 2023-02-10 13:12:03Z
As if 0.7 vanilla is so much greater experience xddd
Avatar
Jupstar βœͺ 2023-02-10 13:12:13Z
0.6 has vanilla too
Avatar
but no players
13:12
I need other players for vanilla
Avatar
like 0.7
Avatar
at least months back, I could play a round of vanilla in 0.7
Avatar
Jupstar βœͺ 2023-02-10 13:12:41Z
Well then go to#general and ask
Avatar
without asking friends
Avatar
if u want players for vanilla instead of addinng code bloat, u should make tournaments or stuff
13:13
why does ddnet need to take care of vanilla stuff?
13:13
it makes no sense
13:13
ddnet is a ddnet client
Avatar
ddnet doesn't have to, obviously
13:13
it's ChillerDragon who wants to invest time in it
Avatar
yeah thats fine, in his fork
Avatar
I probably wouldn't implemnet it, I have other interests
13:14
why is it important that it's a fork, here?
Avatar
cuz its not on the ddnet repo, where ddnet code is
Avatar
Jupstar βœͺ 2023-02-10 13:14:26Z
It defs makes a rewrite harder
Avatar
its how free software works
Avatar
Jupstar βœͺ 2023-02-10 13:14:44Z
BCS it relies on our current code
Avatar
if his fork is better
13:14
it will gain more users
Avatar
no
13:14
we have steam, repos, etc.
13:15
it needs to be more than just better
Avatar
not rly
Avatar
the website
13:15
yes
Avatar
Jupstar βœͺ 2023-02-10 13:15:07Z
If we remove lot of stuff. Rewriting gets more realistic
Avatar
I think you're being unrealistic
13:15
we saw that in the past with ffmpeg e.g.
13:15
ffmpeg had to be REALLY bad for a while
13:15
before distros added the fork
13:15
also ddnet/vanilla
13:15
only because vanilla was dead for soo long, people started including ddnet in the repos
Avatar
vanilla died for a reason
13:16
ddnet is more entertaining
Avatar
I'm saying ddnet had to be more than just better
Avatar
teeworlds had everything u say
13:16
website
13:16
steam
13:16
reach
Avatar
yes
Avatar
it was in all linux repos
Avatar
Jupstar βœͺ 2023-02-10 13:16:29Z
So if his fork gets attention we can still add it
Avatar
and ddnet yet is here
Avatar
and ddnet didn't have to be just better
13:16
it had to be a lot better
13:16
which it was
13:16
but it's not just "being better". it's being overwhelmingly better
Avatar
ddnet didnt start with a lot better
13:17
yet it quickly gained players
13:17
its simply that the gamemode is more interesting and unique
13:17
pvp gets stale fast
13:17
and noobs have a harder time
Avatar
winners write history books I guess
Avatar
cuz they are matched against 10y old pros
13:17
thats a problem with many games
13:17
but coop games dont have that problem
Avatar
need to do stuff irl
Avatar
anyway, if we vote, which i doubt will be the case given previous iterations, im still against it
Avatar
Jupstar βœͺ 2023-02-10 13:20:00Z
Whatever makes 0.7 vanilla mod more attractive we can still add to the client
13:20
But ddnet has such a big player base, yet nobody cares
Avatar
ChillerDragon BOT 2023-02-10 13:58:18Z
if 0.6 code is removed the rewrite shouldnt be harder
13:58
and the thing that makes vanilla 0.7 more attractive is that it is the only version you can play with the official client
13:59
unlike the long standing position of tw devs against mods
14:00
as of right now vanilla is more mod friendly than ddnet
Avatar
Jupstar βœͺ 2023-02-10 14:00:12Z
you dont understand heinrich
14:00
he'd never drop 0.6 support
Avatar
ChillerDragon BOT 2023-02-10 14:00:30Z
we dropped 0.5 didnt we?
Avatar
Jupstar βœͺ 2023-02-10 14:00:31Z
else this would be a completly different situation
14:00
i guess that was still vanilla tw's archivement
Avatar
ChillerDragon BOT 2023-02-10 14:00:55Z
@heinrich5991 jopsters assumtion right that 0.6 will not be dropped?
14:01
is*
Avatar
Jupstar βœͺ 2023-02-10 14:01:17Z
if we'd drop 0.6, we could also make a complete rewrite xD
14:01
isnt that obvious
Avatar
ChillerDragon BOT 2023-02-10 14:01:51Z
yea sure but i personally have no problem with the protocol if you do you can do a rewrite
14:01
i only have a problem with missing vanilla compability
Avatar
Jupstar βœͺ 2023-02-10 14:02:40Z
but just for the record, u are aware that 0.7 is dead
14:02
vanilla
14:03
and even if oy gets active tw has no real future
14:03
bcs egomant
Avatar
ChillerDragon BOT 2023-02-10 14:25:21Z
0.7 vanilla seems as alive to me as i know it from 0.6
14:26
someone to play with on ctf5 most of the time
14:26
not sure about pro games since i quit vanilla they might be dead
Avatar
jupstar* btw
14:38
I don't think we'll ever base the ddnet protocol on top of the tw 0.7 network protocol
14:38
there seems to be no point in it
14:39
dropping 0.6 at some point is probably okay, there are probably no players there anymore
Avatar
Jupstar βœͺ 2023-02-10 14:41:48Z
jupjopjapster βœͺ gechillter drache
Avatar
ChillerDragon BOT 2023-02-10 14:46:10Z
axax
Avatar
ChillerDragon: as of right now vanilla is more mod friendly than ddnet
How so? Didn't the 0.7 protocol broke all mods, moved the vanilla game mode code to the base classes, disable features wanted for mods e.g. Sv_GlobalSound (and oh oy enabled Sv_SkinChange in 0.7.3. Port a mod to 0.7 means the loss of all players because there is no smooth transition. Otherwise the only option is DDNet codebase.
(edited)
Avatar
Avatar
Ryozuki
teeworlds had everything u say
Forgot to mention: reasonable maintainers. Teeworlds (0.7 and as the upstream) is dead also due to that point being missed.
Avatar
Avatar
ChillerDragon
0.7 vanilla seems as alive to me as i know it from 0.6
for vanilla exist 0.6<->0.7 server by TsFreddie, its enough pls allow 07 to die give us mod api for 0.6 πŸ˜”
Avatar
give us mod api for 0.6
This! But it means more maintenance load for DDNet. I'd love to see a shared codebase with DDNet being one of the game modes implemented ontop. Yet it is hard to expect because for DDNet it means a lot of dev resources wasted for too small effect. 'Better abstractions and clear architecture' is a silly reason for such a big effort. Deen mentioned (https://discord.com/channels/252358080522747904/293493549758939136/1048251667432353843) ddnet-skeleton https://github.com/teeframe/ddnet-skeleton but it starts with disable of ASan, UBSan, and Valgrind's Memcheck tests πŸ‘€ . Looking at the commits, a huge drop in the quality I expect. :yoda:
Skeleton for creating modifications on top of the latest DDNet version. Forked from https://github.com/ddnet/ddnet. - GitHub - teemods/ddnet-skeleton: Skeleton for creating modifications on top of ...
Avatar
ChillerDragon BOT 2023-02-10 15:08:05Z
@Kaffeine > How so?
15:08
the way i said it
15:08
im not saying the 0.7 protocol is more mod friendly than 0.6
15:08
im saying the vanilla code base has a gamecontroller server side and ddnet code base blocks the gamecontroller with the ddrace controller
15:09
vanilla even added stuff for race in its code base
15:09
ddnet made no efforts to my knowledge to be a moddable codebase
Avatar
made no effort to be a moddable codebase
The benefit for that is super low. However DDNet accepts such PRs and the maintainers spend their time reviewing such changes. E.g.: https://github.com/ddnet/ddnet/pull/3502/files#diff-cd203dd9ecb0f067300e80e7357a5fb6e3b52982a9bde783f1cdbd53fe8151bd This seems to be much better than how the teeworlds upstream treat the mods. Do I really have to say you that DDNet has explicit support for other mods? E.g. code: https://github.com/ddnet/ddnet/blob/master/src/game/client/gameclient.cpp#L1005 E.g. resources: https://github.com/ddnet/ddnet/tree/master/data/editor/entities_clear
15:30
The protocol extension with UUIDs is super neat: https://github.com/ddnet/ddnet/pull/615 It is extremely helpful for mods. I base Infclass client on that and it won't be possible on 0.7.
Avatar
fwiw I was only for 0.7 compatibility because it seemed teeworlds was again alive for a while there
Avatar
Avatar
Kaffeine
give us mod api for 0.6
This! But it means more maintenance load for DDNet. I'd love to see a shared codebase with DDNet being one of the game modes implemented ontop. Yet it is hard to expect because for DDNet it means a lot of dev resources wasted for too small effect. 'Better abstractions and clear architecture' is a silly reason for such a big effort. Deen mentioned (https://discord.com/channels/252358080522747904/293493549758939136/1048251667432353843) ddnet-skeleton https://github.com/teeframe/ddnet-skeleton but it starts with disable of ASan, UBSan, and Valgrind's Memcheck tests πŸ‘€ . Looking at the commits, a huge drop in the quality I expect. :yoda:
I did a couple iterations on this but honestly everytime I start isolating gameplay related code I just get this unbelievable urge to just rewrite everything
Avatar
@heinrich5991 What do you think about my suggestion to use sizeof(int32_t) in #6328? Would that make it acceptable to you? Or should I just drop that commit?
Avatar
Supersedes #6263. 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 (especi...
Avatar
Avatar
Learath2
The code is not the cleanest mostly because I was about to have a mental breakdown when implementing all that. I had a cleaner abstraction like you suggest but there was a bug that I just couldn't find. So I took 3 days off, came back and just branched the fuck out of it without moving the code
If you'd ever try to do it again, please mention or PM me, I'll find time to help. Or maybe I'll also try to do some steps in this direction eventually but I've no idea when it happen.
Avatar
Robyt3 is singlehandledly carrying ddnet code rn
15:55
gigachad
15:55
i want to do stuff but the stuff i always find to do has a too much big of a scope
15:55
i need to have the skill to find small refactors like robyt
15:56
i wanted to add a secure channel between server and client using pubkey, i got the exchange, but then i went deep into the protocol layer to add encryption as if it was invisible to the higher level code
15:56
and i just stopped
15:56
cuz too much work
Avatar
I remember two massive issues, 1 is IGameController it's misnamed, it's not an Interface :D, 2nd was CGameControllers and IGameController leaking into CGameContext
Avatar
Avatar
Robyt3
@heinrich5991 What do you think about my suggestion to use sizeof(int32_t) in #6328? Would that make it acceptable to you? Or should I just drop that commit?
I'm not the one to review PRs in this project but I still look at them time to time. Personally I find sizeof(int32_t) to be the most readable option πŸ‘ . On one hand you removed the hardcode and the new code indeed makes it clear that there are ints instead of four chars or two shorts. On the other hand Heinrich5991 point in possible variations of the int size makes sense and (with int32_t) you're addressing it in the most reasonable way.
Avatar
Avatar
Ryozuki
cuz too much work
Yeah, it is super important to stop at the right scope (which might be big enough because we have big issues and yet it should be doable and not overwhelming).
Avatar
Avatar
Learath2
I remember two massive issues, 1 is IGameController it's misnamed, it's not an Interface :D, 2nd was CGameControllers and IGameController leaking into CGameContext
The name itself is not a big technical issue or significant tech debt. I see the two issues in: 1. Network/protocol-specific stuff spread through the codebase (I'd rather have another layer for that) (edited)
16:08
2. Game mode stuff spread through the codebase (not encapsulated into ModGameController; and hey, it does not seem to be doable reasonably). In another mod I've also subclassed CPlayer and CCharacter, and still had to keep some mod-specific code in CGameContext.
16:10
What might be doable step-by-step? To move more stuff into the GameController we need a way to e.g. register console commands there.
Avatar
Name isn't an issue, but the way it's treated as sort of an interface sort of a class is
Avatar
Avatar
Learath2
I remember two massive issues, 1 is IGameController it's misnamed, it's not an Interface :D, 2nd was CGameControllers and IGameController leaking into CGameContext
yeah server needs full refactor
17:13
tried to do this like 4 times xd
17:13
never happened
Avatar
I have this urge to just do it all over in rust
Avatar
ChillerDragon BOT 2023-02-10 17:17:54Z
lerato rust fan
Avatar
Avatar
Learath2
I have this urge to just do it all over in rust
libtw2 moment
17:21
also rust server is pretty good xd
17:21
was able to run mazes on it
Avatar
Avatar
Learath2
I have this urge to just do it all over in rust
i hope thats true
Avatar
Jupstar βœͺ 2023-02-10 17:24:07Z
learath is too depressed, but would be cool xd
Avatar
aye, I barely have motivation to wake up
Avatar
Jupstar βœͺ 2023-02-10 17:24:49Z
hope always dies last
Avatar
ChillerDragon BOT 2023-02-10 17:29:32Z
oof lerato sad
17:29
._.
Avatar
we need ddnet on asm
Avatar
Jupstar βœͺ 2023-02-10 18:10:47Z
compile ddnet, then u have ddnet on asm
Avatar
ChillerDragon BOT 2023-02-10 18:29:11Z
asmr ddnet
Avatar
Avatar
Jupstar βœͺ
compile ddnet, then u have ddnet on asm
maybe they mean roller coaster tycoon asm level
Avatar
What is the motivation for the changes of this pull request?
The idea is to simplify and refactor the game code step by step. This is the next step after a similar https://github.com/ddnet/ddnet/pull/5600 The key idea is that all those cpp protocol7::CNetObj_SpectatorInfo *pSpectatorInfo = static_cast(Server()->SnapNewItem(NETOBJTYPE_SPECTATORINFO, m_ClientID, sizeof(protocol7::CNetObj_SpectatorInfo))); are too plenty and error-prone. We have the relation between `CNetOb...
Exported 237 message(s)