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-15 00:00 and 2024-11-16 00:00
Avatar
GitHub BOT 2024-11-15 00:46
Adds a setting to revert #8961, as some mappers don't use all teleports on their maps. This change was requested on Discord. Also fixes an issue where the view instantly teleports to teleport number 1 when the teleport popup got first opened !image !image

Checklist

  • [x] Tested the change ingame
  • [ ] Provided sc...
Avatar
chillerdragon BOT 2024-11-15 01:28
Heinrich rejected the proposal of auto upgrade. But it would technically be possible.
Replying to @Solly can 0.7 not be auto detected on connect? or is the api so different now
Avatar
ChillerDragon and you have a so-called "egg" for ddnetpp. Which is for a dedicated Pterodactyl server
Avatar
chillerdragon BOT 2024-11-15 03:13
?xd wat
Avatar
no idea
03:38
hru chiller
Avatar
It sounds like you're referring to Pterodactyl, which is indeed a popular open-source game server management panel. This software is widely used for hosting and managing game servers and applications. With Pterodactyl, you can control game servers across multiple machines and manage them through a web-based interface. It runs on Docker, which means each game server is isolated in its own container, helping with resource management and security. "Pterodactyl eggs" specifically refer to environment images or pre-configured setups for various games and services within the Pterodactyl panel. These "eggs" act as templates, containing scripts and settings that configure specific games or services so they can run smoothly on Pterodactyl. This makes deploying new servers for different games or applications much simpler. If you're setting up a server or need specific eggs, there are many available in the community, or you can create custom ones based on your needs.
03:45
Service eggs for the pterodactyl panel. Contribute to engels74/pterodactyl-eggs development by creating an account on GitHub.
Avatar
are you chat gpt
03:51
fork w 2 commits and 0 engagement
03:51
seems the upstream project doesn't even use the term pterodactyl
03:52
strange
03:52
Pterodactyl is an open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
03:52
this is the thing
03:53
neat
Avatar
Which file contains the Server Tick speed value?
Avatar
GitHub BOT 2024-11-15 05:30
The issue: if we ban a player named Jason, they could just rename to "jason" to avoid the ban. Using distance 1 would solve that, but it would also block players named Mason or "mason," which isn't ideal. A new parameter that ignores case sensitivity would resolve this issue. The given name is just an example. I have a couple individuals with a particularly unique names, where using the distance parameter is simply not doing the job.
07:01
this guy does not read messages that are not from chillerdragon i see
Avatar
Who? (edited)
Avatar
that guy
07:44
who always talks to chiller
Avatar
And who?
Avatar
MilkeeyCat 2024-11-15 07:46
that guy
Avatar
I'm afraid of the whipping, so I cannot tell you the name.
banhammer 1
Avatar
Is that me?
justatest 1
Avatar
Koll Potato 2024-11-15 08:41
yes
08:41
justatest
Avatar
That right
Avatar
Koll Potato 2024-11-15 08:44
ChillerDragon: check my last message about your protocol documentation pwease
Avatar
So I asked @heinrich5991 for a branch in order to implement the material layer without getting an answer (maybe I am too fast). The idea is, to add a layer which is painted over the gamelayer (similar to TPs or tune) which change tile behaviour according to a material. For example make a tile slippy, make it accellerate faster (booster tile, by running over it), add penalty tiles (slow down to low speeds), etc, a lot of well defined combinations of existing tunes. I already implemented it in a testbranch, but this feature went a bit over it's head and went huge. It has a lot of construction parts:
  • Handling new tune parameters for the materials
    • Each material cold be it's own PR
  • Client needs a new layer in the editor, similar to tune
  • This comes with a physics update, how to handle standing on two different materials for example? I already put a lot of thought into this (this is implemented)
  • Prediction, old clients: Technically this all could be emulated similar to the tune layer, but I think this is a major break
  • Client animations: This one could also be done outside of it's own branch, for example use different ice sliding animations and particles on low friction ground, similar to here For a lot of these things I already have an implementation, and I would like to break it into small suggestable reviewable chunks on it's own branch, but I am not allowed to create one, what's your opinion?
