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-10-07 00:00 and 2024-10-08 00:00
Avatar
Avatar
ReiTW
yes but that's useless asf
not really, their main route is https://ddstats.tw/player
00:10
thats actual web page so
00:11
a better option would be something like https://api.ddstats.tw/player but doesnt matter idk
Avatar
GitHub BOT 2024-10-07 03:50
I don't like linear interpolation, I think it always looks bad. Comparison: (Sorry for the crunchy bitrate, github is limiting to 10mb now) https://github.com/user-attachments/assets/75245d73-684a-4183-9c47-94000dc5195d

Checklist

  • [x] Tested the change ingame
  • [x] 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
  • [ ]...
Avatar
Avatar
Jupstar ✪
does someone have an API to fetch the last player skin of a given player name? gerdoe sent me the API from furo: https://ddstats.tw/player/json?player=n9 but it's way too verbose, i'd dos the server xD
last or most used?
Avatar
Avatar
Matodor
last or most used?
last rn
Avatar
Avatar
zhn
last rn
rn no justatest I'll add this feature to my API in a few days
⬆️ 1
Avatar
GitHub BOT 2024-10-07 07:00
b6bc5d1 apply exponential easing to smooth camera - sjrc6 10df82a Merge pull request #9124 from sjrc6/pr_smooth_expo_ease - def-
Avatar
@Scrumplex poggers2 poggers2 poggers2 poggers2
07:08
Prolly one of the best picks
Avatar
Avatar
meloƞ
@Scrumplex poggers2 poggers2 poggers2 poggers2
what is this?
Avatar
Scrumplex is nominated to be part of the nix steering committee!!!
07:16
2024 Election for the Steering Committee. Contribute to NixOS/SC-election-2024 development by creating an account on GitHub.
Avatar
gl hf
Avatar
Cloudflare’s DDoS defenses have automatically and successfully detected and mitigated a 3.8 terabit per second DDoS attack — the largest attack on record — as part of a month-long campaign of over a hundred hyper-volumetric L3/4 DDoS attacks.
😎 4
07:18
justatest
Avatar
im pro gentoo
Avatar
im anti gentoo
Avatar
@Jupstar ✪
09:08
A search engine for Rust
Avatar
Avatar
Ryozuki
@Jupstar ✪
Jupstar ✪ 2024-10-07 09:14
Looks fair
Avatar
Are we able to specify a path to the autoexec_server.cfg file ?
09:24
Or any config file in general
Avatar
Serbia when Rust became popular: 🤑
Avatar
Avatar
zhn
1. clstartinfo clchangeinfo are self replicating 2. svextraprojectile is redudant(?) 3. input is a system message? why? 4. ready/conready are self replicating 5. mapdata contains the same crc of map, why? 6. and another questions that im not able to recall
heinrich5991 2024-10-07 09:26
1. that's by design, I think 2. not sure how it's redundant, but it's also not used anymore, so whatever 3. because the engine deals with input timing etc 4. I don't understand what you mean by self-replicating 5. probably to make sure that we get map data for the correct map
09:26
"break the protocol" isn't a goal, it can be a means to achieve a goal
09:27
what you posted looks more like a couple of questions about the current protocol though. I'd be worried if we decided to break the protocol because someone had questions on it
Avatar
Avatar
Ryozuki
map format
heinrich5991 2024-10-07 09:28
can you write up your vision for a map format?
Avatar
Avatar
meloƞ
Are we able to specify a path to the autoexec_server.cfg file ?
Or let me reword that, can the .cfg file handle absolute paths ? (eg exec ~/.config/ddnetserver/myconfig.cfg)
Avatar
its rewind time
Avatar
Avatar
Learath2
Btw did y’all see Valve managed to break through the wayland stalemate that has been holding back that vsync proposal?
heinrich5991 2024-10-07 09:33
no. link? 🙂
Avatar
Avatar
heinrich5991
no. link? 🙂
Joshua Ashton of Valve's Linux graphics team has opened a Mesa merge request to support a proposed 'frog-fifo-v1' protocol for Wayland to address the matter of 'FIFO is fundamentally broken under Mesa's Wayland WSI right now.'
I <3 Open Source That should be obvious by now, right? I’ve been out here blogging about Open Source stuff for over a decade, and occasionally I still have time to actually write code.
🚀 1
09:38
Mike's blogpost is about how they'd fix the governance issue. And the first link is about the temporary solution they came up with to get things moving
Avatar
Avatar
meloƞ
Scrumplex is nominated to be part of the nix steering committee!!!
:3
Avatar
Avatar
meloƞ
Scrumplex is nominated to be part of the nix steering committee!!!
make sure to vote if you are eligible ^^
Avatar
Avatar
Scrumplex
make sure to vote if you are eligible ^^
👍❤️
Avatar
Avatar
heinrich5991
1. that's by design, I think 2. not sure how it's redundant, but it's also not used anymore, so whatever 3. because the engine deals with input timing etc 4. I don't understand what you mean by self-replicating 5. probably to make sure that we get map data for the correct map
first of all it was a small review of 0.6 protocol and i don't try to force anyone to break the protocol, it's more about the time when protocol breaking will be a thing (i doubt current protocol messages will migrate like this though), but if i'll elaborate anyway: 1. but they have same layout with same information 2. that's why it's redundant :D, it's literally unused 3. i guess, it's fair, i didn't really dive into teeworlds engine part 4. situation like clstartinfo and clchangeinfo, they have same layout and the only difference that one's being sent by server and other by client, why they can't use the same message to indicate it 5. but in 0.7 protocol they send crc32 and sha256 only once, because it's useless to send them on every chunk, i guess ( i don't really know, maybe, im missing something)
Avatar
heinrich5991 2024-10-07 12:05
clstartinfo and clchangeinfo are both sent by the client AFAIK (they also both have the cl prefix). one is used as part of the login sequence. I don't think this has something to do with "backward compatibility"
Avatar
if you are about 4 then conready and ready is just message id, with no information at all
12:05
i don't really know why they should be divided in two identical messages
Avatar
heinrich5991 2024-10-07 12:06
yes, I saw that the 0.7 protocol makes a different choice for the map data. they also make some other weird choices, like map data messages not being self-contained — you need to have outside knowledge to know the length of the contained data
Avatar
yeah serverinfo is kinda meh
Avatar
heinrich5991 2024-10-07 12:06
I think conready and ready signal different readiness levels of client/server
12:06
i.e. different stages of the loading process
Avatar
wait, but conready is sent right after server receives ready from client
Avatar
Avatar
heinrich5991
yes, I saw that the 0.7 protocol makes a different choice for the map data. they also make some other weird choices, like map data messages not being self-contained — you need to have outside knowledge to know the length of the contained data
but anyway, is there any reason to keep the same crc (of whole map i mean, it's not crc chunk or anything else afaik) on every chunk packet
Avatar
heinrich5991 2024-10-07 12:09
it makes the protocol a little bit more robust against stray map download packets
12:10
but I guess it's kinda random
Avatar
Avatar
meloƞ
Are we able to specify a path to the autoexec_server.cfg file ?
./ddnet_server -f file.cfg
Avatar
Avatar
meloƞ
Or let me reword that, can the .cfg file handle absolute paths ? (eg exec ~/.config/ddnetserver/myconfig.cfg)
yes
12:35
12:39
@heinrich5991 hi, can you review 2 of my prs catrose, i mean finish reviewing AB one and check new one
Avatar
Avatar
Anime.pdf
yes
Thanks darling
Avatar
Avatar
Anime.pdf
./ddnet_server -f file.cfg
with "-f file.cfg" data/autoexec_server.cfg it will be executed anyway
Avatar
Avatar
Anime.pdf
@heinrich5991 hi, can you review 2 of my prs catrose, i mean finish reviewing AB one and check new one
heinrich5991 2024-10-07 12:48
no promises
Avatar
Avatar
heinrich5991
no promises
that's fine, just don't forget about me
12:49
Avatar
Avatar
Matodor
with "-f file.cfg" data/autoexec_server.cfg it will be executed anyway
delete it
👎🏻 1
Avatar
Avatar
Anime.pdf
delete it
It is better not to execute these files if a specific config is specified via launch parameters exec data/autoexec_server.cfg if you need it
12:56
I didn't know about this, I recently launched a public server and was very surprised when players started voting for "Shutdown server"
12:56
in 10 days
12:57
i can rerwite my code lol
12:57
i hated that so much
Avatar
Avatar
Matodor
I didn't know about this, I recently launched a public server and was very surprised when players started voting for "Shutdown server"
you don't need autoexec cfg in most cases, just start a lot of servers with script specifying per-server config with -f that will set individual server settings + execute common.cfg that will have settings common for all servers
12:57
thats how ddnet and most servers work
Avatar
heinrich5991 2024-10-07 12:59
you can implement stuff like this by yourself, just needing an use util::IsNoneOr as _; at the top of each file where you use it
12:59
no need to wait for official stabilization
Avatar
Jupstar ✪ 2024-10-07 13:00
i can do a lot of stuff if i dont wait for other things. but manually writing an include is defs less attractive than just having it 😄
Avatar
heinrich5991 2024-10-07 13:00
there's even a crate that implements it apparently: https://docs.rs/is_none_or/0.1.0/is_none_or/
Checking conditions with the IsNoneOr trait
Avatar
Avatar
Jupstar ✪
i can do a lot of stuff if i dont wait for other things. but manually writing an include is defs less attractive than just having it 😄
heinrich5991 2024-10-07 13:00
can your IDE also automatically include a use when you use a trait method? I know rustrover can do that
Avatar
Avatar
heinrich5991
can your IDE also automatically include a use when you use a trait method? I know rustrover can do that
Jupstar ✪ 2024-10-07 13:01
yes it can
Avatar
heinrich5991 2024-10-07 13:01
so no need to manually write the use there
Avatar
Jupstar ✪ 2024-10-07 13:01
but i'd still need to link the crate everytime i use it
Avatar
heinrich5991 2024-10-07 13:01
yes
Avatar
Jupstar ✪ 2024-10-07 13:01
that is smth my ide cant do
Avatar
heinrich5991 2024-10-07 13:01
but it's one of the cool features of rust. you can extend standard library types without waiting for the standard library to do it
13:01
I'm missing that when I write C++
Avatar
Jupstar ✪ 2024-10-07 13:02
@MilkeeyCat THATS IT your language needs to automatically add dependencies xDD just type in vk:: and bam dep added
Avatar
Avatar
heinrich5991
but it's one of the cool features of rust. you can extend standard library types without waiting for the standard library to do it
Jupstar ✪ 2024-10-07 13:02
i agree with that yeah
Avatar
Avatar
Jupstar ✪
@MilkeeyCat THATS IT your language needs to automatically add dependencies xDD just type in vk:: and bam dep added
MilkeeyCat 2024-10-07 13:02
i wrote ~350 loc in it and it didn't segfault even a single time
Avatar
Avatar
MilkeeyCat
i wrote ~350 loc in it and it didn't segfault even a single time
Jupstar ✪ 2024-10-07 13:03
😮 nice
Avatar
MilkeeyCat 2024-10-07 13:03
it already sends connect packet to server, and recieves data back
13:03
now im trying to decode all dis stuff
Avatar
hello my god friends
Avatar
Avatar
Anime.pdf
you don't need autoexec cfg in most cases, just start a lot of servers with script specifying per-server config with -f that will set individual server settings + execute common.cfg that will have settings common for all servers
yes, that's why I say the server should not automatically execute autoexecs files if a specific config was specified
Avatar
Avatar
camka23
hello my god friends
Jupstar ✪ 2024-10-07 13:06
hello, what do you want from us gods?
Avatar
Avatar
Jupstar ✪
hello, what do you want from us gods?
fire, obviously
13:09
now we gotta figure who's prometheus
Avatar
Avatar
MilkeeyCat
now im trying to decode all dis stuff
Don't need to decode much of anything if you just want to get a tee ingame
Avatar
MilkeeyCat 2024-10-07 13:13
i need a token
13:13
no?
Avatar
Oh actually you do, I forgot it's 2024 and we have tokens
13:14
Look at the logs I have to go off of to fix an error at work today: 3:09PM ERR Activity error. ActivityType=ListInventoryLevels Attempt=4 Error="Unknown Error"
13:15
idk what part of the stack is throwing that very informative "Unknown Error" all the way to the top, but thank
Avatar
Jupstar ✪ 2024-10-07 13:23
next rust stable is a pretty huge deal: https://github.com/rust-lang/rust/pull/122792
Stabilisation report I propose we stabilize the min_exhaustive_patterns language feature. With this feature, patterns of empty types are considered unreachable when matched by-value. This allows: e...
Avatar
heinrich5991 2024-10-07 13:25
huh, nice 🙂
13:26
although I'd say it's only a QoL change, not a dealbreaker, since you could achieve the same with more code before
Avatar
Avatar
Learath2
Look at the logs I have to go off of to fix an error at work today: 3:09PM ERR Activity error. ActivityType=ListInventoryLevels Attempt=4 Error="Unknown Error"
temporal (probably) in sight
Avatar
Avatar
jxsl13
temporal (probably) in sight
It was goshopify 🙃
Avatar
urgh :0
Avatar
the map format should be more extensible,
  • Like with images, it should also bundle the game/front tile graphics (and editor tiles if they differ) if they arent included in the base client (external), this allows us to not need to bundle all the new mods game tiles, etc
  • Revise any compression algorithm if it can be improved
  • Revise any data format if it can be improved, i think it should be improved with the following prioritis if needs be: extendability > compression > load speed, just for the map format case, since its mostly static data that needs to be stored and loaded.
  • Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
Avatar
GitHub BOT 2024-10-07 14:08
Fixes #9122

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 no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#u...
Avatar
Avatar
Ryozuki
the map format should be more extensible,
  • Like with images, it should also bundle the game/front tile graphics (and editor tiles if they differ) if they arent included in the base client (external), this allows us to not need to bundle all the new mods game tiles, etc
  • Revise any compression algorithm if it can be improved
  • Revise any data format if it can be improved, i think it should be improved with the following prioritis if needs be: extendability > compression > load speed, just for the map format case, since its mostly static data that needs to be stored and loaded.
  • Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
If I were doing it today, I'd probably offload everything to zip
14:12
A metadata json, an assets folder for all embedded assets, and the layers directly as uncompressed binary files. Deflate should take relatively good care of it
14:14
Also layer types as uuids, tele-v1@maplayer.ddnet.org
Avatar
Avatar
Ryozuki
the map format should be more extensible,
  • Like with images, it should also bundle the game/front tile graphics (and editor tiles if they differ) if they arent included in the base client (external), this allows us to not need to bundle all the new mods game tiles, etc
  • Revise any compression algorithm if it can be improved
  • Revise any data format if it can be improved, i think it should be improved with the following prioritis if needs be: extendability > compression > load speed, just for the map format case, since its mostly static data that needs to be stored and loaded.
  • Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
Jupstar ✪ 2024-10-07 14:18
the first is defs interesting, but ppl like to mod the entities, but as a base image sounds cool
extensibility > compression > load speed
Interestingly I'd go the exact opposite, extensibility can be done on a higher level 😄
Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
Could be part of the physics module, which the editor could load. Thought about doing that, but isn't high prio enough for me
Avatar
Avatar
Ryozuki
the map format should be more extensible,
  • Like with images, it should also bundle the game/front tile graphics (and editor tiles if they differ) if they arent included in the base client (external), this allows us to not need to bundle all the new mods game tiles, etc
  • Revise any compression algorithm if it can be improved
  • Revise any data format if it can be improved, i think it should be improved with the following prioritis if needs be: extendability > compression > load speed, just for the map format case, since its mostly static data that needs to be stored and loaded.
  • Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
due to #7777 being closed with the reasoning stated there, moddability r.i.p.
Avatar
How much do we want to support moddability in the DDNet codebase? Note that this doesn't talk about the network protocol but about the actual code.
Avatar
such maps are probably also "out of scope".
Avatar
Jupstar ✪ 2024-10-07 14:48
The problem is some ppl don't want a mod, they want a different game
14:48
So they gotta wait for dd-pg, just another 20 years, like always
14:49
6d7aeab Fix color validation in some commands - KebsCS 46abb54 Merge pull request #9125 from KebsCS/pr-command-argument-validation - def-
Avatar
Avatar
Jupstar ✪
So they gotta wait for dd-pg, just another 20 years, like always
gigachad
Avatar
Avatar
Jupstar ✪
The problem is some ppl don't want a mod, they want a different game
meeee :3
15:07
teeworlds looks like a good start point, it has everything and nothing at the same moment
Avatar
Kaffeine BOT 2024-10-07 16:17
It supports only 16 players which is nonsense nowadays. Plugging the 64 players support means a lot of work. Then a mod needs the new ddnet registration to be listed. Then it needs NetEx uuid-based system (and various CNetObj_GameInfoEx, CNetObj_DDNetCharacter, etc). 100+ hours to get the ground.
Replying to @zhn teeworlds looks like a good start point, it has everything and nothing a…
Avatar
Avatar
Kaffeine
It supports only 16 players which is nonsense nowadays. Plugging the 64 players support means a lot of work. Then a mod needs the new ddnet registration to be listed. Then it needs NetEx uuid-based system (and various CNetObj_GameInfoEx, CNetObj_DDNetCharacter, etc). 100+ hours to get the ground.
im not about well-prepared mod developers though, im about programming newbies that have literally no experience in both programming and gamedev
16:23
you have assets, sounds, prepared net and bunch of things to start with
16:23
teeworlds itself as a game engine sucks ofc
Avatar
Avatar
MilkeeyCat
i wrote ~350 loc in it and it didn't segfault even a single time
MilkeeyCat 2024-10-07 16:24
there was no segfault but it was writing to wrong memory location lol
🥛 1
Avatar
Avatar
Ryozuki
the map format should be more extensible,
  • Like with images, it should also bundle the game/front tile graphics (and editor tiles if they differ) if they arent included in the base client (external), this allows us to not need to bundle all the new mods game tiles, etc
  • Revise any compression algorithm if it can be improved
  • Revise any data format if it can be improved, i think it should be improved with the following prioritis if needs be: extendability > compression > load speed, just for the map format case, since its mostly static data that needs to be stored and loaded.
  • Also maybe a external optional file describing the tiles, like we do for the current game tiles iirc, but for other mods.
heinrich5991 2024-10-07 16:43
  • I think I'd actually like to debundle images etc. to be downloaded separately from the server
  • agree that another compression algorithm might be nice
  • too vague IMO. I'd probably do it the way @Learath2 proposed, dump most stuff into JSON inside a zip
  • I don't understand the last point about describing tiles, do you mean the game tile descriptions? I really don't think that should be part of actual maps, it'd get out of sync with the mods instantly. perhaps we could get mod packs for the editor that include game tiles plus their descriptions instead
16:44
wdym with more extensible btw, what are you missing?
Avatar
Avatar
heinrich5991
  • I think I'd actually like to debundle images etc. to be downloaded separately from the server
  • agree that another compression algorithm might be nice
  • too vague IMO. I'd probably do it the way @Learath2 proposed, dump most stuff into JSON inside a zip
  • I don't understand the last point about describing tiles, do you mean the game tile descriptions? I really don't think that should be part of actual maps, it'd get out of sync with the mods instantly. perhaps we could get mod packs for the editor that include game tiles plus their descriptions instead
but what if players want to share map, they should archive their map with images every time?
Avatar
Avatar
zhn
but what if players want to share map, they should archive their map with images every time?
Jupstar ✪ 2024-10-07 17:37
that is what ddnet is kinda doin rn
Avatar
Avatar
Jupstar ✪
that is what ddnet is kinda doin rn
i mean ddnet bundles images, heinrich proposes to debundle them
Avatar
Avatar
zhn
i mean ddnet bundles images, heinrich proposes to debundle them
Jupstar ✪ 2024-10-07 17:41
he wants to zip everything i think
17:41
but generally i think at least the server should debundle them
17:41
and distribute them individually
17:41
but i defs understand that this is less intuitive for a normal user
Avatar
then i can't process "debundle" and "zip archives with map info" in one message
Avatar
Avatar
zhn
then i can't process "debundle" and "zip archives with map info" in one message
Jupstar ✪ 2024-10-07 17:42
well all file formats individually
17:42
into a zip
Avatar
Kaffeine BOT 2024-10-07 17:43
That's complicated. Unfortunately a detailed discussion on this topic was wiped (or hidden from users) when DDNet Season 2 (or what season it was) was removed from server channels list. One of the options is to implement a sparse map download. In that case the client downloads the map without bundled assets, and then ask the (game or https) server for missing parts, and then bake it into a complete .map in downloads/.
Avatar
Jupstar ✪ 2024-10-07 17:44
mh and then?
17:45
then u can also download the whole container at once
17:45
if they are unbundled on the filesystem it saves space
Avatar
Kaffeine BOT 2024-10-07 17:49
In that case users can share maps as-is, and the assets are still debundled e.g. not downloaded if the client already have them. I don't remember the detailed plan right now but the map should reference the assets by names or by UUID or by sha256, and then (depending on what we want) an asset can be updated (uuid) or be carved in stone forever (sha). Like: the client has downloaded assets/<uuid>, download missing stuff and inserts it into the map file if/when necessary.
Avatar
Jupstar ✪ 2024-10-07 17:49
but in any way, the map format has other problems than distribution or size problems
Avatar
Kaffeine BOT 2024-10-07 17:49
Are we really struggle to save players disk space?
Avatar
Jupstar ✪ 2024-10-07 17:50
are we struggling to save a bit network traffic? xd
Avatar
Kaffeine BOT 2024-10-07 17:52
Sure. The download time is a real problem for some players/mods, and it would be nice to have assets update.
Replying to @Jupstar ✪ are we struggling to save a bit network traffic? xd
Avatar
Jupstar ✪ 2024-10-07 17:52
is that a network limitation, or simply our way to download files
17:53
the more interesting format is actually demo anyway.
  • it needs to store the map
  • in future anything mod related
  • server settings
etc.
Avatar
heinrich5991 2024-10-07 17:53
it'd be nice if a map could be updated and only the changed layer could be downloaded
Avatar
Avatar
heinrich5991
it'd be nice if a map could be updated and only the changed layer could be downloaded
Jupstar ✪ 2024-10-07 17:54
that sounds like quite a bit of complexity added tho
17:54
to save 500KB download size?
Avatar
heinrich5991 2024-10-07 17:54
i.e. even if the mod has 20 MiB of assets, it'd be nice if all of the images and sounds don't need to be redownloaded
Avatar
Kaffeine BOT 2024-10-07 17:54
Our way to download files. IIUC it is the same limitation which makes us using 'rates' instead of sending all commands list on rcon client authenticated. See e.g. https://github.com/ddnet/ddnet/pull/7650
Previously it took forever to receive all rcon commands. It&#39;s now sent 64x faster! Checklist Tested the change ingame Provided screenshots if it is a visual change Tested in combination...
Avatar
heinrich5991 2024-10-07 17:54
if the map changes
Avatar
i agree
17:54
hi heinrich
Avatar
heinrich5991 2024-10-07 17:55
you probably want to download maps via HTTPS anyway — that's doable for everyone today
Avatar
Avatar
heinrich5991
i.e. even if the mod has 20 MiB of assets, it'd be nice if all of the images and sounds don't need to be redownloaded
Jupstar ✪ 2024-10-07 17:55
but you cannot have x without changing y. how do you want to store your map related assets on disk then?
Avatar
u dont have to send the whole file to reload map
17:56
just some payload indicating what changed
Avatar
Avatar
Ewan
just some payload indicating what changed
Jupstar ✪ 2024-10-07 17:56
compared to what
Avatar
Avatar
Jupstar ✪
but you cannot have x without changing y. how do you want to store your map related assets on disk then?
heinrich5991 2024-10-07 17:56
either bundled or unbundled, but that's a separate decision. what's x and y?
Avatar
Avatar
Jupstar ✪
compared to what
map filename and/or hash of current map (which should have been sent when the client connected)
Avatar
heinrich5991 2024-10-07 17:57
live updates sound more complicated though
Avatar
Avatar
heinrich5991
either bundled or unbundled, but that's a separate decision. what's x and y?
Jupstar ✪ 2024-10-07 17:57
if it's bundled, u will have either 2 files or delete one if u have 2, you increase disk space by 20MiB (assuming your assets) if u unbundle them, then you could say it's user unfriendlier again
Avatar
they both just keep a working in-memory copy already
17:57
keeping it in sync just sounds like the potential issue
Avatar
heinrich5991 2024-10-07 17:57
yup, those are the tradeoffs of bundled vs unbundled on disk
Avatar
u dont have to send any more than the original map file
17:58
assuming u know what
17:58
is changing
Avatar
Jupstar ✪ 2024-10-07 17:58
generally from a programmer perspective i'd go with unbundled. but i also can understand that sharing the files sucks then
Avatar
Avatar
Ewan
u dont have to send any more than the original map file
Jupstar ✪ 2024-10-07 17:58
yes
17:59
rn on dd-pg i tried to go with unbundled for pretty much everything
17:59
and later think how much it really sucks
18:00
(and ofc also split assets from map then)
Avatar
Can it be that selfbuilt will use other versions of libs, than official release?
Avatar
Avatar
heinrich5991
  • I think I'd actually like to debundle images etc. to be downloaded separately from the server
  • agree that another compression algorithm might be nice
  • too vague IMO. I'd probably do it the way @Learath2 proposed, dump most stuff into JSON inside a zip
  • I don't understand the last point about describing tiles, do you mean the game tile descriptions? I really don't think that should be part of actual maps, it'd get out of sync with the mods instantly. perhaps we could get mod packs for the editor that include game tiles plus their descriptions instead
Jupstar ✪ 2024-10-07 18:01
I think I'd actually like to debundle images etc. to be downloaded separately from the server
E.g. this is also what i want. server side assets can then do lot of things
Avatar
Avatar
Anime.pdf
Can it be that selfbuilt will use other versions of libs, than official release?
Jupstar ✪ 2024-10-07 18:01
y<es
18:01
for shared libs that are not shipped with the client that is the case
Avatar
that is unfortunate
Avatar
Kaffeine BOT 2024-10-07 18:03
Makes sense but it is complicated in some cases. E.g. infclass generates client maps on demand — depending on the current server settings, and e.g. it adds map assets on the fly.
Replying to @heinrich5991 you probably want to download maps via HTTPS anyway — that's doable fo…
18:03
Still, can you please recommend an https server (software)? python -m http.server? nginx? Apache? Maybe it is possible to generate some client maps set for usual server settings at least.
Avatar
Why debundle anyway? What feature do you want to support with that?
Avatar
Avatar
Kaffeine
Still, can you please recommend an https server (software)? python -m http.server? nginx? Apache? Maybe it is possible to generate some client maps set for usual server settings at least.
i like flask, it's very easy. axum is also very good for making a high performance web server without a lot of headache
Avatar
Avatar
Learath2
Why debundle anyway? What feature do you want to support with that?
Jupstar ✪ 2024-10-07 18:05
Think of the demo format, and lets additionally assume u have wasm files, lua scripts what do i know. + server side assets that are REQUIRED (so cannot miss)
18:05
u end up with pretty annoying huge files
Avatar
heinrich5991 2024-10-07 18:06
I'd suggest nginx or caddy, but any https capable server works
Avatar
Kaffeine BOT 2024-10-07 18:06
Thanks
Avatar
heinrich5991 2024-10-07 18:06
caddy has automatic https built in
Avatar
Ah you are thinking of stuff like that. Yeah a map bundle can not contain everything needed for a server that can send wasm/lua at runtime
Avatar
heinrich5991 2024-10-07 18:08
can you make the infclass server output the map file into a directory? Kaffeine
18:08
a HTTPS server could then directly serve this file
Avatar
Avatar
heinrich5991
it'd be nice if a map could be updated and only the changed layer could be downloaded
sounds like docker images
Avatar
I would keep it bundled, let the server send patches to the map for runtime stuff. Said patches would be saved in the demo as messages which would keep it reproducible
Avatar
heinrich5991 2024-10-07 18:09
how would you handle skipping?
Avatar
Avatar
heinrich5991
how would you handle skipping?
(either pre or post) I would scan through the demo to get a list of ticks where patches are applied
Avatar
heinrich5991 2024-10-07 18:10
and add file offsets somewhere
Avatar
This could also be generated while saving the demo removing the cost from demo load
Avatar
heinrich5991 2024-10-07 18:10
sounds sane
Avatar
Avatar
Learath2
(either pre or post) I would scan through the demo to get a list of ticks where patches are applied
how can this be known
18:11
actually what even is the goal
18:11
why demo file
18:11
i missed all that
Avatar
Kaffeine BOT 2024-10-07 18:13
heinrich5991, yes, the generated client maps are saved to files. It means the host 'd have to run own https server but yeah, it can work 👍. In other case I could upload maps to github pages, and skip https cert acquiring.
Avatar
heinrich5991 2024-10-07 18:15
if you don't like the https cert acquiring process, I'd suggest using caddy
18:15
you just start it and it deals with acquiring the certificate automatically
Avatar
that does sound very handy
Avatar
caddy is pretty easy to use
Avatar
cert management never sounds like a problem until ur on a distro that doesn't have the nginx letsencrypt plugin or whatever
18:19
historically i have used cloudflare to proxy my http traffic at the endpoint and then you literally don't need to think about SSL certs
18:19
but then ofc there's a whole section of your pipeline where the traffic is not encrypted
Avatar
an example config: /etc/caddy/Caddyfile zcat.ch { root * /var/www/html/zcatch/public file_server log { output file /var/log/caddy/zcat.ch.access.log { roll_size 2mb roll_keep 5 } } } pic.zcat.ch { redir https://discord.TLD/38aDRSfVKt log { output file /var/log/caddy/pic.zcat.ch.access.log { roll_size 2mb roll_keep 5 } } } (edited)
18:24
nice
Avatar
can't remove discord embeddings from code blocks, lol
18:28
caddy v2 can be configured at runtime, using json http calls iirc
18:28
if anyone needs that
Avatar
Jupstar ✪ 2024-10-07 18:51
what is caddy? certbot alternative?
18:52
ah ok
18:52
sounds interesting
Avatar
GitHub BOT 2024-10-07 19:05
Sending a connection-oriented message from the client/server with size between NET_MAX_PAYLOAD - 4 and NET_MAX_PAYLOAD crashes, both as a raw message and when using CPacker to pack the message. Sending smaller messages works as expected. Sending larger messages causes an error message to be logged due to the payload being too large (as expected). *** stack smashing detected ***: terminated ``` DDNet-Server.exe caused a Fast Fail at location 00007FF6EDFE043E in module DDNet-Serv...
Avatar
Avatar
GitHub
Click to see attachment 🖼️
Jupstar ✪ 2024-10-07 19:07
@Robyt3 check if that also happens with 0.7
19:07
THEN WE CAN REMOVE IT AGAIN HEEEHEHE
19:08
but only on sender side?
19:08
not recv?
Avatar
Only sender. I think it already happened before 0.7 was merged, I noticed it again because of testing for #9097
Avatar
Send list of all maps available in the maps folder on the server to authed clients, using version 18.7 or newer, that have access to the sv_map or change_map command, so the maps can be shown as co...
Avatar
Jupstar ✪ BOT 2024-10-07 19:41
furo: do you use a database for ddstats.tw? Could you lookup how many player entries there are in total in your db?
Avatar
I do, what do you mean by player entry?
Avatar
Jupstar ✪ BOT 2024-10-07 19:42
how many unique players there are in total basically
Avatar
9,67 million unique player names seen since 2021-05-18
Avatar
Jupstar ✪ 2024-10-07 19:53
oh wow wtf, i send you a pm in matrix, to tell you what my idea was xD
19:53
didnt expect more than 1 million entries 😄
pepeW 1
Avatar
In my job I get to speak to lots of people about Rust. Some are just starting out, some have barely ever heard of it, and then some people are running Rust silently in production at a very large c ...
♿ 1
20:42
volvo casually using rust in production
20:42
Embassy + defmt
20:42
embassy is like a tokio for embedded
Avatar
Koll Potato 2024-10-07 20:44
🦀
Avatar
applied
21:50
for the job
Avatar
Avatar
jxsl13
for the job
poggers2
Avatar
imagine, no rust knowledge, getting the job
21:53
that's poggers
Avatar
Fake it till you make it boom
🚀 1
💸 1
Avatar
GitHub BOT 2024-10-07 21:59
This makes it behave as you would expect from other programs.
  • ctrl+f to start search
  • esc to cancel search
  • dont clear last searched string

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
  • [ ] Cha...
Avatar
wrote a small utility for uploading demo files (or any kind of files that are being actively written) to a discord channel, maybe someone else has also a use for it: https://github.com/jxsl13/demo-uploader
Avatar
GitHub BOT 2024-10-07 22:40
bde82d5 adjust console search behaviour - dobrykafe 5fd083c Merge pull request #9127 from dobrykafe/pr-adjust-console-search - def-
Avatar
Avatar
jxsl13
wrote a small utility for uploading demo files (or any kind of files that are being actively written) to a discord channel, maybe someone else has also a use for it: https://github.com/jxsl13/demo-uploader
That's so cool :o
Exported 260 message(s)
Timezone: UTC+0