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 2024-11-20 00:00 and 2024-11-21 00:00
Avatar
is toggle quads a keybind by default? (edited)
00:46
if so, i think it shouldn't be
Avatar
Avatar
Faulty
@heinrich5991 here is another attempt to request an increase in the size of the JSON accepted by the master server to 32KB. Currently, if I don't send the skin, send an empty clan, and set the score to zero, I can fit about 134 players. Without these tricks, the maximum is around 89 players. The remaining fields are mandatory and cannot be removed; otherwise, the client will drop the server information. I plan to compress the JSON later by removing line breaks, but unfortunately, even that won't be enough. I made approximate calculations without considering the JSON limitations, focusing more on the size of server data: Approximate maximum size of server information: 410 bytes Approximate maximum size of information per player: 256 bytes Thus, in the maximum case: 64 players: 410 + 256 * 64 = 16,794 bytes 128 players: 33,178 bytes 256 players: 65,949 bytes If compression is applied: 64 players: 13,209 bytes (345 + 201 * 64) 128 players: 26,073 bytes 256 players: 51,801 bytes Since the client sorts players by score, I can optimize this by sorting on the server side and sending, for example, only the top 64 players with skins, while the rest are sent without skins. This could reduce the information for 256 players to 35,162 bytes (410 + 12,864 + 21,888). If only 32 skins are sent, the total would be 32,378 bytes.
maybe stop using json?
Avatar
Avatar
Solly
maybe stop using json?
REAL
Avatar
just pack everything together with fixed width attributes... well being fixed with and strings being null terminated, players can be single null terminated (again) and eof doesnt need to be marked (edited)
06:41
all json messages start with [ or {, so you know a msg isnt if it starts with 2 (for version 2 eg)
Avatar
Wouldn't that break stuff? What if you want to add another field?
Avatar
Avatar
Teero
Wouldn't that break stuff? What if you want to add another field?
ad it to the end
06:41
and/or increment the version number (edited)
06:42
i mean if you know the number of attributes you dont need to null terminate players (edited)
06:42
but doing that might allow you to omit information for saving space if it it not used
06:43
that is you stick the least common information
06:43
that being skin colors and clan i guess
06:44
and the first attribute is the name which is the most important
Avatar
I guess all the identifiers are gone if you just use the order of fields
πŸ‘ 1
06:49
Next problem is how do you support all old clients?
Avatar
you dont
06:49
you can always still send json (edited)
Avatar
Avatar
Solly
you can always still send json (edited)
wdym
Avatar
you check if the client would support new formatting, if it does send it, if it doesnt send json
Avatar
So the client send the stuff in binary and the mastersrv converts it into json or what?
Avatar
the mastersrv presumably has to put the data in the json into its own internal structure
06:51
which is then converted back to json with the rest of the srvs it needs to send
Avatar
headache kind of problem
Avatar
the client can even be told to ask a different endpoint
06:52
https://master1.ddnet.org/ddnet/15/servers.bin
06:53
and when u recieve a msg from a server you just look at the first byte if its [ or { you interpret as json
06:53
if you see a 0x2 you try the new format
06:53
otherwise its invalid
Avatar
yea that would work
Avatar
you avoid new versions because that means more code but if you do need them
06:54
0x3 and servers.bin3 is always available
Avatar
why is sixup called such instead of from/to 7 or 07
Avatar
GitHub BOT 2024-11-20 07:48
946f96d Add ζ’¦δΉ‹ as CHN moderator - def-
Avatar
Avatar
Solly
why is sixup called such instead of from/to 7 or 07
because sixup sux up
Avatar
Avatar
zhn
because sixup sux up
argh
08:09
struct CNetObj_ClientInfo { static constexpr int ms_MsgId = NETOBJTYPE_CLIENTINFO; int m_Name0; int m_Name1; int m_Name2; int m_Name3; int m_Clan0; int m_Clan1; int m_Clan2; int m_Country; int m_Skin0; int m_Skin1; int m_Skin2; int m_Skin3; int m_Skin4; int m_Skin5; int m_UseCustomColor; int m_ColorBody; int m_ColorFeet; };
08:09
this makes mse sad
08:09
also doesnt allow 0.7 skins to be sent /:
Avatar
GitHub BOT 2024-11-20 08:09
c41b41c New CHN3 (instead of CHN2, thanks to Mind!) - def-
Avatar
Avatar
Solly
also doesnt allow 0.7 skins to be sent /:
but there are two protocols, you are probably looking into 0.6 one
Avatar
Avatar
zhn
but there are two protocols, you are probably looking into 0.6 one
a 0.6 client will never get 0.7 messages from a 0.6 server (edited)
08:26
and im not sure if it will accept them
08:27
or if it should
Avatar
Avatar
Solly
a 0.6 client will never get 0.7 messages from a 0.6 server (edited)
you can try to make it though
Avatar
Avatar
Solly
or if it should
i guess its less code to make the ddnet server send a 0.7 msg and have the 0.6 client translate it
Avatar
0.7 packets are processed way different then 0.6 packets, but ig you can keep mixed protocol
08:29
it would be a hell though
Avatar
throw 0.7 in the bin, steal all the wanted features and replace the steam page x-x
08:29
problemo solved!
Avatar
we got em, another 07 hater :p
Avatar
i dont not like 0.7 i just think ddnet is better
08:31
minus the fact ddnet put all its snotty ddnet all over every part of the codebase making it hard to make mods
08:31
but 0.6 server still exists
Avatar
0.6 server will feel different
08:31
also dummies are buggy on pure 0.6
Avatar
Avatar
Solly
why is sixup called such instead of from/to 7 or 07
cyberfighter 2 2024-11-20 08:31
sixup goes hard
Avatar
Avatar
zhn
also dummies are buggy on pure 0.6
yeah but modding ddnet is hard
08:32
and most mods dont need or even restrict dummy usage
Avatar
Avatar
Solly
yeah but modding ddnet is hard
not really hard, but it takes way longer to get what you need in comparison with clean 0.6/0.7
Avatar
Avatar
zhn
not really hard, but it takes way longer to get what you need in comparison with clean 0.6/0.7
annoying ~= hard (edited)
Avatar
but 0.6 server code is even worse for me
Avatar
Avatar
Solly
annoying ~= hard (edited)
use that word instead then xd
Avatar
is the json uncompressed?
08:56
32k for 128 players seem high (edited)
Avatar
tis json afterall
Avatar
Avatar
Tater
32k for 128 players seem high (edited)
Currently only 16k
Avatar
But is it compressed
09:33
It's like a 4x difference
Avatar
Not sure about 4x, but yes it's good
09:35
U could check my calculations in issue, I measured for compressed also
09:35
I think depending on data
Avatar
weird stuff happening on our servers:
10:11
maybe someone knows who or what that is
Avatar
he spammed kog a few months ago too
10:16
i think there is a ip blacklist flying around somewhere
10:16
maybe heinrich can help
Avatar
Avatar
jxsl13
weird stuff happening on our servers:
spambot
Avatar
did not join the server, does it spam in the chat :0?
Avatar
girixione BOT 2024-11-20 10:50
hi?
Avatar
girixione BOT 2024-11-20 10:50
plz help me
Avatar
after you learn rust properly
Avatar
girixione BOT 2024-11-20 10:51
i write cmake and my git write me, bash: cmake command no found
10:52
i'm create build and cd build
10:52
or which program should I use for the dfng build?
Avatar
When a player joins the team, it is not possible to ban them if you are not in the team. Could you add the option for silent voting? 10 players must vote for a particular person in the team to allow voting to kick a player from the server. Or something working on a similar principle, players in the team are untouchable, they can write whatever they want in the chat, tag as much as they want, and a player who is not in the team cannot do anything about it. (can mute it but that is not the solution to the problem ) Do you have any plans to allow something to be done about such players? I am using a translator to communicate with you. I hope everything is clear and understandable.
Avatar
Avatar
Ryozuki
after you learn rust properly
I presume this is after a previous discussion. But imagine if you weren't willing to help anyone unless they learnt rust. Random: "hey can you lend me a hand with this box" You: "Only if you learn rust" xD
Avatar
Avatar
Solly
I presume this is after a previous discussion. But imagine if you weren't willing to help anyone unless they learnt rust. Random: "hey can you lend me a hand with this box" You: "Only if you learn rust" xD
no i was just joking xd
Avatar
Avatar
girixione
i write cmake and my git write me, bash: cmake command no found
u need to install cmake
11:02
thats what " cmake command no found" means
Avatar
Avatar
jxsl13
did not join the server, does it spam in the chat :0?
ye
Avatar
Avatar
Bosmen
When a player joins the team, it is not possible to ban them if you are not in the team. Could you add the option for silent voting? 10 players must vote for a particular person in the team to allow voting to kick a player from the server. Or something working on a similar principle, players in the team are untouchable, they can write whatever they want in the chat, tag as much as they want, and a player who is not in the team cannot do anything about it. (can mute it but that is not the solution to the problem ) Do you have any plans to allow something to be done about such players? I am using a translator to communicate with you. I hope everything is clear and understandable.
mute is the solution, what else you need? this guy can't harm your run or whatever
πŸ‘ 1
Avatar
Avatar
zhn
mute is the solution, what else you need? this guy can't harm your run or whatever
One player on the server is harming everyone else. If there are 63 players on the server and one is causing harm, should the remaining 62 people block this player every time, or is it better to get rid of them once and for all but mute is the solution and is not x_x (edited)
Avatar
look, first of all, you can already kick radom person from your team, so, they can be banned right after. second, what if person wants to play solo on this map (linear as example), another bad guys will be able to ban em? its strange. third, if you will vote one person, all other players should action too if they are really annoyed, so, there's no difference between muting them or banning, its optional
βœ… 1
11:14
ban is for gameplay part, mute is for chat
Avatar
Avatar
girixione
i write cmake and my git write me, bash: cmake command no found
girixione check out the build instructions from https://github.com/ddnet/ddnet (edited)
11:15
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
girixione BOT 2024-11-20 12:02
teero777, which program should I use for the dfng build?
Avatar
Avatar
girixione
teero777, which program should I use for the dfng build?
dfng, a teeworlds mod based on ddnet code, inspired by fng - Inateblig/dfng
12:05
?
Avatar
I would use a "compiler" to answer your question πŸ€”
Avatar
girixione BOT 2024-11-20 12:11
plz send link
Avatar
Avatar
girixione
plz send link
read the readme to learn howt o compile stuff
12:11
any problems should/can be solved with google/chatgpt
Avatar
oh yeah, just copy and enter everything that chatgpt outputs into a terminal
Avatar
Avatar
Assa
oh yeah, just copy and enter everything that chatgpt outputs into a terminal
i wish i couldve learnt stuff that easily
12:12
i mean i do now
12:12
but scowering the web looking for things you cant phrase properly
12:12
"back in my day" (edited)
Avatar
C++ is much easier, when chatgpt can explain your errors and suggest changes
Avatar
for the errors ive had with cpp (speicifically with ddnet lmao), chatpgt it can explain things fine... it cant fix them (and its changes are often useless) (edited)
Avatar
girixione BOT 2024-11-20 12:14
you are not developing well, I asked you for a link to the compiler, and you rub chatgpt into me
Avatar
look at that monstrosity which chatgpt made for me and actually works: std::thread spawn(sockpp::tcp_socket sock) { // Move 'sock' into the lambda to avoid copying return std::thread([this, sock = std::move(sock)]() mutable { this->listen_network_tcp(std::move(sock)); }); }
Avatar
yeah idk what that does
Avatar
Avatar
girixione
you are not developing well, I asked you for a link to the compiler, and you rub chatgpt into me
clueless (no front)
Avatar
the only reference to struct CNetObj_ClientInfo is generated, where... do i look to find... that?
Avatar
Avatar
girixione
you are not developing well, I asked you for a link to the compiler, and you rub chatgpt into me
to actually help you: are you on windows or linux? Depending on that you have to do different steps
Avatar
Avatar
girixione
you are not developing well, I asked you for a link to the compiler, and you rub chatgpt into me
well first rub yourself in the readme because you havent read it obviously
Avatar
Avatar
Solly
the only reference to struct CNetObj_ClientInfo is generated, where... do i look to find... that?
in the python files which generate them (really!)
Avatar
oh of course
12:16
sigh
12:16
where would i put things like it (new struct called CNetObj_ClientInfo7)?
12:16
if i dont want them to be generated for no reason because i know the everything about it at compile time
Avatar
in another python file, maybe, I really really hate the generated netcode
Avatar
yeah but i dont need it to be generated
12:17
why is... it generated?
12:17
all this stuff looks pretty known before compile time (edited)
Avatar
generate the original files, and then copy the generated cpp code, but if you use CMakeLists you have to adjust that
Avatar
i just want a new struct x-x
12:17
and for it to fit in with the rest of the code
12:20
my Cat learning asm
Avatar
Avatar
Ryozuki
Click to see attachment πŸ–ΌοΈ
not enough pain and suffering
12:20
for learning asm
12:21
if someone else was tryign to teahc you asm, then yeah youd fall asleep
Avatar
Avatar
Solly
and for it to fit in with the rest of the code
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
no dont make me do it
12:21
i dont want to touch the python files
12:22
also its supposed to be 0.6 like message
12:22
i want to allow 0.7 player infos in snap so i can send 0.7 skins
Avatar
Avatar
Solly
i want to allow 0.7 player infos in snap so i can send 0.7 skins
hmm shouldn't you them make 0.6 players send/convert 0.7 skins? Because 0.7 clients can already understand 0.7 skins, also there is a network message in teeworlds 0.7 to send skins
Avatar
Avatar
Assa
hmm shouldn't you them make 0.6 players send/convert 0.7 skins? Because 0.7 clients can already understand 0.7 skins, also there is a network message in teeworlds 0.7 to send skins
i dont think i can use the 0.7 code beacuse its part of the 0.7 snap
12:25
as in just call a function and be done
Avatar
you should be able to send 0.7 netmessages to 0.7 clients?
Avatar
no no
Avatar
maybe this is not known in the ddnet seven netcode
Avatar
i think ure misunderstanding what i wana do
12:26
0.7 skin support for 0.7 clients is functional already
12:26
i want the (ddnet) server to be able to also send 0.7 skins to ddnet clients and fro the client to accept them
Avatar
ChillerDragon BOT 2024-11-20 12:28
girixione: may i ask why you try to build dfng?
Avatar
does ddnet fully respect the 0.6 netcode or does ddnet have extra netcode compared to 0.6?
Avatar
extra
Avatar
ws-client BOT 2024-11-20 12:28
<ChillerDragon> it has extensions but is compatible
πŸ‘ 1
Avatar
do u see reactions mr dragon (edited)
Avatar
ws-client BOT 2024-11-20 12:29
<ChillerDragon> no
Avatar
what are u even using?
Avatar
ws-client BOT 2024-11-20 12:29
<ChillerDragon> using to chat?
Avatar
ws-client BOT 2024-11-20 12:29
<ChillerDragon> irc kinda
12:29
Avatar
whats a signin token?
Avatar
ws-client BOT 2024-11-20 12:30
<ChillerDragon> nimrocks
Avatar
signup token
Avatar
ws-client BOT 2024-11-20 12:31
<SollyBunny> hello
12:31
<SollyBunny> you only get
12:31
<SollyBunny> #developer and #off-topic?
Avatar
Avatar
Solly
extra
now I understand more what you are trying to do and why you use clientInfo, because it contains the skin info. You want to send your own ddnet-clientinfo to ddnet clients then, right?
Avatar
ws-client BOT 2024-11-20 12:31
<ChillerDragon> no #off-topic
12:31
<ChillerDragon> only #developer has a irc bridge
12:31
<SollyBunny> oh okay
12:32
<SollyBunny> why? do you use this
Avatar
and the "ddnet-clientinfo" contains 0.7 skininfo
Avatar
ws-client BOT 2024-11-20 12:32
<SollyBunny> well im not calling it ddnet-clientinfo because its not ddnet specific
12:32
<SollyBunny> im calling it clientinfo7 because it is just what 0.7 uses
12:32
<SollyBunny> and on the client side there will be an option to accept 0.7 skins (which on by default and also used as the way to tell if a client can accept them) as well as an option to send 0.7 skins
12:33
<SollyBunny> why am i poo brown
12:33
<ChillerDragon> @SollyBunny i usually use weechat on my vps but currently my ping is too high to use ssh
12:33
<ChillerDragon> i think your icon color is determined by the first letter of your name if i remember correctly
12:34
<SollyBunny> /:
12:34
<SollyBunny> weechat on a vps also with a bot to sync to this chat?
Avatar
you should be able to know before sending if a client can accept them by checking the ddnet-version or if it's a teeworlds 0.7 client
Avatar
ws-client BOT 2024-11-20 12:34
<ChillerDragon> weechat to use irc directly i just run it 24/7 to have a chat backlog
12:35
<SollyBunny> @Assa the server already knows if a client is 0.7. And i want to have the option to disable 0.7 skins anyway so why not use it as a feature flag
12:35
<ChillerDragon> there is a bridge from irc to this discord channel but its not operated by me but by the ddnet team
12:35
<SollyBunny> weechat is an irc client?
12:35
<ChillerDragon> yes
12:35
<SollyBunny> why... weechat?
12:35
<ChillerDragon> not to be confused with wechat
12:35
<SollyBunny> oh
12:36
<SollyBunny> that makes more sense
12:38
<SollyBunny> @ChillerDragon did you make this?
12:38
<ChillerDragon> yea
12:38
<ChillerDragon> with the help of jupstar and milkeeycat https://github.com/discord-irc/
discord-irc has 2 repositories available. Follow their code on GitHub.
12:38
<SollyBunny> do you plan to make it less rusty?
12:39
<ChillerDragon> i dont think so
12:39
<ChillerDragon> whats rusty?
12:39
<SollyBunny> no reactions or emojis, no pfp, everything appears as 1 msg on discord, no line wrap, the autocomplete of said emojis is underneath the chat, no @ completion
12:40
<SollyBunny> cough
12:40
<ChillerDragon> i have @ completion do you have the plugins on?
12:40
<SollyBunny> i mean its enough to just talk to people
12:41
<ChillerDragon> it is irc under the hood. there are no multi line messages in irc or reactions.
12:41
<ChillerDragon> my lines are wrapping
12:41
<SollyBunny> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
12:41
<ChillerDragon> irc also has no profile pictures
12:41
<SollyBunny> cant paste images
Avatar
ws-client BOT 2024-11-20 12:41
<ChillerDragon> irc also has no images
12:42
<ChillerDragon> you can paste image urls
12:42
<ChillerDragon> you can not see images because they are not bridged
12:42
<SollyBunny> but an irc client can embed images
12:42
<ChillerDragon> you can not see reactions because they are not bridged
12:42
<SollyBunny> and have reactions sent as just messages and interpreted by the client
12:42
<ChillerDragon> yes thats something the bridge could do
12:43
<ChillerDragon> milkeeycat actually built that
12:43
<ChillerDragon> but ddnet staff would have to deploy it i can not do it
12:43
<SollyBunny> are there not common standards for these things in irc?
12:43
<ChillerDragon> there are
12:43
<ChillerDragon> and they do not contain much additional bloat on top of what a chat needs which is sending and receiving text messages
12:44
<SollyBunny> what does that mean
12:44
<SollyBunny> having everything encoded as just text messages is not bloat i guess?
12:44
<ChillerDragon> that for me everything works totally fine. One thing that is annoying is that discord started to block outside access for attachments so I can not see images anymore.
12:44
<SollyBunny> raelly??
Avatar
ws-client BOT 2024-11-20 12:45
<SollyBunny> i can still see them
12:45
<SollyBunny> from a different ip
12:45
<SollyBunny> well ive probably logged into discord on that ip tbf
12:45
<ChillerDragon> yea you are logged in try incognito
12:46
<SollyBunny> i was in incognito
12:46
<ChillerDragon> thats odd maybe its cached or discord ip whitelists idk
12:46
<ChillerDragon> but i can no longer see images
12:46
<SollyBunny> ):
12:46
<SollyBunny> have the bot yoink em?
12:46
<ChillerDragon> thats happening for matrix
12:47
<ChillerDragon> but not for irc
12:47
<SollyBunny> sadge
12:48
<SollyBunny> i cant find a set of standard extentions to irc for pfps, reactions, file uploads etc
12:49
<SollyBunny> it would be nice if everyone could agree to such standards if (or when) they exist and then everything is irc
12:49
<SollyBunny> would be a dream
12:50
<SollyBunny> anyway back to rummaging around in ddnet src
12:50
<SollyBunny> "for fun" they said
Avatar
NetObject("ClientInfo", [ # 44 = 16 characters NetIntAny("m_Name0"), NetIntAny("m_Name1"), NetIntAny("m_Name2"), NetIntAny("m_Name3"), # 43 = 12 characters NetIntAny("m_Clan0"), NetIntAny("m_Clan1"), NetIntAny("m_Clan2"), NetIntAny("m_Country"), # 4*6 = 24 characters NetIntAny("m_Skin0"), NetIntAny("m_Skin1"), NetIntAny("m_Skin2"), NetIntAny("m_Skin3"), NetIntAny("m_Skin4"), NetIntAny("m_Skin5"), NetIntRange("m_UseCustomColor", 0, 1), NetIntAny("m_ColorBody"), NetIntAny("m_ColorFeet"), ]), bro really just use c please
12:56
how do you even come to the solution that ah yes make a python script
12:56
made for the utterly deranged, they have played us for fools
Avatar
in CTeeRenderInfo why is it CSixup m_aSixup[NUM_DUMMIES];
13:06
shouldnt there be a seperate renderinfo for each dummy
13:06
since they are seperate players
13:06
and clients
13:07
):
Avatar
ws-client BOT 2024-11-20 13:27
<ChillerDragon> @SollyBunny in 0.6 the client can always get the most recent render info for the current dummy from the snap. In 0.7 it comes from game messages that are only sent on change so the client has to store it for main and dummy.
Avatar
Avatar
ws-client
<ChillerDragon> @SollyBunny in 0.6 the client can always get the most recent render info for the current dummy from the snap. In 0.7 it comes from game messages that are only sent on change so the client has to store it for main and dummy.
the snap only sends if its changed right?
13:28
also doesnt make sense still
Avatar
ws-client BOT 2024-11-20 13:28
<ChillerDragon> it technically only sends changes over the wire but thats abstracted away in the code.
Avatar
the dummies are seperate clients always
Avatar
ws-client BOT 2024-11-20 13:28
<ChillerDragon> you can think of the server and client always holding the full up to date state.
Avatar
i dont see why the dummy state needs to be stored in the main client?
13:29
why not store it in the dummy client (slot)
Avatar
ws-client BOT 2024-11-20 13:29
<ChillerDragon> i am not sure what you mean by that
Avatar
there is a crenderinfo object for every client
13:30
so why does the state of dummy have to be stored in the main clients slot instead of the dummy clients slot
Avatar
ws-client BOT 2024-11-20 13:30
<ChillerDragon> by every client you mean MAX_CLIENTS or NUM_DUMMIES?
Avatar
max_clients
Avatar
ws-client BOT 2024-11-20 13:31
<ChillerDragon> yea so in 0.6 you can hold only the current info for all and get it from the snap on dummy change
Avatar
ws-client BOT 2024-11-20 13:31
<ChillerDragon> in 0.7 you have to store the render info on skin change and then store it for dummy and main
13:32
are dummy and main not seperate clients if 0.7 has a dummy through some client
13:32
and if so how?
Avatar
ws-client BOT 2024-11-20 13:33
<ChillerDragon> it is not fully separate lots of things are still shared
Avatar
im so confused
13:33
what is shared
13:33
and why
Avatar
ws-client BOT 2024-11-20 13:34
<ChillerDragon> in the end you only have one viewport
Avatar
yeah but its 2 seperate connections?
Avatar
ws-client BOT 2024-11-20 13:34
<ChillerDragon> you have one hud, one scoreboard see one set of tees with their render info
13:34
<ChillerDragon> yes two network connections
Avatar
you render the data in clients[cons[current_dummy]]
13:34
?
13:35
and why arent skins stored in their respective slots
Avatar
ws-client BOT 2024-11-20 13:35
<ChillerDragon> because the code is not structured that way i guess historically
Avatar
but this was added only for 0.7 compatbility
13:36
which doesnt even have dummies most of the time
Avatar
ws-client BOT 2024-11-20 13:36
<ChillerDragon> there used to be only one connection and then another one was added on the network level leaving all the rendering as is just updating the currently used render info based on the snapshot of the active dummy
13:36
<ChillerDragon> as i said in 0.7 you can not get the render info from the snapshot so it has to be stored
Avatar
yeah you can store it in the slot
13:37
that is there
Avatar
ws-client BOT 2024-11-20 13:37
<ChillerDragon> which slot
Avatar
clients[your id].renderinfo
Avatar
ws-client BOT 2024-11-20 13:37
<ChillerDragon> can you link me the code?
Avatar
CClientData *pClient = &m_aClients[ClientId]; pClient->m_aSkinName[0]
Avatar
ws-client BOT 2024-11-20 13:38
<ChillerDragon> thats not really a link but sure
13:38
<ChillerDragon> but thats not the dummy thats other players
Avatar
that just stores the skin name im trying to find where the renderinfo is
13:38
clientid would be the udmmies client id
13:39
if the snapshot was for the dummy?
Avatar
ws-client BOT 2024-11-20 13:39
<ChillerDragon> but wait
13:39
<ChillerDragon> m_aClients is a list of all clients
13:39
<ChillerDragon> and the dummy needs a full list of all skins separate from the main tee
13:39
<ChillerDragon> if you index m_aClients[dummy] you can only store one skin there
Avatar
where is the render info for every other client
13:41
why are there 4 seperate places for skin storage?
13:42
GameClient()???::m_SkinInfo and GameClient()???::m_RenderInfo (why there cant be 1 im not sure) (which stores 0.6 skin and two 0.7 skins, why 0.6 doesnt need 2 skins still dont get) clients[id].m_aSkinName and other stuff (stores 0.6 skins only) clients[id].m_renderinfo (previously stated) skins / skins7 stores data about all skins thats fine (edited)
13:42
😒
Avatar
GitHub BOT 2024-11-20 13:46
This adds the compile option to enable polly. https://polly.llvm.org/ Polly is a high-level loop and data-locality optimizer and optimization infrastructure for LLVM. It uses an abstract mathematical representation based on integer polyhedra to analyze and optimize the memory access pattern of a program. We currently perform classical loop transformations, especially tiling and loop fusion to improve data-locality. Polly can also exploit OpenMP level parallelism, expose SIMDization oppo...
Avatar
@Jupstar βœͺ check it out
13:47
my pr
13:47
the gcc equivalent would be https://gcc.gnu.org/wiki/Graphite
Avatar
why not just always use clients[id].m_renderinfo and get rid of the dummy slot in renderinfo for some reason
13:50
also skins7 stores statically (inconsistent with everything else) skin variables? and names? i just
13:50
am so confused
Avatar
ws-client BOT 2024-11-20 13:52
<ChillerDragon> what are you even trying to do solly
Avatar
Avatar
ws-client
<ChillerDragon> what are you even trying to do solly
stuff with skins
Avatar
ws-client BOT 2024-11-20 13:52
<ChillerDragon> what stuff
Avatar
but its all over the place
13:52
make ddnet send 0.7 skins
Avatar
ws-client BOT 2024-11-20 13:53
<ChillerDragon> it already sends them
Avatar
as 0.7 messages?
Avatar
ws-client BOT 2024-11-20 13:53
<ChillerDragon> yes
Avatar
to ddnet clients
Avatar
ws-client BOT 2024-11-20 13:53
<ChillerDragon> to ddnet clients connected via 0.7 yes
Avatar
is there any disadvantage to ddnet clients connecting as 0.7
13:54
apart from no one does it meaning only people on 0.7 would be able to see my skin
Avatar
ws-client BOT 2024-11-20 13:55
<ChillerDragon> yes it potentially contains more bugs because it is less tested. It also requires more ressources because everything goes through an additional translation layer.
13:55
<ChillerDragon> yes 0.7 skins are visibile in 0.7 and 0.6 skins are visible in 0.6
Avatar
also adding 0.7+udp:// to every server i join is weird
Avatar
ws-client BOT 2024-11-20 13:55
<ChillerDragon> yes it is
Avatar
Avatar
ws-client
<ChillerDragon> yes it potentially contains more bugs because it is less tested. It also requires more ressources because everything goes through an additional translation layer.
i want ddnet clients to be able to recieve 0.7 skins
Avatar
ws-client BOT 2024-11-20 13:56
<ChillerDragon> they are able
Avatar
from ddnet servers
13:56
and render them
Avatar
ws-client BOT 2024-11-20 13:56
<ChillerDragon> they are able
13:56
without going thru translation layers
Avatar
ws-client BOT 2024-11-20 13:56
<ChillerDragon> oh without
13:56
<ChillerDragon> from 0.6?
Avatar
from ddnet 0.6
Avatar
ws-client BOT 2024-11-20 13:56
<ChillerDragon> i dont think this is a good idea
Avatar
ws-client BOT 2024-11-20 13:57
<ChillerDragon> are you planning to send a pullrequest with that?
Avatar
why not
Avatar
ws-client BOT 2024-11-20 13:57
<ChillerDragon> this will most likely be rejected
Avatar
its backporting a feature?
13:57
and one i really like
Avatar
Ok but it sounds giga jank
Avatar
Avatar
risu
Ok but it sounds giga jank
it wouldnt be if there wasnt so much code for what i thought was pretty simple
Avatar
heinrich made a comment on my pr about why to add it
14:13
but im lazy to argue so ill just let the pr die
Avatar
Avatar
Ryozuki
but im lazy to argue so ill just let the pr die
):
Avatar
Avatar
Ryozuki
heinrich made a comment on my pr about why to add it
since it probably will be unuseud (unless for distrubution or something) and is unportable (that is other cmake projects wont support this but using the args that heinrich said is) its not worth it to add
Avatar
huhhh?
14:23
just force them to not be evil, idc if theyre a monopoly
Avatar
Yes please US Justice department. Have a W for once
Avatar
Please let this happen πŸ™
Avatar
it will probably be more inconvenient for the average user than do anything to stop the monopoly in everything else they have
Avatar
But with an even more pro-business administration coming in, in all likelihood they will just delay this decision, then it'll get dismissed when Trump destroys the Justice Department
Avatar
They'll have slightly less control over standards which is good
πŸ‘ 1
Avatar
Avatar
Solly
it will probably be more inconvenient for the average user than do anything to stop the monopoly in everything else they have
It'll probably change nothing for the average user. They will still go to chrome.com to get their chrome browser
Avatar
Avatar
Learath2
It'll probably change nothing for the average user. They will still go to chrome.com to get their chrome browser
is this just the browser they are breaking off?
Avatar
Avatar
Solly
since it probably will be unuseud (unless for distrubution or something) and is unportable (that is other cmake projects wont support this but using the args that heinrich said is) its not worth it to add
i guess
Avatar
Avatar
Solly
is this just the browser they are breaking off?
That's what they are pushing for, I'd break it up even more, but this is also a good win
Avatar
Avatar
Learath2
That's what they are pushing for, I'd break it up even more, but this is also a good win
i dont think just the browser will be much of an inconvience
14:27
except syncing
14:27
but an extention can replace all the functionality easily
14:27
and local storage is good enough for most people
Avatar
Idk who has the money to buy chrome though, I imagine it would be worth an INSANE amount
Avatar
microsoft has
Avatar
i dont want any company to buy chrome
Avatar
i dotn use chrome so
Avatar
Avatar
Learath2
It'll probably change nothing for the average user. They will still go to chrome.com to get their chrome browser
I think typing "chrome browser" into the search field seems even more likely
Avatar
firefox ftw
Avatar
Microsoft probably can't buy it as they would have their own antitrust issues
Avatar
can we buy chrome
Avatar
but i wanna get into zen
14:28
Download now and experience the Zen Browser
Avatar
Avatar
TsFreddie
can we buy chrome
can they just give me chrome? I promise I'll run it well
Avatar
Avatar
Ryozuki
but i wanna get into zen
wdym get into. i thought you just download and use it
Avatar
Avatar
TsFreddie
can we buy chrome
πŸ‡¨πŸ‡³
Avatar
make chrome a non profit (edited)
Avatar
Avatar
Ryozuki
πŸ‡¨πŸ‡³
now this they would definitely not allow πŸ˜„
Avatar
Avatar
TsFreddie
wdym get into. i thought you just download and use it
i mean not be lazy and port all my stuff there
Avatar
make it feel the pain firefox has fealt
14:29
isn't it just a firefox that just opens firefox profiles
Avatar
Imagine forcing google to sell chrome and the most used browser on earth ends up being bought by Tencent
πŸ‘€ 2
Avatar
Avatar
Learath2
Imagine forcing google to sell chrome and the most used browser on earth ends up being bought by Tencent
ungoogled chromium ftw
Avatar
idk why more people dont use it
Avatar
tencent already have a browser
Avatar
Honestly, I have negative respect for Google. I'd rather premier Xi watch my porn with me
Avatar
Avatar
Solly
ungoogled chromium ftw
Chromium != Chrome, chromium is FOSS
14:30
But people use it as a synonym often
Avatar
Avatar
meloƞ
Chromium != Chrome, chromium is FOSS
yeah but chromium is still owned by google
Avatar
Avatar
meloƞ
Chromium != Chrome, chromium is FOSS
"FOSS"
Avatar
tencent's browser already has like 50% market share in china
Avatar
and changes to chrome alot of the time buble up from chromium
Avatar
if u care about foss u use firefox or derivatives
Avatar
Ran by and gatekept by google chronies, FOSS moment (edited)
Avatar
Avatar
TsFreddie
tencent's browser already has like 50% market share in china
which is still chromium i guess
Avatar
chrome power is not the software itself, is that by being used by a lot they have a rly STRONG force to commit web standards their way benefitting them
Avatar
I maintain my position that every Google executive needs the Hui Ka Yan treatment
Avatar
but funny enough the second place in china is a 360 browser which is using IE' kernel running on windows 7 and below (edited)
Avatar
Avatar
Ryozuki
chrome power is not the software itself, is that by being used by a lot they have a rly STRONG force to commit web standards their way benefitting them
fucking version 3 of <forgot name>
Avatar
Avatar
TsFreddie
which is still chromium i guess
You know what would have been cool? If the chinese monopoly browser was firefox based
14:32
Make your way into Tencent and commit a rewrite of their browser based on Firefox
Avatar
Avatar
Learath2
You know what would have been cool? If the chinese monopoly browser was firefox based
imagine cool stuff is cool
14:33
tencent has in-house browser engine called X5 which seems to be mobile only
14:33
pepeW
Avatar
We should write our own browser engine
14:34
ddweb
Avatar
i should find a way to make money
Avatar
http4 will be with tw huffman + tw integer compression 😎
14:36
isn't tw integer just varint
Avatar
i wonder if this is also chromium
Avatar
no its firefox
Avatar
thats literally just firefox
Avatar
yup, but it is used to compress everything in teeworlds, some stuff even twice ^^
Avatar
Avatar
TsFreddie
thats literally just firefox
well not literally, it has lot of neat features
14:37
it is actually a real fork
14:37
with features
14:37
not just brand xd
Avatar
well ye, but it also has mozilla services
Avatar
firefox sync
Avatar
GitHub BOT 2024-11-20 14:38
Newer clients don't show the tele hook prediction correctly anymore. I tested tele hook a few months ago and today again and saw it's kinda broken: Old (18.1) Bildschirmaufnahme_20241120_153353.webm New (latest steam, 18.7) Bildschirmaufnahme_20241120_153430.webm I haven't checked if that is client side only (or e...
Avatar
Avatar
TsFreddie
firefox sync
i see that as a pro
Avatar
Avatar
Ryozuki
i see that as a pro
not saying it is a con
14:38
but i just use it like firefox
14:38
justatest
Avatar
Avatar
TsFreddie
isn't tw integer just varint
i think it has tw quirks
Avatar
makes almost no difference to me apart from looking like arc (edited)
Avatar
Avatar
TsFreddie
isn't tw integer just varint
teeworlds integer
14:40
NOTE: The reference implementation has no problem with accepting an overlong representation. The reference implementation also interprets the padding as part of the number, which leads to weird results. It should always be zeroed.
Avatar
varint is the correct category of algorithm https://en.wikipedia.org/wiki/Variable-length_quantity
Avatar
This one is the same as #19, but the loop is unrolled Replace the PackRate indicator with 7-bit packing. A full ulong integer will be packed as so: EDDDDDDD EDDDDDDD EDDDDDDD EDDDDDDD XXXXDDDD DDDD...
Avatar
XXXXDDDD
Avatar
ChillerDragon
14:47
RandomNet Every minute the players change their parameters: speed, hook, jump power, character size, etc. Everything is random
14:47
Is it possible to implement this?
Avatar
yes but WHY
14:50
That just sounds like pain lol
Avatar
ddnet rougelike
Avatar
ws-client BOT 2024-11-20 14:56
<ChillerDragon> @Evelyn i can't think of any clean way of messing with the character size. But changing tunes in a fixed interval is for sure possible. You can even do that right now with rcon. But I won't add anything to ddnet++ in that regard since i dislike messing with physics.
Avatar
Well, you don't need to add the size of the player
Avatar
ws-client BOT 2024-11-20 14:58
<ChillerDragon> maybe i could add cronjobs for configs and then you can set it up @Evelyn would that be something you are interested in? You write a few autoexec.cfg files and the server runs them automatically
Avatar
You can just add so that I can insert the interval and the name of the tune, and the time after which it will change
Avatar
can you not pipe to ddnet server? (edited)
Avatar
ws-client BOT 2024-11-20 14:59
<ChillerDragon> you can
Avatar
thats an easy way to do it then
Avatar
Avatar
ws-client
<ChillerDragon> maybe i could add cronjobs for configs and then you can set it up @Evelyn would that be something you are interested in? You write a few autoexec.cfg files and the server runs them automatically
cronjobs?
Avatar
ws-client BOT 2024-11-20 14:59
<ChillerDragon> yes thats what i meant with "you can do it right now with rcon" but i am not sure of @Evelyn wants to setup an external script
15:00
<ChillerDragon> i think having some kind of build in cronjobs in the server seems like a good idea
15:00
<ChillerDragon> @Evelyn i can give you an interval and you do the rest ok?
Avatar
I still don't understand what cronjobs is.
Avatar
Avatar
ws-client
<ChillerDragon> @Evelyn i can give you an interval and you do the rest ok?
And what is meant by the rest?
Avatar
ws-client BOT 2024-11-20 15:01
<ChillerDragon> it runs a rcon command in a time interval that you specify
Avatar
ws-client BOT 2024-11-20 15:01
<ChillerDragon> you write the configs
Avatar
oyasumi
Avatar
hi chiller
Avatar
And how do I do that?
Avatar
ws-client BOT 2024-11-20 15:05
<ChillerDragon> not sure yet how exactly i will think of something. maybe
15:06
<ChillerDragon> until then you can already do it with rcon and if you really need to automate it today you can use econ or fifo for that
Avatar
I won 't be able to download it
15:06
I'd rather wait for your answer.
Avatar
Make a python script which prints what you would put into rcon
15:09
Then do "python mafile.py | ddnet server”
Avatar
Avatar
Solly
Then do "python mafile.py | ddnet server”
Is it possible to send rcon commands in the server console?
Avatar
I think so
15:10
And Mr dragon said so
Avatar
rcon commands = server console
Avatar
Then why can't I send commands in the console of the local server
15:11
I have to introduce the DDNet_Server or DDNetPP application
Avatar
$rtfm sv_input_fifo
Avatar
Avatar
murpi
$rtfm sv_input_fifo
sv_input_fifo
Description: Fifo file (non-Windows) or Named Pipe (Windows) to use as input for server console
Avatar
You simply pipe your commands into the fifo file, i.e. on linux you'd do echo "tune gravity 0" > /path/to/your/file.fifo in your terminal
Avatar
To trigger random events, follow Solly's suggestion: create a script or cron job that pipes random tunes into the fifo files at random intervals
Avatar
I'd recommend also piping some broadcasts
15:17
For a countdown
Avatar
How to fix jaggies the analytical way with some juicy secrets
Avatar
Explain the meaning again
15:21
What should I do, step by step if possible
Avatar
Avatar
Evelyn
What should I do, step by step if possible
zzzz
15:22
give me a list of tunes along with their ranges
15:23
sv_tune_1 3 5 sv_tune_2 69 420 ...
Avatar
Avatar
Evelyn
Explain the meaning again
At which step are you stuck at exactly? The fifo thing?
Avatar
How does it work?
Avatar
Avatar
Solly
give me a list of tunes along with their ranges
So there's the same kind of command: tune tunes value
15:25
From where sv
Avatar
use tunes to list all tunes
15:27
for each tune pick a acceptable minimum value and maximum value
Avatar
Ok wait
Avatar
ws-client BOT 2024-11-20 15:28
<ChillerDragon> @jxsl13 you requested a new release right? Here you go https://github.com/ddnet-insta/ddnet-insta/releases
A teeworlds instagib (grenade/laser capture the flag/death match/catch) mod based on DDRaceNetwork (gctf/ictf/idm/gdm/zcatch) - ddnet-insta/ddnet-insta
Avatar
Avatar
DDNet
Click to see attachment πŸ–ΌοΈ
oooh this is nice, I like it
Avatar
tune ground_control_speed 4.00 14.00 - Maximum running speed on the ground. (Higher values make the character move faster). tune ground_control_accel 0.50 4.00 - Acceleration on the ground. (Higher values make the character speed up faster). tune ground_friction 0.30 1.00 - Ground friction. (Higher values make the character stop faster). tune ground_jump_impulse 8.00 18.00 - Jump force from the ground. (Higher values make the character jump higher). tune air_jump_impulse 6.00 16.00 - Jump force in the air. (Applies to double jumps; higher values allow higher jumps). tune air_control_speed 2.00 9.00 - Maximum speed when moving in the air. (Higher values allow faster air movement). tune air_control_accel 0.50 3.00 - Acceleration in the air. (Higher values allow quicker changes in air movement). tune air_friction 0.70 1.10 - Air friction. (Higher values reduce the character's air speed more quickly). tune gravity 0.30 0.80 - Gravity strength. (Lower values make the character float longer; higher values make them fall faster).
Avatar
#!/bin/env python3 from random import random from time import sleep MSGCOUNTDOWN = "%ss untill randomize" MSGRANDOMIZE = "tunes randomized" DELTA = 5 # seconds between each random FIFOPATH = "./fifo.fifo" TUNES = { ("ground_control_speed", 4.00, 14.00), # Maximum running speed on the ground. (Higher values make the character move faster). ("ground_control_accel", 0.50, 4.00), # Acceleration on the ground. (Higher values make the character speed up faster). ("ground_friction", 0.30, 1.00), # Ground friction. (Higher values make the character stop faster). ("ground_jump_impulse", 8.00, 18.00), # Jump force from the ground. (Higher values make the character jump higher). ("air_jump_impulse", 6.00, 16.00), # Jump force in the air. (Applies to double jumps; higher values allow higher jumps). ("air_control_speed", 2.00, 9.00), # Maximum speed when moving in the air. (Higher values allow faster air movement). ("air_control_accel", 0.50, 3.00), # Acceleration in the air. (Higher values allow quicker changes in air movement). ("air_friction", 0.70, 1.10), # Air friction. (Higher values reduce the character's air speed more quickly). ("gravity", 0.30, 0.80), # Gravity strength. (Lower values make the character float longer; higher values make them fall faster). } def write(s): with open(FIFOPATH, "w") as fifo: fifo.write(s) print(s) sleep(1) while True: out = "broadcast %s\n" % MSGRANDOMIZE for name, min, max in TUNES: value = min + random() * (max - min) value = round(value, 2) out += "tune %s %s\n" % (name, value) write(out) if DELTA > 3: sleep(DELTA - 3) for i in range(3): write("broadcast " + MSGCOUNTDOWN % (3 - i)) sleep(1) else: sleep(DELTA) @Evelyn
15:50
in ur server autoexec set sv_input_fifo to the same path as FIFOPATH is in the python script
15:50
run the server then the script
Avatar
By the way your air friction is weird, since values over 1.0 make you accelerate
Avatar
For fun
15:51
And how is the script run by a command on a virtual machine?
Avatar
stick the file in there
15:52
make it executable
15:52
have python installed
Avatar
Avatar
Solly
run the server then the script
And random values will change every minute.
Avatar
./thescript.py
15:52
i hope you can figure out how to change that yourself
15:52
its currently set to 5s
15:52
Avatar
Avatar
Solly
./thescript.py
Do you need a screen to work around the clock?
Avatar
any method of keeping the process alive works
15:54
that is using a screen (the gnu utility screen)
15:54
or ctrl-z, bg, disown
Avatar
Should I throw the python script into the build directory?
Avatar
Avatar
Solly
or ctrl-z, bg, disown
even easier is ./script.py & disown
Avatar
oh yeah
Avatar
Now I will prepare a config for such a server
Avatar
wasnt actually that bad
Avatar
ok lol)
16:03
So I started the server
Avatar
Avatar
ws-client
<ChillerDragon> @jxsl13 you requested a new release right? Here you go https://github.com/ddnet-insta/ddnet-insta/releases
fancy
16:05
Now i launched python script?
16:05
Need*
16:07
@Solly
16:07
root@GoodServers:~/DDNetPP/build# python3 random.py Traceback (most recent call last): File "/root/DDNetPP/build/random.py", line 3, in <module> from random import random File "/root/DDNetPP/build/random.py", line 3, in <module> from random import random ImportError: cannot import name 'random' from partially initialized module 'random' (most likely due to a circular import) (/root/DDNetPP/build/random.py) Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> from apport.report import Report File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module> import subprocess, tempfile, os.path, re, pwd, grp, os, io File "/usr/lib/python3.10/tempfile.py", line 184, in <module> from random import Random as _Random File "/root/DDNetPP/build/random.py", line 3, in <module> from random import random ImportError: cannot import name 'random' from partially initialized module 'random' (most likely due to a circular import) (/root/DDNetPP/build/random.py) Original exception was: Traceback (most recent call last): File "/root/DDNetPP/build/random.py", line 3, in <module> from random import random File "/root/DDNetPP/build/random.py", line 3, in <module> from random import random ImportError: cannot import name 'random' from partially initialized module 'random' (most likely due to a circular import) (/root/DDNetPP/build/random.py) root@GoodServers:~/DDNetPP/build# pyp -bash: pyp: command not found root@GoodServers:~/DDNetPP/build# pip -bash: pip: command not found root@GoodServers:~/DDNetPP/build# python3 pip python3: can't open file '/root/DDNetPP/build/pip': [Errno 2] No such file or directory root@GoodServers:~/DDNetPP/build# (edited)
Avatar
I fixed it
16:11
and it works
16:11
Thanks!
Avatar
Avatar
risu
By the way your air friction is weird, since values over 1.0 make you accelerate
your velocity gets multiplied by friction each tick vel *= 0.99 for example to mimic friction
Avatar
Avatar
Teero
your velocity gets multiplied by friction each tick vel *= 0.99 for example to mimic friction
Yep I read the code to check :)
Avatar
Avatar
ws-client
<ChillerDragon> @jxsl13 you requested a new release right? Here you go https://github.com/ddnet-insta/ddnet-insta/releases
any breaking config changes?
Avatar
hi devs
17:09
vscode remote session going very hard right now
Avatar
GitHub BOT 2024-11-20 17:21
c137012 Add CHN server donors - def-
Avatar
@heinrich5991 if you have time could you see my latest comment in #9263
Avatar
Closes #9229 I tested a little with sv_kill_delay 0 and tune laser_fire_delay 0 but would appreciate if someone more experienced can confirm it won&#39;t break anything Checklist Tested the c...
poggers2 1
Avatar
does anyone know if it's possible to access an econ port that's bound to localhost on the host from within a docker container?
Avatar
host.docker.internal might work
Avatar
seemingly doesn't :/
Avatar
--network=host?
Avatar
maybe my econ port was not bound correctly...
18:24
also trying that
Avatar
GitHub BOT 2024-11-20 18:25
Some times u need show u are afk, can u create cmd like /afk it insta force u afk and others will know that.
Avatar
weirdly does not work
18:52
hm, maybe rootless docker is to blame
18:54
Host network (docker run --net=host) is also namespaced inside RootlessKit.
Avatar
Avatar
GitHub
Click to see attachment πŸ–ΌοΈ
isnt the afk command literally the sit command i tried to add in
19:05
monkaStop
Avatar
Avatar
Voxel
isnt the afk command literally the sit command i tried to add in
i havent seen anyone use it, theres not a setting for making your dummy use it, and its hard to tell if someone is sitting
19:42
chat commands are finicky in that they are readily dropped so doing it inside of your dummy swap script doesn't work very well
19:47
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 (especially base/) or add...
19:47
sitting here approved ):
Avatar
many other prs too
Avatar
Nova is a JavaScript and WebAssembly engine written in Rust and following data-oriented design principles
Avatar
oh no
20:26
its all rusty
Avatar
Koll Potato 2024-11-20 20:26
another day another js engine
Avatar
Avatar
kebs
many other prs too
why no being merged
Avatar
Avatar
Koll Potato
another day another js engine
this one isnt just a v8 wrapper tho
20:27
vaow
Avatar
Avatar
Solly
this one isnt just a v8 wrapper tho
Koll Potato 2024-11-20 20:29
so is boa and spidermonke
20:30
and at least 5 others
Avatar
Koll Potato 2024-11-20 20:30
javascript should die already
Avatar
Avatar
Koll Potato
so is boa and spidermonke
spidermonkey is not v8?
20:33
nor is boa
Avatar
Avatar
Solly
spidermonkey is not v8?
Koll Potato 2024-11-20 20:33
no
Avatar
also called bun/deno/the other ones engines are a bit miphy because they dont implement js they implement all the stuff ontop of a barebones interpreter
Avatar
Koll Potato 2024-11-20 20:33
deno is node and node is v8
20:33
bun is not v8
Avatar
yeah but they arent really engines
20:34
i agree (edited)
20:34
but i dont think its right to call them engines
20:34
or rather i dont think its right to call boa, spidermonkey and v8 in the same category as node, deno and bun
Avatar
Koll Potato 2024-11-20 20:34
bun team has implemented their engine from scratch
20:34
based on jscore
Avatar
from scratch and based on jscore are mutually exclusive
Avatar
Koll Potato 2024-11-20 20:35
well
Avatar
At its core is the Bun runtime, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Zig and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage
20:35
which is apples js engine (edited)
Avatar
Avatar
Solly
why no being merged
idk, not enough mantainers that can do reviews?
Avatar
made for webkit
Avatar
Avatar
kebs
idk, not enough mantainers that can do reviews?
but it got approved?
Avatar
Avatar
Solly
At its core is the Bun runtime, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Zig and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage
bun is 20% cpp, the language of choice of jscore (opposed to bun being famously one of the few zig projects)
20:38
i doubt its modifications but idk
Avatar
the spambot from today was seemingly coming from some google cloud ips, blocked the whole range.
Avatar
Avatar
Solly
i doubt its modifications but idk
Koll Potato 2024-11-20 20:39
so the conclusion is javascript is a big mess
Avatar
Avatar
jxsl13
weird stuff happening on our servers:
this
Avatar
Avatar
Koll Potato
so the conclusion is javascript is a big mess
not really js itself
20:41
the number of implementations and runtimes ontop of it and especially frameworks yes
20:41
but same goes for most languages have really bad ecosystems
Avatar
Koll Potato 2024-11-20 20:42
null is not an object however typeof null == "object"
20:42
feelsbadman
Avatar
those are edge cases you can not bump into by writing good code
20:42
typeof shouldnt be used
Avatar
Koll Potato 2024-11-20 20:43
wym
20:43
typeof shouldnt always be used
Avatar
typeof is a relic and shouldnt be used
20:43
for determining types you should use something else
20:43
as its unreliable at best
Avatar
Avatar
Solly
typeof is a relic and shouldnt be used
Koll Potato 2024-11-20 20:43
how to validate unknown input then
Avatar
use functions other people have written and tested
Avatar
Koll Potato 2024-11-20 20:44
which under the hood use typeof
Avatar
yeah but you shouldnt use it yourself
Avatar
Avatar
Solly
use functions other people have written and tested
Koll Potato 2024-11-20 20:44
npm i is-string is-number is-null
Avatar
var TYPES = { 'undefined' : 'undefined', 'number' : 'number', 'boolean' : 'boolean', 'string' : 'string', '[object Function]': 'function', '[object RegExp]' : 'regexp', '[object Array]' : 'array', '[object Date]' : 'date', '[object Error]' : 'error' }, TOSTRING = Object.prototype.toString; function type(o) { return TYPES[typeof o] || TYPES[TOSTRING.call(o)] || (o ? 'object' : 'null'); };
20:46
theres alot of legacy in javascript which cant really be fixed because it still has to support everything
Avatar
types in JS are actually hideous
Avatar
Avatar
risu
types in JS are actually hideous
which is why you shouldnt use the builtin typeof
20:46
other than that its fine
Avatar
Koll Potato 2024-11-20 20:46
i do use it
20:46
arrest me officer
Avatar
Koll Potato 2024-11-20 20:47
justatest
Avatar
Avatar
Solly
var TYPES = { 'undefined' : 'undefined', 'number' : 'number', 'boolean' : 'boolean', 'string' : 'string', '[object Function]': 'function', '[object RegExp]' : 'regexp', '[object Array]' : 'array', '[object Date]' : 'date', '[object Error]' : 'error' }, TOSTRING = Object.prototype.toString; function type(o) { return TYPES[typeof o] || TYPES[TOSTRING.call(o)] || (o ? 'object' : 'null'); };
and for objects you can use instanceof
20:47
and that solves all the janky type stuff in js
20:47
(your gonna mention 2 == "2" arent you)
20:48
(use ===)
20:48
(oh what about 2 + "2")
20:48
(dont add strings and numbers then)
20:48
(yeah it doesnt give an error, too bad, cant be fixed ):)
Avatar
Avatar
Solly
which is why you shouldnt use the builtin typeof
no I mean in general with the coercion and such, I should not be able to add a number and a string -- better yet, I should not be able to add a string and a string
Avatar
why not
20:48
most high level languages very easily support string concatonation
20:49
or are you saying it shouldnt be the same operator
Avatar
Avatar
Solly
(your gonna mention 2 == "2" arent you)
Koll Potato 2024-11-20 20:49
i can mention 10 other issues but im too eepy
20:49
and there is no point of proving obvious
Avatar
Avatar
Solly
most high level languages very easily support string concatonation
it's okay if I have static typing
Avatar
Avatar
Solly
or are you saying it shouldnt be the same operator
yeah, lua is based and has a separate string concatenation operator
Avatar
Avatar
Koll Potato
i can mention 10 other issues but im too eepy
theres a list somewhere and all of them can be solved by not being silly, which yeah i guess is a bad thing about js, but its also a bad thing abt the programmer
20:50
most of the issues i have never faced
20:50
as most of the time you always know the type of something
20:50
even if it isnt static
20:51
fireship > bbc
Avatar
Koll Potato 2024-11-20 20:51
yes
Avatar
Avatar
Solly
as most of the time you always know the type of something
ok but what if I want to check for null oh wait I also have to check for undefined and maybe something else too
Avatar
Koll Potato 2024-11-20 20:51
i want him to stop posting about ai
Avatar
Avatar
risu
ok but what if I want to check for null oh wait I also have to check for undefined and maybe something else too
use el handy function that i gave you instead of typeof
20:51
also you can just do var === null
20:51
for null
Avatar
ok fine what I'm saying is that the language is cursed and I don't want to use it
Avatar
NaN is the one you should be scared about
Avatar
Koll Potato 2024-11-20 20:52
undefined == null btw
Avatar
undefined !== null
Avatar
I'm scared of all three :)
Avatar
Avatar
Koll Potato
undefined == null btw
dont use == ;----;
Avatar
Koll Potato 2024-11-20 20:52
typeof NaN == "number"
Avatar
it is
20:53
NaN is a floating point number
Avatar
Avatar
Solly
dont use == ;----;
Koll Potato 2024-11-20 20:53
i use it for nulls sometimes
Avatar
use ===
Avatar
Koll Potato 2024-11-20 20:53
nothing breaks
20:53
no im good
20:53
it works
Avatar
;---;
20:54
"i dont like this feature even thoiugh theres a readily available and advertised drop in replacement which can be used 100% of the time, but i dont like this language because it has this feature" (edited)
Avatar
I just checked and I kinda love Lua even more now 0 is truthy but NaN is falsy
Avatar
yikes
Avatar
Avatar
Solly
"i dont like this feature even thoiugh theres a readily available and advertised drop in replacement which can be used 100% of the time, but i dont like this language because it has this feature" (edited)
Koll Potato 2024-11-20 20:55
no i just dont write js anymore
Avatar
Avatar
Solly
yikes
ok yeah I see how a truthy 0 is scary, but hey the world's easiest NaN check :)
Avatar
Koll Potato 2024-11-20 20:55
lua is perfect
Avatar
lua not using braces and then deciding to have non consistent brace alternatives is an instant killer for me then also to have most standard library features missing is just shooting themselves in the foot
20:56
and then also having 5000 different implementations because of it
Avatar
Koll Potato 2024-11-20 20:56
lua is not perfect
Avatar
js > lua
Avatar
I think NaN is false by specification if you compare it to any value
πŸ‘ 1
Avatar
you need to use isNaN
20:56
which is bad i agree
20:56
with the haters
Avatar
Avatar
Solly
lua not using braces and then deciding to have non consistent brace alternatives is an instant killer for me then also to have most standard library features missing is just shooting themselves in the foot
I think the do ... end and then ... end give it that lovely oldschool charm
Avatar
=== shouldve changed that but it didnt and idk why
Avatar
Avatar
risu
I think the do ... end and then ... end give it that lovely oldschool charm
it makes me want to do myself in, so then i can reach the end of my life
πŸ™ 1
Avatar
I can tell you guys didn't learn programming with BASIC
Avatar
basic is not a basic programming lanugae
20:57
its a programming language with a basic implementation
Avatar
I should try using freebasic sometime
20:58
seems potentially fun
Avatar
Avatar
risu
I can tell you guys didn't learn programming with BASIC
Koll Potato 2024-11-20 20:58
dont need to (edited)
Avatar
my old physics teacher made ai racing cars in freebasic
20:58
\: (edited)
Avatar
Koll Potato 2024-11-20 20:58
learn excel formulas
20:58
they are the future
Avatar
I learned programming in Microsoft QBasic when I was 10
Avatar
Koll Potato 2024-11-20 20:58
epic
Avatar
Avatar
Koll Potato
learn excel formulas
it stopped being the future as soon as they dropped support in their online studio, made their online studio bad in every other regard, then pushed their online studio
20:59
actually i dont know what the usage is for desktop
20:59
people using excel for things more than just a oh i need to do this thing quick scared me
Avatar
And I learned to RTFM by using the manual built into the editor, you can just press F1 on like any keyword or built in function and it'll give you the help for that
Avatar
Avatar
risu
And I learned to RTFM by using the manual built into the editor, you can just press F1 on like any keyword or built in function and it'll give you the help for that
it doesnt show up in tooltip?
21:00
making formulas which work is very satisfying because its very hit and miss x-x
Avatar
It's a text mode editor my dude
21:00
with tooltips
21:00
is there excel in terminal?
21:01
21:01
this is google sheets, i dont have quick access to microsoft shtuff
21:01
also google sheets so much faster than microsoft stuff
21:01
missing so many features but i never use them so
Avatar
Avatar
Solly
is there excel in terminal?
No I was talking about the QBasic editor and manual
Avatar
Avatar
risu
No I was talking about the QBasic editor and manual
oh oek
Avatar
oh wow I thought the editor was based on edit.exe but actually that's wrong, edit.exe is based on qbasic
Avatar
this is an MS-DOS application to be clear
Avatar
windows specific technologies turn me off
21:03
feels grimey
21:04
sorry windows no offense
Avatar
Avatar
Solly
windows specific technologies turn me off
pre-windows my dude
21:04
MS-DOS is markedly less cringe than MS Windows
Avatar
ps: in a interest sort of way, i dont find sexual gratification in computer technologies
Avatar
still cringe tho
21:04
better versions of DOS out there
Avatar
Avatar
risu
MS-DOS is markedly less cringe than MS Windows
i use windows as a catch all for microsoft operating systems (edited)
21:05
also msdos is cringe
Avatar
FreeDOS? Or maybe something more archaic, an MS-DOS competitor from back in the day?
21:06
you gotta have a favourite DOS
Avatar
msdos used a bit of C, still mostly asm. but they knew that \ would mean forever escaping 12 times
21:06
i dont have a favourate dos
Avatar
actually I don't have a favourite DOS... FreeDOS is probably the most based one but MS-DOS is the only one I'm familiar with
Avatar
i barely know how to navigate in windows cmd
Avatar
Hey me too, it's so different to the olden days
Avatar
i never used dos
21:07
im small
Avatar
also I've forgotten a lot of things
Avatar
but whats with powershell, they had the opertunity to switch to a bash like and they didnt
21:08
they went even worse
Avatar
I'm supposed to be too young to have used DOS but my first computer was very old
Avatar
ah yes lets make every command take 30s to run
Avatar
Avatar
risu
I'm supposed to be too young to have used DOS but my first computer was very old
windows xp was my earliest version of windows
Avatar
PS is supposedly like better for scripts than bash, like, it's a better language
Avatar
ghasp
Avatar
but oh god the naming is disgusting
Avatar
Avatar
risu
PS is supposedly like better for scripts than bash, like, it's a better language
yeah... but no its not
Avatar
and it's so Microsofty
21:08
just puts me off
Avatar
Avatar
Solly
windows xp was my earliest version of windows
Win98 SE 😎
21:09
despite having been born in 1999
Avatar
wow u dont have to show off like that
Avatar
For a while my parents and some of their friends remarked that I was born too late
21:10
because I really took to older computer stuff when I was a kid
21:11
I still have some floppies and a machine with a floppy drive
21:13
but I think I need an upgrade eventually I'll either get a proper old desktop computer or something of the like, that laptop isn't doing it for me
Avatar
i sorta went the same way, not because i like old hardware, but it was so much simpler
21:13
and if an os can run on 100x less resources, then wtf is going on with this os
Avatar
GitHub BOT 2024-11-20 21:45
Use uint32_t consistently instead of int32_t for the ghost data to ensure integer wrapping in the ghost-specific DiffItem/UndiffItem functions. Same as 65cb2ed7de102f155cde64b4e75839d15b6fe35a but only using uint32_t pointers consistently instead of casting specifically for the addition/subtraction simplifies the code.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuratio...
Avatar
GitHub BOT 2024-11-20 22:23
971c665 Ensure integer wrapping for ghost data to prevent over/underflow - Robyt3 1d3033d Merge pull request #9271 from Robyt3/Client-Ghost-Integer-Wrapping - heinrich5991
Avatar
@Robyt3 https://github.com/ddnet/ddnet/pull/9248 why no being merged :D (edited)
Avatar
GitHub BOT 2024-11-20 23:20
31a0fd8 Visual changes to friends and server tab - SollyBunny 3dab25b Merge pull request #9248 from SollyBunny/small_visual_toolbox_fixes - Robyt3
Avatar
YIPEEE
Avatar
Smetanolub 2024-11-20 23:29
gfx_render_thread_count
23:30
Is this command accepts thread count of gpu or cpu?
Avatar
cpu probably
23:33
but check
Exported 774 message(s)
Timezone: UTC+0