Avatar
which change tile behaviour according to a material. For example make a tile slippy, make it accellerate faster (booster tile, by running over it), add penalty tiles (slow down to low speeds), etc, a lot of well defined combinations of existing tunes.
i mean.. as you mentioned these are just "combinations of existing tunes" and is already possible with a few edgecases where it might not be. this sounds like a rather heavy change for small gain, espacially towards backwards compat
(edited)
Avatar
but wouldnt this make mapping a lot more stream line and simple especially for people who dont understand all the ins and outs of it?
10:02
honestly i couldnt know cuz i dont know the bare minimum when it comes to mapping :-]
Avatar
you are still right, painting "ice" over wall would be more intuitive, than having to add 5 tunings to tune_zones in the map settings (edited)
Avatar
Can I request kernel interfaces from antibot module? I want to hook up to server's IStorage
Avatar
I think @meloƞ has a point, the benefit would come from the cleaner material interactions, like you are standing on ice and normal ground, and have the maximum of both friction (minimum of the values), the minimum ground control speed, maximum ground acceleration, average ground impule jump (imagine one is sticky material, one is normal, now you jump half as high), etc. This is also the part that breaks the prediction. But is it worth it? Maybe just implementing the client animations would be sufficient, since everything else can be emulated with tune layers (but not to such a detailed degree)
Avatar
you know what i'd want? templates in the editor with these settings, a "community db" basically
10:27
with common settings, envelopes etc ready to use without having to create them from scratch
Avatar
Koll Potato 2024-11-15 10:29
paid ddnet assets when
momiCry 2
10:29
nouis
Avatar
uh, that is also an idea, because I was thinking about adding a tuning parameter import as well, maybe we can put well defined materials into loadable configs
Avatar
Koll Potato 2024-11-15 10:30
doesnt a new layer mean there will have to be implemented another map format version
10:30
which wont be compatible with teeworlds client and servers
Avatar
you mean like the current one, which already isn't?
Avatar
Koll Potato 2024-11-15 10:31
oh
10:31
didnt know that
Avatar
default!!! teeworlds doesn't support teleports (edited)
realandtrue 1
Avatar
depends on what kind of compatibility you mean, blockworlds is based on teeworlds, and the freeze is displayed as laser blockers in the DDNet editor for example kek (edited)
Avatar
Koll Potato 2024-11-15 10:31
yeah xd i dont know much about teeworlds
Avatar
Avatar
Solly
thats safe unless you derefence it (edited)
This is always safe, even if you dereference. Char pointers are allowed to alias any object type
Avatar
@Assa Not sure if you're aware, I'm OP of #9250
Avatar
Can someone help me find the values for deceleration and acceleration?
Avatar
hi @murpi sorry if I sound harsh, I am just brutally honest
Avatar
Then you don't seem to know what name_bans are for 😄
Avatar
TBH there is no point in name bans, isn't it banning by name?
Avatar
At least on DDNet
Avatar
Avatar
Anime.pdf
Can I request kernel interfaces from antibot module? I want to hook up to server's IStorage
You'll have to change the ABI yourself. We intentionally don't really use anything from the server because it can break on accident, like the CPacker issue we had this week
Avatar
why are name bans implemented, wtf, who thought of this, now implement skin bans
10:41
(╯°□°)╯︵ ┻━┻
Avatar
Avatar
Assa
TBH there is no point in name bans, isn't it banning by name?
They effectively take your points away without deleting ranks which we don't do
10:42
(Unless the ranks are replaybotted or use bugs we removed)
Avatar
I responded to your comment, to give some examples (edited)
Avatar
okay disallowing some names entirely makes sense
10:43
┬─┬ノ( º _ ºノ)
10:44
thought the idea was to get rid of the player, not to remove his records or prevent certain nicknames
Avatar
Avatar
Learath2
You'll have to change the ABI yourself. We intentionally don't really use anything from the server because it can break on accident, like the CPacker issue we had this week
Well, I think (thought), all game-server classes I use are compiled into .so and even if server will mess something up my AB will work fine. And because of this I compile my AB from ddnet sources, and not as a completely external project, should I worry about it?
Avatar
Avatar
Assa
thought the idea was to get rid of the player, not to remove his records or prevent certain nicknames
it's also used for certain.. other names it's useful given we dont have an account system and this is a proper way of stopping people to use certain names
Avatar
Avatar
Anime.pdf
Well, I think (thought), all game-server classes I use are compiled into .so and even if server will mess something up my AB will work fine. And because of this I compile my AB from ddnet sources, and not as a completely external project, should I worry about it?
Also main goal is to keep ABI compatible with stock ddnet
Avatar
Avatar
meloƞ
it's also used for certain.. other names it's useful given we dont have an account system and this is a proper way of stopping people to use certain names
okay disallowing some names entirely makes sense
Yes I understood, now honestly skin_ban would make sense
Avatar
hm, why? the community and skin db's are controlled, if you use other proxies or download that skin yourself, your fault.
10:49
also people using disgusting skins can just.. not name them inappropriately
Avatar
Avatar
Anime.pdf
Well, I think (thought), all game-server classes I use are compiled into .so and even if server will mess something up my AB will work fine. And because of this I compile my AB from ddnet sources, and not as a completely external project, should I worry about it?
Well we compile the antibot with only a couple things from the ddnet server. That's system.h and antibot.h, nothing more iirc. Idk how you are compiling yours
Avatar
is P2P skin sending a thing? When they change the skin name, others can't see them anymore or am I wrong?
Avatar
Avatar
Assa
is P2P skin sending a thing? When they change the skin name, others can't see them anymore or am I wrong?
No it's not. Yes they can't unless they have download skins enabled and you are using a skin that is part of their skin db provider
Avatar
Avatar
Learath2
Well we compile the antibot with only a couple things from the ddnet server. That's system.h and antibot.h, nothing more iirc. Idk how you are compiling yours
I include everything I need to antibot xd. base/system.h hash.h engine/storage.h message.h config.h, and much more, but only from engine and base
Avatar
Base is mostly fine. Engine we sort of designed the antibot around not having to have the antibot touch the memory of the server at all
10:54
The ABI structs are all distinct from the ones the server uses internally e.g.
Avatar
Avatar
meloƞ
hm, why? the community and skin db's are controlled, if you use other proxies or download that skin yourself, your fault.
You could add a hook to the skins provider for banning a skin, supporting the community, but I think the benefit would be minimal as you'd need a skin that has slipped through (people do make mistakes) and been missed
Avatar
Well, creating (mostly copying) all needed functionality to antibot sounds like a lot of pain and wasted time. So what was the CPacker issue? Also do you have own realization of it in AB? (edited)
Avatar
Avatar
Anime.pdf
Well, creating (mostly copying) all needed functionality to antibot sounds like a lot of pain and wasted time. So what was the CPacker issue? Also do you have own realization of it in AB? (edited)
We got lazy and used CPacker on the antibot, for like the first time in a decade someone made an ABI breaking change in CPacker. It started crashing because old antibot module new server
Avatar
That's weird, even if CPacker changed in server binary, shouldn't old version of it be compiled into AB? ABI gives only m_pfnSend that accepts raw data, all packing is made purely on AB side(at least in my AB)
Avatar
Avatar
Anime.pdf
That's weird, even if CPacker changed in server binary, shouldn't old version of it be compiled into AB? ABI gives only m_pfnSend that accepts raw data, all packing is made purely on AB side(at least in my AB)
That's not how it's linked up
Avatar
So it's really linked to server, I though it was simply copied to AB binary
Avatar
chillerdragon BOT 2024-11-15 11:03
Idk which message you mean o.0 could you resend it?
Replying to @Koll Potato ChillerDragon: check my last message about your protocol documentation p…
Avatar
Avatar
Anime.pdf
So it's really linked to server, I though it was simply copied to AB binary
It's really hard to know if we are both talking about the same thing, but yes it is truly actually linked if you make calls into the server
Avatar
How do I specify the number of percentages of people from the total number of online users on the server who must press f3 in order for the vote to be completed
Avatar
Avatar
Learath2
It's really hard to know if we are both talking about the same thing, but yes it is truly actually linked if you make calls into the server
I'm talking about classes like CPacker, I thought they are compiled into AB so it uses own standalone version of it, but looks like it's referencing server's CPacker instead and is dependent of it
11:08
This makes everything much more complicated. I guess I will migrate my AB to very standalone project that will use own classes instead of referencing, I hope this will make it independent of server realization. But I'm scared to think how much it will weight
11:08
Imagine 5mb libantibot.so
11:08
monkaStop
Avatar
how can i import the deathmatch mode to my server (edited)
Avatar
Koll Potato 2024-11-15 11:13
ChillerDragon: so basically, in the 0.7 protocol documentation, in one place, it's written there are 501 null bytes added to the end of the token control packet and in another 508 null bytes. (I tested both cases and 508 is the correct one). (edited)
Avatar
ws-client BOT 2024-11-15 11:51
<ChillerDragon> Oh yea ofc 508 is the correct one. Thanks @Koll Potato i recently re counted it and only updated it in one place. Thanks for reporting @Koll Potato
Avatar
Koll Potato 2024-11-15 11:56
np :D
Avatar
ws-client BOT 2024-11-15 12:22
<ChillerDragon> @hakan download this unzip it and double click on DDNet-Server.exe then login as admin in f2 (rcon console) and type in sv_gametype dm and then reload https://zillyhuhn.com/tmp/ddnet-windows-latest.zip
Avatar
thanks for that, but i have linux server
12:46
does it have a linux version?
Avatar
MilkeeyCat 2024-11-15 12:51
if anyone have windows installed, can you check what's the typedef for size_t in MSVC?
Avatar
Avatar
hakan
does it have a linux version?
Koll Potato 2024-11-15 12:57
Yes it does nouis
Avatar
Avatar
Koll Potato
Yes it does nouis
can i have a link
Avatar
ws-client BOT 2024-11-15 13:38
<ChillerDragon> @Koll Potato he wants death match
13:38
<ChillerDragon> @hakan do you know how to build from source?
13:38
A teeworlds instagib (grenade/laser capture the flag/death match/catch) mod based on DDRaceNetwork (gctf/ictf/idm/gdm/zcatch) - ddnet-insta/ddnet-insta
13:39
i imported it
13:39
but
13:39
the sv_gametype command didnt worked
Avatar
ws-client BOT 2024-11-15 13:39
<ChillerDragon> how so?
13:39
<ChillerDragon> did you reload
Avatar
ws-client BOT 2024-11-15 13:40
<ChillerDragon> what happend?
Avatar
can you come to my server?
Avatar
ws-client BOT 2024-11-15 13:40
<ChillerDragon> yes
13:40
77.90.53.24
13:40
the password is 31
Avatar
ws-client BOT 2024-11-15 13:42
<ChillerDragon> can't reach it
13:43
<ChillerDragon> ah nvm im in xd
13:45
<ChillerDragon> @hakan sudo apt install build-essential cargo cmake git glslang-tools google-mock libavcodec-extra libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpng-dev libsdl2-dev libsqlite3-dev libssl-dev libvulkan-dev libwavpack-dev libx264-dev python3 rustc spirv-tools
Avatar
ws-client BOT 2024-11-15 13:46
<ChillerDragon> git clone --recursive https://github.com/ddnet-insta/ddnet-insta.git && mkdir ddnet-insta/build && cd ddnet-insta/build && cmake .. && make
Avatar
ChillerDragon
Avatar
ws-client BOT 2024-11-15 13:47
<ChillerDragon> @Evelyn
Avatar
I'm currently helping a friend Clone ddnetpp
Avatar
ws-client BOT 2024-11-15 13:47
<ChillerDragon> pro
Avatar
What kind of team is there , something is wrong in the github
13:48
There is no cmake fall
Avatar
ws-client BOT 2024-11-15 13:48
<ChillerDragon> ?
13:50
13:50
Weird
Avatar
ws-client BOT 2024-11-15 13:50
<ChillerDragon> @Evelyn sudo apt install build-essential cargo cmake git glslang-tools google-mock libavcodec-extra libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpng-dev libsdl2-dev libsqlite3-dev libssl-dev libvulkan-dev libwavpack-dev libx264-dev python3 rustc spirv-tools
Avatar
Koll Potato 2024-11-15 13:50
hehe copy paste
Avatar
And then what
Avatar
ws-client BOT 2024-11-15 13:51
<ChillerDragon> @Evelyn https://zillyhuhn.com/cs/.1731678647.png here it tells you you don't have a c compiler installed
13:51
<ChillerDragon> a new system ships without the needed depdencies to build ddnet so you got to install them once using apt
13:51
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
After he downloads it all:cd DDNetPP/build and is needed cmake .. make
Avatar
ws-client BOT 2024-11-15 13:54
<ChillerDragon> if he is still in the build folder he does not need the cd
13:54
<ChillerDragon> but yes running cmake .. and make again in the build directory
Avatar
@Learath2 why most tools default to at&t syntax?
13:54
intel looks way easier and sane
Avatar
ws-client BOT 2024-11-15 13:56
<ChillerDragon> @hakan are you german? o.O
13:59
turkish
14:00
can you come again
Avatar
ws-client BOT 2024-11-15 14:00
<ChillerDragon> omw
14:04
what to do
Avatar
ws-client BOT 2024-11-15 14:06
<ChillerDragon> can you show more of the error message?
14:07
<ChillerDragon> what kind of system is that?
14:07
<ChillerDragon> what does cat /etc/os-release show
14:07
<ChillerDragon> and g++ --version
Avatar
Avatar
Ryozuki
@Learath2 why most tools default to at&t syntax?
I honestly don't know this one. I also don't know anyone who uses att syntax
Avatar
linux
Avatar
ws-client BOT 2024-11-15 14:08
<ChillerDragon> yea that much i assumed xd
14:08
<ChillerDragon> but which distro which version
Avatar
Wait
14:10
Avatar
ws-client BOT 2024-11-15 14:11
<ChillerDragon> ok debian 10 not good
14:11
<ChillerDragon> too old
Avatar
ws-client BOT 2024-11-15 14:12
<ChillerDragon> get debian 12
14:12
<ChillerDragon> where did your friend get a server? is it new? can he select debian 12 instead of debian 10?
14:13
<ChillerDragon> if there is no option to run a newer debian you have to update your self for example following this https://linuxize.com/post/how-to-upgrade-debian-10-to-debian-11/
This article shows how to upgrade your Debian 10 Buster system to Debian 11, Bullseye via command line.
Avatar
He asked to install Debian 12
14:15
Just in case, ChillerDragon, write what to do next, I remember that you will go to bed soon
Avatar
ws-client BOT 2024-11-15 14:16
<ChillerDragon> if you have debian 12 it will be as easy as on your machine
14:17
<ChillerDragon> just clone and build like you already tried
Avatar
ChillerDragon I actually got the same error about CMAKE_CXX_COMPILER as well, but that was right after installing both the compiler and cmake, on a system with like a year of uptime, but it compiled just fine when I manually specified the env var as g++
14:22
oof that was an ugly sentence...
14:23
main point: it's possible for that to show up even if you have a compiler
Avatar
Koll Potato 2024-11-15 14:25
main point: you can starve even if you have food in the fridge
Avatar
ws-client BOT 2024-11-15 14:26
<ChillerDragon> @risu that sounds cursed if you have a healthy up to date system and a compiler installed with apt then cmake should find it
Avatar
idk if it's very healthy, I haven't really done any active maintenance on it
Avatar
Koll Potato 2024-11-15 14:27
bruh wtf
Avatar
Software's most popular versioning scheme!
Avatar
Koll Potato 2024-11-15 14:28
i was away only for 1 second
Avatar
@murpi spam (edited)
14:28
@Discord Mod
Avatar
Discord takes a bit to delete all his messages
Avatar
I feel like the compiler not being detected would've probably been fixed simply by opening a new shell
Avatar
Koll Potato 2024-11-15 14:29
yes
14:29
env is not updated sometimes
Avatar
ChillerDragon they can't install debian 12, will they have to upgrade from under the system?
Avatar
the issue I'm more familiar with is having to open a new shell when my groups change
Avatar
Koll Potato 2024-11-15 14:30
i have debian 12 btw
14:30
u can dual boot
14:30
with both windows and linux
Avatar
ws-client BOT 2024-11-15 14:30
<ChillerDragon> @Ryozuki common teeworlds W
Avatar
I feel like this is probably not a home computer if they can't just upgrade it like that...
14:31
and if it's not a home computer I would absolutely not recommend trying anything Windows related
Avatar
Koll Potato 2024-11-15 14:31
running a vm is another option
14:31
slow but works
Avatar
ws-client BOT 2024-11-15 14:32
<ChillerDragon> @Evelyn then you gotta do this https://linuxize.com/post/how-to-upgrade-debian-10-to-debian-11/ hf gl
This article shows how to upgrade your Debian 10 Buster system to Debian 11, Bullseye via command line.
Avatar
Avatar
risu
main point: it's possible for that to show up even if you have a compiler
CMAKE_CXX_COMPILER is left empty in favor of CMAKE_CXX_COMPILER_INIT which gets its value from the env var, iirc
14:33
or maybe that’s only flags & stuff
14:34
you still want the variable set but ya it will often work
Avatar
How to make more slots on the server than 64
Avatar
Avatar
MilkeeyCat
if anyone have windows installed, can you check what's the typedef for size_t in MSVC?
unsigned __int64 according to https://godbolt.org/z/KE9se6E48
int main() { size_t x = 42; std::cout << typeid(x).name() << std::endl; return 0; }
Avatar
MilkeeyCat 2024-11-15 15:37
I didn't know printing out type's name is possible :0
15:38
and thanks
Avatar
Avatar
Robyt3
unsigned __int64 according to https://godbolt.org/z/KE9se6E48
does this work for structs/classes?
Avatar
Avatar
Teero
does this work for structs/classes?
Yes, prints class CMyClass for example
Avatar
ah nice
Avatar
Avatar
Learath2
This is always safe, even if you dereference. Char pointers are allowed to alias any object type
((char)this + 5) = -1 Jokes on you you just overwrote the first byte of a uint32 as 0b11111111. This happened to be a size of an array. The array is then iterated over and causes a segfaults, but not before writing to a bunch of things out of bounds causing an accidental zero day which deletes the French language pack from your system, bricking it. Reading from it if you stay inside the object should be safe (or if you're in an array even further). But writing can cause unsafe stuff
Avatar
It's not the writing that causes ub as long as that pointer is still within the object
15:43
The dereferencing, reading, writing, all are fine. It's the rest of your program that causes ub by respecting that new length and writing beyond the object
Avatar
Avatar
Learath2
The dereferencing, reading, writing, all are fine. It's the rest of your program that causes ub by respecting that new length and writing beyond the object
mmm
16:00
oke
Avatar
(You are right that it's usually not a great idea and might cause unexpected stuff, but "undefined behaviour" is a very specific thing and you need to be exact about what is UB and what isn't because C/C++ is just very strict about it) (edited)
Avatar
There's UB you need to be scared of and UB that just gets regularly abused for convenience
16:04
because it isn't all that undefined
16:05
I do need to teach myself to stop writing code that assumes x86... I like low power systems so I really should make my code work on ARM and the like
Avatar
How to make more slots on the server than 64
Avatar
Write C code until you introduce UB Challenge (IMPOSSIBLE DIFFICULTY): Survive for 5 minutes
Avatar
Avatar
Evelyn
How to make more slots on the server than 64
You have 3 options:
  • Learn to code, figure it out yourself
  • Learn to code, start from fokkonaut's ddnet PR and fix that up
  • Beg one of the 2 people that have decently well working implementations of it to implement it for you
Avatar
Avatar
risu
Write C code until you introduce UB Challenge (IMPOSSIBLE DIFFICULTY): Survive for 5 minutes
Avatar
Avatar
Learath2
You have 3 options:
  • Learn to code, figure it out yourself
  • Learn to code, start from fokkonaut's ddnet PR and fix that up
  • Beg one of the 2 people that have decently well working implementations of it to implement it for you
do older clients accept more than 64 clients, but just cant show them?
16:09
fokkonauts playground laready has 128 slots and i can join fine
Avatar
Some "engineer" at youtube decided to remove the confirmation before changing the video that is currently being cast to tv. So clicking that link made me lose my place in a 1h video essay
Avatar
Avatar
Solly
do older clients accept more than 64 clients, but just cant show them?
No they don't. All implementations of 128p use an id mapping, they map the 128 players to 64, using heuristic measures like closest/most likely to interact with players (edited)
Avatar
bw historically goes up to 256p and works the same, tho I never use it lmao
Avatar
MilkeeyCat 2024-11-15 16:11
Any MSVC enjoyers? I gen an error when I try make a typedef for size_t: 'size_t': redefinition; different basic types(C btw). For some reason in MSVC size_t can be used without including a header file, is there a compiler flag which can change this behavior or maybe a macro which indicates that the type is defined :\
Avatar
(multiple maps, single server instance)
Avatar
Avatar
MilkeeyCat
Any MSVC enjoyers? I gen an error when I try make a typedef for size_t: 'size_t': redefinition; different basic types(C btw). For some reason in MSVC size_t can be used without including a header file, is there a compiler flag which can change this behavior or maybe a macro which indicates that the type is defined :\
Why are you typedefing size_t?
Avatar
Avatar
Learath2
No they don't. All implementations of 128p use an id mapping, they map the 128 players to 64, using heuristic measures like closest/most likely to interact with players (edited)
oh no it's dirty hacks all the way down
Avatar
Avatar
Learath2
No they don't. All implementations of 128p use an id mapping, they map the 128 players to 64, using heuristic measures like closest/most likely to interact with players (edited)
can clients support 128 clients and not do this jank?
Avatar
Avatar
risu
oh no it's dirty hacks all the way down
It's somewhere in the roadmap for ddnet to get native 128p support or n player support
Avatar
Avatar
Solly
can clients support 128 clients and not do this jank?
ddnet client already does this I think?
Avatar
Avatar
Solly
can clients support 128 clients and not do this jank?
Soon(tm) as in hopefully within the next 6 months 😄
Avatar
wait no I'm dum but like, doesn't the player list support that?
Avatar
ws-client BOT 2024-11-15 16:13
<ChillerDragon> isnt that just setting MAX_CLIENTS to 128 and call it done?
Avatar
ok but then won't it break for older clients?
Avatar
Avatar
ws-client
<ChillerDragon> isnt that just setting MAX_CLIENTS to 128 and call it done?
I think we had snap size issues :/
Avatar
when /show-everyone-which-i-can-seee-when-zoomed-out-instead-of-actually-everyone-cuz-thats-dumb
Avatar
ws-client BOT 2024-11-15 16:14
<ChillerDragon> oh yea that makes sense but whats the solution for that? increase snap size?
Avatar
If you want to up it to 128 and test it out it would be appreciated
16:15
Also there are 64 wide masks that need to be widened to std::bitset<MAX_CLIENTS>
16:15
This change to 128? (edited)
Avatar
ws-client BOT 2024-11-15 16:16
<ChillerDragon> I am too tired now. But I have the feeling there has to be some low hangung fruit that could already be released now on the client side to later not have to use player mappings anymore
Avatar
Avatar
Learath2
Also there are 64 wide masks that need to be widened to std::bitset<MAX_CLIENTS>
gcc __int128 anyone? (edited)
Avatar
ws-client BOT 2024-11-15 16:17
<ChillerDragon> @Evelyn not it requires quite a bit of writing actual code to get 128 players to work. Remind me tomorrow and I can have a look.
Avatar
Avatar
Solly
gcc __int128 anyone? (edited)
But then we'll talk about this again in 2034 when upping it to 256p
Avatar
Avatar
Learath2
But then we'll talk about this again in 2034 when upping it to 256p
yep
Avatar
at that point __int256 will be a thing xd
16:17
supported by only 128 bit architectures
16:18
this is al a /j btw
Avatar
ChillerDragon maybe I'll remind you about slow motion tomorrow? It's not like making it. And choose the actions that need to be done in tune to slow down or accelerate
Avatar
I wonder if we'll ever get 128b architectures. The size of the address/data bus seems to be enough for pretty much everything we can imagine for now 😄
Avatar
Avatar
Learath2
Also there are 64 wide masks that need to be widened to std::bitset<MAX_CLIENTS>
I think that was fixed or are there some remaining? We have a typedef std::bitset<MAX_CLIENTS> CClientMask;
Avatar
Avatar
Robyt3
I think that was fixed or are there some remaining? We have a typedef std::bitset<MAX_CLIENTS> CClientMask;
Oh, cool
Avatar
Avatar
Learath2
I wonder if we'll ever get 128b architectures. The size of the address/data bus seems to be enough for pretty much everything we can imagine for now 😄
ugh yeah but what if im in the year 292,277,026,596.927,714,913,658???
greenthing 1
Avatar
ws-client BOT 2024-11-15 16:19
<ChillerDragon> @Learath2 client side masks? For predictions?
Avatar
Avatar
Solly
at that point __int256 will be a thing xd
Well we do already have 512 bit registers on some CPUs...
Avatar
Avatar
risu
Well we do already have 512 bit registers on some CPUs...
avx registers for storing bitsets?
16:23
I mean, pretty sure you can do bitwise operations on them, wouldn't make sense to not have the basics in there
16:23
probably slower than just doing it 64 bits at a time lol
Avatar
As for performance, how many tees can we handle before it becomes an issue?
16:25
I guess network would be the biggest bottleneck
Avatar
Avatar
risu
As for performance, how many tees can we handle before it becomes an issue?
bros are running ddnet at 1000s of frames per second
16:25
so yes network
Avatar
since actually processing a few thousand tees would be nothing
Avatar
also alot of people play with /showall which is a huuuuuge waste
16:27
/showall needs to be nuked (edited)
Avatar
Avatar
risu
As for performance, how many tees can we handle before it becomes an issue?
I think 512 was breaking down with the current code
Avatar
Koll Potato 2024-11-15 16:29
poggers2
Avatar
We need a distributed Teeworlds server, make an MMO, call it World of Tees
👍 4
Avatar
Avatar
Learath2
I think 512 was breaking down with the current code
jupstar can handle more i think (edited)
Avatar
Avatar
Teero
jupstar can handle more i think (edited)
That's why I said current code, without touching much. His rewrite in rust can indeed do much more
Avatar
Avatar
Learath2
Why are you typedefing size_t?
MilkeeyCat 2024-11-15 16:43
because there's no existing typedef for it
Avatar
Avatar
Learath2
That's why I said current code, without touching much. His rewrite in rust can indeed do much more
what rewrite in rust o-o?
Avatar
Avatar
Solly
what rewrite in rust o-o?
Koll Potato 2024-11-15 16:51
i assume they are talking about this https://github.com/Jupeyy/dd-pg
don't use or read this code. Contribute to Jupeyy/dd-pg development by creating an account on GitHub.
Avatar
Avatar
Solly
what rewrite in rust o-o?
Jupsti rewrote DDnet in rust
16:52
Hey respect him saying to not read it
16:52
Smh
Avatar
Koll Potato 2024-11-15 16:52
i didnt
16:52
😶
16:52
and i definitely havent cloned the repo
16:52
and didnt run it
Avatar
Avatar
MilkeeyCat
because there's no existing typedef for it
MilkeeyCat 2024-11-15 16:53
for now I just check for _MSC_VER and if it's set don't make the typedef
Avatar
Avatar
meloƞ
Jupsti rewrote DDnet in rust
error: failed to get `hashlink` as a dependency of package `base v0.1.0 (/home/solly/Code/dd-pg/lib/base)` Caused by: failed to load source for dependency `hashlink`
16:59
hmm
Avatar
you need nightly toolchain (edited)
Avatar
nightly rust?
17:01
failed to authenticate when downloading repository: git@github.com:Jupeyy/hashlink/ * attempted ssh-agent authentication, but no usernames succeeded: `git`
Avatar
Avatar
MilkeeyCat
because there's no existing typedef for it
You are supposed to include stddef.h for it. Why don't you just do that? Then on every compiler a typedef will exist
Avatar
Avatar
Solly
nightly rust?
ye
🐻‍❄️ 1
Avatar
Avatar
Learath2
You are supposed to include stddef.h for it. Why don't you just do that? Then on every compiler a typedef will exist
MilkeeyCat 2024-11-15 17:04
because stddef.h doesn't work for kernel module :p
Avatar
Avatar
MilkeeyCat
because stddef.h doesn't work for kernel module :p
? Why are you compiling a linux kernel module with msvc or a windows kernel driver with gcc?
Avatar
Avatar
MilkeeyCat
because stddef.h doesn't work for kernel module :p
Also stddef.h is part of the compiler, I see no reason why you shouldn't be allowed to use it
Avatar
Avatar
Learath2
Also stddef.h is part of the compiler, I see no reason why you shouldn't be allowed to use it
MilkeeyCat 2024-11-15 17:06
Avatar
configure: nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. hehe crippled
17:06
WHY IS IT CLONING FFMPEG??
Avatar
Koll Potato 2024-11-15 17:07
why not
Avatar
Avatar
Solly
configure: nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. hehe crippled
Koll Potato 2024-11-15 17:07
sudo apt install nasm
Avatar
for rendering ig
Avatar
theres a reason i dont like rust
Avatar
Koll Potato 2024-11-15 17:07
huh
17:07
rust hater??
17:07
cammo
Avatar
i dont mind the language, the ecosystem sucks tho
Avatar
Avatar
MilkeeyCat
Click to see attachment 🖼️
huh
Avatar
Avatar
Solly
theres a reason i dont like rust
its not the reason, you will have plenty others when you will code rust for real
Avatar
Avatar
Solly
i dont mind the language, the ecosystem sucks tho
Koll Potato 2024-11-15 17:07
imo its the best one there is
Avatar
Avatar
Solly
i dont mind the language, the ecosystem sucks tho
lmfao
Avatar
_kernel_size_t perhaps?
Avatar
Koll Potato 2024-11-15 17:07
im coming from javascript sooo
17:07
its better
Avatar
Avatar
zhn
for rendering ig
ffmpeg doesnt do rendering
17:07
and i already have ffmpeg installed
Avatar
Avatar
Solly
ffmpeg doesnt do rendering
for rendering videos i mean
17:08
like demo to mp4 encoding
Avatar
There is plenty of uses of size_t in the kernel, idk what your issue is tbh
Avatar
Avatar
zhn
like demo to mp4 encoding
o i guess that is fair, but you can hook ffmpeg to your window
17:08
it doesnt need to be a compile time dependency
Avatar
languages that ship with package managers are dangerous because they end up with stupid dependency trees for basic apps
Avatar
ask @Jupstar ✪
Avatar
and if anything should be installed for it, it should be a c -> rust compat layer
Avatar
Avatar
Solly
and if anything should be installed for it, it should be a c -> rust compat layer
but it is?
Avatar
Avatar
zhn
ask @Jupstar ✪
its probably a dependency of a dependency cuz rust
Avatar
the difficulty of handling dependencies for C makes the software better lol
Avatar
Avatar
risu
languages that ship with package managers are dangerous because they end up with stupid dependency trees for basic apps
Koll Potato 2024-11-15 17:09
Return true if the given number is even.. Latest version: 1.0.0, last published: 7 years ago. Start using is-even in your project by running npm i is-even. There are 49 other projects in the npm registry using is-even.
Avatar
Avatar
Learath2
There is plenty of uses of size_t in the kernel, idk what your issue is tbh
MilkeeyCat 2024-11-15 17:09
I'm making a linux kernel module and I can use size_t and everything works, but I'm also making a library which can be used by the kernel module
Avatar
Avatar
risu
languages that ship with package managers are dangerous because they end up with stupid dependency trees for basic apps
yeah, cpp ends up with manual bootstrapping of such xddd
Avatar
also takes many years
Avatar
Koll Potato 2024-11-15 17:09
17:10
omg ai
Avatar
and a good internet connection
Avatar
you can download it once and work as you wish
Avatar
MilkeeyCat 2024-11-15 17:10
I don't want to include any kernel related headers so I did this https://github.com/MilkeeyCat/ddnet_protocol/blob/master/src/common.h
Avatar
offline i mean
Avatar
Avatar
Solly
WHY IS IT CLONING FFMPEG??
how else do you expect audio to work
Avatar
Avatar
meloƞ
how else do you expect audio to work
audio?? xd
Avatar
Avatar
meloƞ
how else do you expect audio to work
ffmpeg shouldnt handle audio playing
17:11
and that would be ffplay anyway
Avatar
ofc audio, noone would be crazy enough to use it for videos!
Avatar
stop troll
Avatar
Avatar
Solly
o i guess that is fair, but you can hook ffmpeg to your window
arch1t3cht 2024-11-15 17:11
ddnet doesn't just shell out to ffmpeg, it uses libavcodec/libavformat (the libraries making up ffmpeg) to encode directly, which is much more robust
👍 1
🦈 1
Avatar
Avatar
MilkeeyCat
I don't want to include any kernel related headers so I did this https://github.com/MilkeeyCat/ddnet_protocol/blob/master/src/common.h
Why can't your library include stddef? I don't get that part. Is your compiler misconfigured or sth? (edited)
Avatar
Avatar
Solly
o i guess that is fair, but you can hook ffmpeg to your window
just grep ffmpeg in sources and look what it is used for
17:13
♿
Avatar
arch1t3cht 2024-11-15 17:13
you'd need to grep for av or avcodec
Avatar
Avatar
Learath2
Why can't your library include stddef? I don't get that part. Is your compiler misconfigured or sth? (edited)
MilkeeyCat 2024-11-15 17:13
I can include it in normal projects but it doesn't work with kernel module :\
Avatar
Avatar
arch1t3cht
you'd need to grep for av or avcodec
this is not about ddnet
Avatar
Avatar
arch1t3cht
you'd need to grep for av or avcodec
but we are talking about ddnet-pg, not ddnet
17:14
ddnet ofc doesn't use full ffmpeg bundle, but seems ddnet-pg does
Avatar
no more issues allowed
17:15
oh god...
Avatar
arch1t3cht 2024-11-15 17:15
ah I didn't read enough backlog it seems
Avatar
Avatar
MilkeeyCat
I can include it in normal projects but it doesn't work with kernel module :\
The kernel itself includes stddef all over the place, so it's not like a rule or sth. Anyway, idk
Avatar
Avatar
zhn
just grep ffmpeg in sources and look what it is used for
yeah but it means it wouldnt be a compiletime dependency but runtime optional dependency
17:16
which is yipee
17:16
17:16
also it feels like teeworlds
17:16
very ... rough in every way but it works :D
Avatar
reminder that ddnet is just a teeworlds mod, so it makes sense kek
Avatar
Avatar
Solly
very ... rough in every way but it works :D
Koll Potato 2024-11-15 17:16
crashed after a minute of gameplay for me
17:16
but it worked
17:16
so epic
Avatar
Avatar
Koll Potato
crashed after a minute of gameplay for me
i had to host a local server
Avatar
skill issue, i played hours of gores on it, and i also beat @zhn in a few rounds of ctf (edited)
Avatar
Avatar
meloƞ
skill issue, i played hours of gores on it, and i also beat @zhn in a few rounds of ctf (edited)
can it join normal servers nowadays?
Avatar
Avatar
meloƞ
skill issue, i played hours of gores on it, and i also beat @zhn in a few rounds of ctf (edited)
in (old) ddrace servers
17:17
?
Avatar
Avatar
Koll Potato
crashed after a minute of gameplay for me
skill issue, played insta for hours on it
Avatar
Avatar
Learath2
can it join normal servers nowadays?
iirc jupsti doesnt intend for it to be compatible (edited)
Avatar
Avatar
arch1t3cht
ddnet doesn't just shell out to ffmpeg, it uses libavcodec/libavformat (the libraries making up ffmpeg) to encode directly, which is much more robust
arch1t3cht 2024-11-15 17:17
this is still true though
Avatar
I thought Jupstar was intentionally never going to support normal ddnet/teeworlds protocol
Avatar
Avatar
meloƞ
skill issue, i played hours of gores on it, and i also beat @zhn in a few rounds of ctf (edited)
yeah, mister 20 ping
KEKW 1
Avatar
Avatar
zhn
yeah, mister 20 ping
skill issue
Avatar
Avatar
zhn
skill issue, played insta for hours on it
Koll Potato 2024-11-15 17:17
skill issue, i touched grass for hours
Avatar
Avatar
meloƞ
skill issue
troll
Avatar
Avatar
Learath2
I thought Jupstar was intentionally never going to support normal ddnet/teeworlds protocol
yeah, it doesn't justatest
Avatar
dd-pg feels like ddnet with antiping on by default, it felt like cheating
❓ 1
Avatar
i had 60-9999 ping, still playable enough
Avatar
dd-pg is better in most ways imo
Avatar
It's such a shame that's the direction he took with it
Avatar
Koll Potato 2024-11-15 17:19
is he going to make a brand new protocol or what?
Avatar
he mentioned he will allow modifications when he releases it
17:19
so we might see that at some point
Avatar
It'll cause unimaginable amounts of migration pain and community splitting for absolutely 0 reason
Avatar
Avatar
meloƞ
he mentioned he will allow modifications when he releases it
my insta is ready for tweaking brownbear
Avatar
Avatar
zhn
my insta is ready for tweaking brownbear
my zombies can't wait to be implemented boom
Avatar
Avatar
Learath2
It'll cause unimaginable amounts of migration pain and community splitting for absolutely 0 reason
for 0 reason?
Avatar
Ok -1 reason
Avatar
Avatar
Learath2
It'll cause unimaginable amounts of migration pain and community splitting for absolutely 0 reason
it is a different game
Avatar
he'll sell dd-pg, "for only 29,99$"
Avatar
he literally remade teeworlds in rust with accounts in mind
Avatar
Avatar
Teero
it is a different game
A different game that looks and behaves almost exactly the same way as another
Avatar
i wouldn't say he had 0 reasons to do it
Avatar
Avatar
zhn
i wouldn't say he had 0 reasons to do it
Many reasons to give ddnet/teeworlds a proper rewrite. 0 reasons not to properly support the current set of mods
Avatar
he was tired of needing to do backwards compatible things and getting nowhere
Avatar
we can do that together when he releases it
17:21
wasm ftw
17:22
ok i stop trolling
Avatar
remaking the mods is easier than maintaining backwards compatibility for the next 10 years
17:22
also mods in dd-pg are much more powerful
Avatar
When he releases it properly one project is definitely going to die off. We barely have the people to maintain this project let alone give it a complete rewrite in wasm to support dd-pg
Avatar
Avatar
Learath2
Many reasons to give ddnet/teeworlds a proper rewrite. 0 reasons not to properly support the current set of mods
since ddnet 2.0 was a thing as an idea of throwing out old ddnet/teeworlds i wouldn't say it either
Avatar
twgame exists already with most stuff implemented
17:23
dd-pg uses that currently as a physics module and it works quite well
Avatar
didn't heinrich make his own proper protocol based on quic?
Avatar
even tho many things are not done yet
Avatar
Just remember me when the game dies, that's all I ask
17:24
You can tell people there was this old 80 year old dude that warned us that breaking 10 years worth of mods wasn't the best idea
🍻 1
Avatar
bruh, i heard that almost on every major release
17:24
better thing will live, thats all
Avatar
Avatar
zhn
didn't heinrich make his own proper protocol based on quic?
quic is just wrapping the already existing protocol 1 to 1, it's a different transport, not a different protocol
Avatar
0.5 died, 0.6 lived
17:25
0.7 bappened, 0.7 died
Avatar
Avatar
zhn
0.5 died, 0.6 lived
We had the time, the people and the talent to port ddnet to 0.6. We have none of the above nowadays
Avatar
Avatar
Learath2
quic is just wrapping the already existing protocol 1 to 1, it's a different transport, not a different protocol
wait so there was no work done on making a better protocol?
Avatar
Avatar
Learath2
We had the time, the people and the talent to port ddnet to 0.6. We have none of the above nowadays
because 0.5 and 0.6 were pretty similar, aren't they
Avatar
Avatar
zhn
wait so there was no work done on making a better protocol?
There is no need for a "better" protocol as was mentioned to you many times now. The protocol is just fine except for the fact that it contains some crud
Avatar
code wise, protocol wise
Avatar
Avatar
zhn
because 0.5 and 0.6 were pretty similar, aren't they
Almost exactly the same, the bulk of the work was that a lot of code was moved around by ddrace and by teeworlds, so when 0.6 came out merging the two was almost impossible
17:27
Hours and hours of resolving merge conflicts and testing, but as I said back then we had much more time on hand with more people
17:28
btd was still around, greyfox was here
Avatar
Avatar
Learath2
There is no need for a "better" protocol as was mentioned to you many times now. The protocol is just fine except for the fact that it contains some crud
so still we will have no server side assets, no dynamic map chunk patching, etc
Avatar
Avatar
zhn
so still we will have no server side assets, no dynamic map chunk patching, etc
Those have nothing to do with quic, correct
Avatar
and it doesn't solely depend on protocol, map format should be reconsidered too as it was discussed many times before
Avatar
Avatar
Learath2
Those have nothing to do with quic, correct
i don't argue about quic being a new protocol, i was thinking that heinrich tries to improve existing one and implement quic base for it
17:29
nothing else
Avatar
Avatar
zhn
so still we will have no server side assets, no dynamic map chunk patching, etc
"the protocol" isn't stopping you from implementing these, it's perfectly capable of expressing these things
Avatar
Avatar
Learath2
"the protocol" isn't stopping you from implementing these, it's perfectly capable of expressing these things
yeah, tell me
Avatar
Avatar
zhn
i don't argue about quic being a new protocol, i was thinking that heinrich tries to improve existing one and implement quic base for it
quic is mostly just replacing udp 1 to 1, and giving us transport security, the second one is needed for accounts to be secure
Avatar
backcompat is part of ddnet and it was the only reason why jupstar did it
Avatar
Avatar
zhn
so still we will have no server side assets, no dynamic map chunk patching, etc
holdon i got an xkcd for that
Avatar
if ddnet eould not support older clients we would not have to see this reimplementation
17:30
jupstar would just work on that in current codebase
Avatar
And when he does finish up and release his work you can all have fun with your shiny new clients playing vanilla
Avatar
yeah, i will praise it, because its better and more flexible
Avatar
Avatar
Solly
holdon i got an xkcd for that
Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
Avatar
Avatar
zhn
yeah, i will praise it, because its better and more flexible
certainly, at the cost of throwing away a decade of modding
17:32
thousands and thousands of human hours spent on developing all the mods that have to be completely re-done
Avatar
Avatar
Learath2
certainly, at the cost of throwing away a decade of modding
we will be able to make more stuff with it anyway
Avatar
i think u want roblox (that is a game engine which has inherit multiplayer functionality which can do anything)
Avatar
and since wasm modules are reusable, these will be easily transferred
Avatar
Avatar
Solly
i think u want roblox (that is a game engine which has inherit multiplayer functionality which can do anything)
Koll Potato 2024-11-15 17:33
a framework for ddnet servers
Avatar
Avatar
Solly
i think u want roblox (that is a game engine which has inherit multiplayer functionality which can do anything)
its called game engine smh
Avatar
can you.. read the thing in brackets
Avatar
and yes modders always considered teeworlds as game engine with its own constraints
Avatar
Avatar
zhn
we will be able to make more stuff with it anyway
you'll slowly recreate the mods we currently have, while slowly leeching off players and devs, which will kill both because both will end up too small to be sustainable
Avatar
not all game engines have inherit multiplayer functionality, and those which do often require a lot of code to do so or are easy to cheat on
Avatar
Avatar
zhn
and yes modders always considered teeworlds as game engine with its own constraints
although oy would always say opposite
Avatar
many an open source project died this exact death, fork -> dev split -> not enough dev time for either -> dead project
Avatar
Avatar
Learath2
you'll slowly recreate the mods we currently have, while slowly leeching off players and devs, which will kill both because both will end up too small to be sustainable
does anyone force all the devs to move to dd pg?
17:35
i don't see it
17:35
also we don't have so much active developers to be actually split
Avatar
Avatar
zhn
does anyone force all the devs to move to dd pg?
No, but dd-pg needs dev time and there is a finite amount of it unless you think new developers are going to show up to help recreate the library of mods
17:38
Anyway, think whatever you like. I'm just making a prediction based on what I've seen happen to other projects and what I've seen happen within this project. You obviously disagree, that's fine
Avatar
if this is an election im siding with the "dont fork or split anything, jupeey can do whatever they want, if it attracts people then let it"
Avatar
Avatar
Learath2
No, but dd-pg needs dev time and there is a finite amount of it unless you think new developers are going to show up to help recreate the library of mods
Well the rust cult is pretty good at doing just that...
17:38
They love rewriting things :)
Avatar
wd40 keep me safe 👻
Avatar
Hopefully someone will implement a compatibility layer to solve it, but given the amount of activity we have nowadays that's even doubtful
Avatar
the only developers we actually have to contribute to ddnet upstream are... robyt3, because no one else wants to waste their time on thing they implemented in their own fork to be closed just like any other major prs we had. i don't say that there's no reason to close them but that's the thing
17:39
the only great thing that was added from another fork is fokkos 128 id mapping, thats all i can recall for now
Avatar
Avatar
zhn
the only developers we actually have to contribute to ddnet upstream are... robyt3, because no one else wants to waste their time on thing they implemented in their own fork to be closed just like any other major prs we had. i don't say that there's no reason to close them but that's the thing
Avatar
You and I obviously have very different ideas on how this project is supposed to run, so it's quite normal we disagree
Avatar
Avatar
Solly
Click to see attachment 🖼️
so what?
Avatar
Avatar
zhn
so what?
das alot of people
Avatar
Avatar
Learath2
You and I obviously have very different ideas on how this project is supposed to run, so it's quite normal we disagree
ye, but i still don't see any reason for cpp developers to split over rust project
Avatar
Avatar
zhn
ye, but i still don't see any reason for cpp developers to split over rust project
There is a limited amount of developers in general that are interested in teeworlds/ddnet, most of us know both C++ and Rust. There won't be random Rustaceans showing up to write mods (edited)
Avatar
Avatar
Solly
das alot of people
It's understandable people are annoyed that not everything is getting merged and getting things merged is the only way to mod this game properly
Avatar
Avatar
Learath2
There is a limited amount of developers in general that are interested in teeworlds/ddnet, most of us know both C++ and Rust. There won't be random Rustaceans showing up to write mods (edited)
i was about to say that we have less rustaceans than cpp enjoyers there
17:43
at least most active ones, i.e chiller and robyt3
Avatar
Avatar
Learath2
It's understandable people are annoyed that not everything is getting merged and getting things merged is the only way to mod this game properly
u can do alot of server side only. the problem is alot of mods are unmaintaed, not open source and hard to find
Avatar
Avatar
Learath2
It's understandable people are annoyed that not everything is getting merged and getting things merged is the only way to mod this game properly
This is also exactly why ddrace moved away from teeworlds client, providing a smooth experience requires client support
Avatar
Avatar
Learath2
This is also exactly why ddrace moved away from teeworlds client, providing a smooth experience requires client support
history repeats itself, eh
Avatar
Avatar
zhn
history repeats itself, eh
Not really, we were all extremely careful not to break backwards compatibility so as to ensure a unified playerbase and not splitting the community
🦈 1
Avatar
Avatar
Learath2
Not really, we were all extremely careful not to break backwards compatibility so as to ensure a unified playerbase and not splitting the community
i just played on vanilla 0.6, still works fine
17:45
:D
Avatar
Avatar
Learath2
Not really, we were all extremely careful not to break backwards compatibility so as to ensure a unified playerbase and not splitting the community
all other clients died just because they needed to handle with ddrace support, didn't they?
Avatar
All other clients died just because the ddrace client was just technically superior and a superset to all of them
Avatar
and all major cool stuff just was merged in ddrace client, just to not waste time duplicating it
Avatar
Avatar
Learath2
All other clients died just because the ddrace client was just technically superior and a superset to all of them
not vanilla ones
Avatar
ddnet is just a continuation of ddrace, so now that's the most useful client
Avatar
gamer and tdtw are still better in ui ux way for vanilla
Avatar
Avatar
zhn
gamer and tdtw are still better in ui ux way for vanilla
Vanilla died in general, how many people play it now, 20-30?
17:47
If there were more players there would be popular maintained vanilla clients
Avatar
Avatar
Learath2
Vanilla died in general, how many people play it now, 20-30?
we have at least 30 russian vanilla player rn, i don't know numbers from eu and us
Avatar
i wana play some ctf ):
17:48
the non i/g kind
Avatar
Avatar
Learath2
If there were more players there would be popular maintained vanilla clients
newbies enter vanilla mods and ask us "new mod?"
Avatar
the kind where its 8 per side on ctf5 and its 100 100 (both sides captured the flag 100 times)
Avatar
theh also tend to play on ddnet vanilla servers, they just don't see any other
Avatar
Anyway, the lack of actively maintained vanilla clients is not because vanilla clients didn't handle ddrace well. It's because there are no active developers in the vanilla sphere
17:49
ddrace based clients are just easier to maintain because you can piggyback off of our maintainance of it
Avatar
imagine trying to handle ddrace updates with client you code solely
17:50
ofc they dropped it
Avatar
They dropped it because these developers aren't involved much at all with the game anymore. Gamer client is by Dune, he had 6 contributions in the last 5 years
Avatar
it's one of the reasons, not the only one
17:53
psychogod was active enough but still dropped tdtw (edited)
Avatar
What does ddpg offer to players over ddnet? I find hard to envision it replacing ddnet unless it's an official switch
Avatar
If there was a demand for a vanilla client, there would be a maintained vanilla client based on ddnet at the very least, if you think ddrace support is so important that it'd kill the client
Avatar
Avatar
Learath2
If there was a demand for a vanilla client, there would be a maintained vanilla client based on ddnet at the very least, if you think ddrace support is so important that it'd kill the client
every good vanilla player has their own tweaked ddnet client with few adjustments :)
17:54
and that's thr way how small things like clan in spectators come into ddnet
Avatar
Avatar
Tater
What does ddpg offer to players over ddnet? I find hard to envision it replacing ddnet unless it's an official switch
proper modding api, an actual modding
Avatar
Avatar
Tater
What does ddpg offer to players over ddnet? I find hard to envision it replacing ddnet unless it's an official switch
It can only be an official switch if we somehow find hundreds and hundreds of hours to reimplement ddrace as a wasm module with the 3 Rust developers we have around that are all so busy that they either don't contribute nowadays or only do maintainance
17:56
Also all the old ranks need to play back perfectly on the newly reimplemented ddrace, and we have to support both dd-pg based clients and old clients at least for a while because we can't just drop support for it completely overnight
Avatar
Avatar
zhn
proper modding api, an actual modding
This isn't a direct offer to players, it's indirect
Avatar
client mods xd
Avatar
Avatar
Tater
What does ddpg offer to players over ddnet? I find hard to envision it replacing ddnet unless it's an official switch
Way more fps, probably more stable once it's released because Rust, and in the future when there are people around to make mods for it it's more flexible so stuff like the old nodes mod
Avatar
Way more?
Avatar
didn't you test it?
Avatar
Surely 5000 -> 20000 is not important?
Avatar
Avatar
Tater
Surely 5000 -> 20000 is not important?
we have players that owe computers handling ddnet at less thab 100 fps
Avatar
Avatar
Tater
Surely 5000 -> 20000 is not important?
It's not imo but I've given up on that discussion long ago. I now pretend it matters
18:00
It's always better to have more frametime available anyway, you can do more
Avatar
I guess but you need to do physics which is kinda fundamental limited
Avatar
Avatar
zhn
we have players that owe computers handling ddnet at less thab 100 fps
Surely these ancient machines can't run dd-pg anyway, it needs vulkan
Avatar
Avatar
Tater
I guess but you need to do physics which is kinda fundamental limited
Our physics are tied to ticks, not fps, so I guess frametime doesn't have much to do with it
Avatar
Avatar
Learath2
Surely these ancient machines can't run dd-pg anyway, it needs vulkan
i mean the ones with vulkan, even
Avatar
Avatar
zhn
i mean the ones with vulkan, even
What toaster that is new enough to support vulkan properly runs ddnet at less than 100 fps? My intel atom netbook with igpu still ran it at like 150 last year when I checked
18:05
Anyway, all of this is beyond the point. I've delivered my grand prediction. I'll go make some food
Avatar
Avatar
Learath2
It can only be an official switch if we somehow find hundreds and hundreds of hours to reimplement ddrace as a wasm module with the 3 Rust developers we have around that are all so busy that they either don't contribute nowadays or only do maintainance
can we remove rust from ddnet, its just annoying x-x
Avatar
Avatar
Solly
can we remove rust from ddnet, its just annoying x-x
It's about to get an actual use soon(tm)
Avatar
(removing all the stubs from client removes 1mb of the executable and probably speeds up compile time) (edited)
Avatar
Still missing: timeout protection works on computers other than my own? works on windows? works for cross-compiling review protocol for segmenting messages, is there some sort of standard may...
Avatar
couldnt be done in cpp?
18:08
too late now not telling heinrich to redo their work xd
Avatar
could be, but it isn't
Avatar
Avatar
Learath2
Our physics are tied to ticks, not fps, so I guess frametime doesn't have much to do with it
My point was vague sorry, I meant if you need to spend 1/1000th of a second to do physics the extra frames don't increase smoothness.
18:11
Unless you have a separate thread
Avatar
Avatar
Tater
My point was vague sorry, I meant if you need to spend 1/1000th of a second to do physics the extra frames don't increase smoothness.
Hm, it is technically quantized but we interpolate, so it might look smoother
Avatar
Avatar
Tater
This isn't a direct offer to players, it's indirect
well i'd guess the indirect benefits would be the reason people switch if they do
Avatar
but my point with frametime was that you can do other stuff, you just need to update physics at the correct times
Avatar
montikboom 2024-11-15 18:15
is there any way to fix this? the half of mine server is this "bots"
Avatar
uncheck show connecting players
18:16
if htis is ur server then uhhhh idk
Avatar
Avatar
Solly
uncheck show connecting players
montikboom 2024-11-15 18:16
how
Avatar
in the filter settings
18:16
turn on "filter connecting players"
Avatar
Avatar
Learath2
Anyway, all of this is beyond the point. I've delivered my grand prediction. I'll go make some food
bon appetite, big boy
👀 1
Avatar
Avatar
Solly
turn on "filter connecting players"
montikboom 2024-11-15 18:18
18:18
idk ¯\_(ツ)_/¯
Avatar
Avatar
Solly
idk ¯\_(ツ)_/¯
montikboom 2024-11-15 18:18
this "players" is not letting other join game
Avatar
Avatar
montikboom
this "players" is not letting other join game
this is called a slow loris attack
18:19
theres probably some setting somewhere to turn timeout to really low
Avatar
Avatar
Solly
theres probably some setting somewhere to turn timeout to really low
montikboom 2024-11-15 18:19
where?
Avatar
finding
18:20
conn_timeout
18:20
but youre probably better off banning the ips
18:20
because they can just reconnect afterwards (edited)
Avatar
Avatar
Solly
conn_timeout
montikboom 2024-11-15 18:20
this in f2?
18:20
set it to like 10 or something
18:20
idk if its in ticks or seconds
Avatar
Avatar
Solly
set it to like 10 or something
montikboom 2024-11-15 18:21
i put 5
18:21
ty, this worked
18:22
if its automated the bots r probably still connecting over an over again
18:22
so u should probably ban by ip
Avatar
Avatar
Solly
idk if its in ticks or seconds
seconds
👍 1
Avatar
why is it 100 by default then
18:23
thats maaaasive
18:23
is it for map download?
Avatar
i was connecting to one brazil server for almost 2 minutes, so its gut xd
Avatar
How do I iterate over the game layer using twmap and place a specific tile from a layer based on the game tile?
Avatar
you mean copy game layout into tiles layout?
19:15
design layer i mean
19:16
@fokkonaut
Avatar
yes
Avatar
look up imilsch's exporter from gores generator
19:17
lemme send link
19:18
Procedual random map generator for the gores gamemode in teeworlds/ddnet - iMilchshake/gores-mapgen
Avatar
Thanks
19:20
How does it work for bash?
19:20
chillerdragon: maybe
19:20
m.groups[16].layers[0].color = (234, 234, 234, 255) This is how to modify color of a tile layer
19:21
cant find a doc about twmap to get and set a tile from that layer
Avatar
are u using the python version?
Avatar
yes
Avatar
i think u have to use help(twmap.Map) and find the layers attribute
Avatar
Oh, okay lemme see
Avatar
if you want to modify a design layer then u need to find the index of the layer it corresponds to
19:31
if u want to extract game tile layers: with open(map_path, 'r') as file: map_data = twmap.Map(map_path) game_layer = map_data.game_layer().tiles front_layer = map_data.front_layer().tiles ...
Avatar
Avatar
Learath2
Way more fps, probably more stable once it's released because Rust, and in the future when there are people around to make mods for it it's more flexible so stuff like the old nodes mod
people will have 5000 instead of 4000 fps at the small cost of full rewrite and no new updates
19:35
🤝
Avatar
worth it
Avatar
Koll Potato 2024-11-15 19:43
i agree
19:43
totally worth it
Avatar
Koll Potato 2024-11-15 19:43
🥔
Avatar
I'm the right potato
Avatar
for some reason it doesnt seem to load the map into python
20:02
m = twmap.Map(sys.argv[1])
20:02
this does crash silently
20:03
map is in the same path + admin cmd
Avatar
GitHub BOT 2024-11-15 20:13
Might be useful for trashmap servers or servers where owners want to allow /invincible, /telecursor, in team 0 by default instead of making players go into a team first. Not sure if it would be used beyond trashmap servers, that can be something to discuss.

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 added cover...
Avatar
hi again, how to get position and timer value by player id?
20:25
in server side
Avatar
pls help 😩
Avatar
Avatar
idk
hi again, how to get position and timer value by player id?
int CurrTime = (pSelf->Server()->Tick() - pChr->m_StartTime) / pSelf->Server()->TickSpeed(); (edited)
20:37
position is in CCharacterCore
Avatar
thank you
Avatar
Avatar
kebs
int CurrTime = (pSelf->Server()->Tick() - pChr->m_StartTime) / pSelf->Server()->TickSpeed(); (edited)
i write in server.cpp. how to get pChr by id?(for(int i = 0; i < MAX_CLIENTS; i++))
Avatar
You can't use the character data in the engine (server.cpp), check gamecontext.cpp and gamecontroller.cpp for other loops with i < MAX_CLIENTS condition
Avatar
GitHub BOT 2024-11-15 21:04
Use width and height of STileLayerVisuals instead of passing CMapItemLayerTilemap * separately. Remove unused CMapItemGroup * parameters.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed n...
Avatar
@Assa https://github.com/ddnet/ddnet-discordbot/issues/87 Could you clarify what the command is supposed to do? You mentioned twmap-check, but I assume you meant twmap-check-ddnet?
Avatar
just have the ddnet bot check it the same way it checks skins etc - (e.g in dms) ?
21:18
or is that to heavy on the bot
Avatar
Avatar
murpi
@Assa https://github.com/ddnet/ddnet-discordbot/issues/87 Could you clarify what the command is supposed to do? You mentioned twmap-check, but I assume you meant twmap-check-ddnet?
yes exactly, I know that you can Download compile and run this tool, but thats not really accessible for the majority
21:41
also I did a PR for patiga in order to check tunings 😁
21:45
fixed the description for discordbot issue (edited)
Avatar
GitHub BOT 2024-11-15 21:53

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 added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssan...
Avatar
MilkeeyCat 2024-11-15 21:59
is there any kind of rule when to use references vs pointers? :p
22:00
except when null pointer can be passed (edited)
22:04
22:04
do reports even do anything
22:04
same msg as yday
Avatar
Howdy, this week we will be diving deep into the workings of cargo pods and their seamless flight animations. Most of you playing the expansion have probably already seen them in game. The positive reception makes us very happy. Ascending to platform in orbit above Nauvis.
Avatar
GitHub BOT 2024-11-15 22:11
557a594 Remove unused parameters of CMapLayers functions - Robyt3 b83bad7 Merge pull request #9252 from Robyt3/Client-CMapLayers-Parameter-Cleanup - heinrich5991
22:11
1cb3a6b Substantially reduce stack memory usage of CDataFileWriter - Robyt3 495e262 Merge pull request #9246 from Robyt3/Datafile-Writer-Stack-Usage - heinrich5991
Avatar
Avatar
kebs
same msg as yday
almost as if something you can't see must be going on with those "same" messages
22:35
666d9f0 Replace GitHub-specific emoji names with emojis directly - heinrich5991 9ffde94 Document that using integers in boolean contexts is not recommended - heinrich5991 aa408ef Merge pull request #9253 from heinrich5991/pr_ddnet_contributing_if_int - def-
Avatar
Avatar
Learath2
almost as if something you can't see must be going on with those "same" messages
if "client.com" in message: return (edited)
22:36
leTroll
justatest 3
Avatar
ws-client BOT 2024-11-15 23:15
<ChillerDragon> @fokkonaut you can iterate the game layer like this for (y, x, flags), tile in numpy.ndenumerate(m.game_layer().tiles):
Avatar
i'm abusing client rn
Avatar
ws-client BOT 2024-11-15 23:16
<ChillerDragon> for setting tiles you have to reassign the tiles attribute m.groups[collision_group].layers[collision_layer].tiles = edited_collision
23:17
Tool for mappers that like to map with gametiles first. It generates tiles based on gametiles so the opposite of what &quot;Game Tiles&quot; button does in the editor. - ChillerDragon/teewo...
Avatar
@rob the 5px padding is the same as on the friends list (edited)
Avatar
ws-client BOT 2024-11-15 23:17
<ChillerDragon> @fokkonaut what are you working on?
23:25
Also for keeping the background color the same thruought why not just move the background to the draw() call done ages ago
23:25
instead of relying on backgrounds drawn on backgrounds
Exported 652 message(s)
Timezone: UTC+0