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 2023-08-18 00:00:00Z and 2023-08-19 00:00:00Z
Avatar
when two issues love eachother very much...
Avatar
chillerdragon BOT 2023-08-18 05:56:26Z
BTC price dropped. Financial advice from chiler buy it when it cheap.
Avatar
how buy the coin
Avatar
chillerdragon BOT 2023-08-18 06:23:31Z
Consult your financial advisor to find a trustworthy broker
Avatar
my financial advisor LOL
06:44
u think i have a financial advisor?
Avatar
chillerdragon BOT 2023-08-18 08:26:59Z
I can lend you mine: mr jupsti
Avatar
chillerdragon: u sittin in matrix i see
Avatar
How to redo the updates? Is it possible to make it so that when the client starts, it checks the repository on GitHub, and automatically updates if there are changes?
Avatar
chillerdragon: please don't advertise pyramid schemes in #developer
kek 5
Avatar
pyramid schemes = 0.7 thonk
Avatar
chillerdragon BOT 2023-08-18 13:42:35Z
Which pyramid? (@deen)
chillerdragon: please don't advertise pyramid schemes in #developer
Avatar
don't advertise cryptocurrencies, I guess, chillerdragon
Avatar
chillerdragon BOT 2023-08-18 13:43:30Z
It’s not a pyramid scheme?
13:44
I don’t gain anything if you invest. That’s how I thought pyramid schemes are defined.
13:45
The Bitcoin price dropped 10% in the last week. I just shared that info.
Avatar
u gain in that ur interested in others investing so price goes up, which benefits you if you have invested
13:45
piramid scheme
13:46
buying makes price go up
Avatar
chillerdragon BOT 2023-08-18 13:46:23Z
I assume your troling so I won’t react to that xd
Avatar
im not trolling lol
Avatar
chillerdragon BOT 2023-08-18 13:49:20Z
Okay then let me respond
Avatar
ultimately crypto tokens have no value itself
Avatar
chillerdragon BOT 2023-08-18 13:49:38Z
What you are saying is that talking about any kind of investment makes it a pyramid?
Avatar
which is sad because the technology of blockchains itself is nice and interesting
13:49
but they gotta put stupid tokens
Avatar
chillerdragon BOT 2023-08-18 13:50:11Z
What do you mean by stupid tokens?
Avatar
talking about a most probably unregulated investment
13:50
a token is what u buy
13:50
the btc
Avatar
chillerdragon BOT 2023-08-18 13:50:54Z
How does regulation make it not pyramid
13:50
How does the token make it bad?
Avatar
u dont want to read what insaid
Avatar
Avatar
Ryozuki
which is sad because the technology of blockchains itself is nice and interesting
.
Avatar
chillerdragon BOT 2023-08-18 13:51:32Z
.
Avatar
Avatar
Ryozuki
u gain in that ur interested in others investing so price goes up, which benefits you if you have invested
.
Avatar
chillerdragon BOT 2023-08-18 13:51:39Z
?
Avatar
u know rallying others to invest in smth is against law iirc
13:52
ah u dont see replies
Avatar
chillerdragon BOT 2023-08-18 13:52:07Z
I did not know
Avatar
meh to lazy to repeat myself again
13:52
Pump-and-dump is a manipulative scheme to boost the price of a security through fake recommendations based on false, misleading, or exaggerated statements.
Avatar
bitcoin is probably not one of these tbh
13:53
but I think it's a good idea not to tell people to buy bitcoin, chillerdragon
Avatar
chillerdragon BOT 2023-08-18 13:53:54Z
Okay sure affecting price is illegal I knew that
13:54
But no matter what I do I will not affect the price
13:54
I just shared with you in case you did not know that the price dropped
Avatar
also regulations offer protections to investors obviously
Avatar
chillerdragon BOT 2023-08-18 13:55:23Z
Okay then do so. I will keep posting when btc drops here. It’s not a pyramid scheme or pump and dump by me. It might be bad financial advice it’s still a fact that it dropped. (@heinrich5991)
but I think it's a good idea not to tell people to buy bitcoin, chillerdragon
Avatar
for example a regulation in trading requires u to pass some basic knowledge tests first
13:56
i think the websites are audited for that too
Avatar
I didn't have to pass a knowledge test to buy stocks
Avatar
where did u buy stocks?
Avatar
at my bank
Avatar
through my bank and through degiro they required
13:56
well maybe not for simple stocks
13:57
but for investments with margin
13:57
like options and futures
Avatar
yea, those can lose a lot of money ^^
13:57
more than you put in
Avatar
chillerdragon BOT 2023-08-18 13:57:43Z
Ultimately neither you nor me know the future. So nobody knows if btc or some etf will perform better. I just like the decentralized and open technology about it and follow the price out of curiosity.
Avatar
but u know eth is better than btc in many regards
13:58
altho still cripto shady
Avatar
etf, not eth
Avatar
the evm is a interesting concept
13:58
ah
13:59
chiller u know who knows? (for normal stocks)
13:59
the senators at US who do insider trading xd
13:59
pepeW
Avatar
chillerdragon BOT 2023-08-18 14:00:08Z
Xd
14:05
That’s why btc is pog (@Ryozuki)
the senators at US who do insider trading xd
14:06
No us printing money
Avatar
a us politician can lobby a law about btc and fluctuate its price
14:12
insider trading
Avatar
I've been considering adding mod support for DDNet. This would open up a lot of new potential game modes or breathe life into older ones that require a specific client, like https://nodes.teeworlds.dev/, for instance. My strategy is to implement an interface in C++ and subsequently add Lua bindings for it. Lua is a widely-used scripting language for modding. Numerous games, such as Factorio, employ it to facilitate mod support. There would need to be a Lua-File for the server and the clien...
Avatar
yay another mod rfc
Avatar
my god no lua pls
Avatar
Lua is hot
Avatar
whats so bad about lua?
15:01
i dislike the tables
15:01
it feels so cumbersome and boring
15:01
to write lua
15:01
its not enjoyable
15:01
i like static typing
15:01
js has better syntax than lua
15:02
we shouldnt use lua anyway
15:02
we should be modern
15:02
targert wasm for mods
15:02
target*
15:02
so u dont limit the developer language
15:02
we are inclusive
15:02
gigachad
15:03
and it just happens that rust has first class wasm target
Avatar
But lua is hotter than wasm
15:03
3 letters > 4 letters
Avatar
once the API stands it would be not that difficult to expand it to other languages. im not familiar with wasm so i dont have an opinion on that
Avatar
thats the thing
15:04
with wasm directly
15:04
u allow all languages
15:04
lua sucks
15:04
wasm is not a language itself
Avatar
wasm just binds the api or what?
Avatar
its a target compilation of languages
15:05
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
Avatar
Avatar
Ryozuki
it feels so cumbersome and boring
What is cumbersome and boring is write top-level gameplay specifc or situation-specific logic in a compilable language. Different languages fit different tasks. It makes no sense to use C++ in place of a script language. (edited)
Avatar
web doesnt matter, wasmtime is a runtime for non-browsers
Avatar
what type of mods would ddnet accept tho like how will weapons mods go
Avatar
Is the host interface for wasm good anyway?
Avatar
Avatar
Kaffeine
What is cumbersome and boring is write top-level gameplay specifc or situation-specific logic in a compilable language. Different languages fit different tasks. It makes no sense to use C++ in place of a script language. (edited)
yeah, lets use rust
Avatar
Avatar
Learath2
Is the host interface for wasm good anyway?
ye
15:06
wasmtime has a C binding
Avatar
Avatar
Voxel
what type of mods would ddnet accept tho like how will weapons mods go
It won't be our business what mods people make
Avatar
the original is rust
Avatar
Avatar
Kaffeine
What is cumbersome and boring is write top-level gameplay specifc or situation-specific logic in a compilable language. Different languages fit different tasks. It makes no sense to use C++ in place of a script language. (edited)
with wasm u can do hot reloading
Avatar
wasm can be a target of scripting languages
Avatar
wasm is better in every aspect than lua
Avatar
wasm is the solution to this
15:07
it gives developer freedom
15:07
while setting a host interface
Avatar
in worst case compile a lua interpreter for wasm
Avatar
look up screeps
15:07
they use wasm
15:07
i can use rust to script there
Avatar
Okay, see: I need to adjust config variables on some players count, I also need to toggle votes enablement based on conditions (last voted, current game time, players number, previously passed votes). It makes no sense to use C++ or Rust for that (hardcode votes and map names? no way)
Avatar
thats for u
15:08
i want to mod in rust
Avatar
best case scenario rust for server sided c++ for client sided
Avatar
wasm enables all languages
15:08
all decent languages with a wasm target*
15:08
which is all llvm based langs
Avatar
I guess one problem with wasm is indeed that one can't write it by hand
Avatar
there is wasm by hand
Avatar
I don't think it would be fitting to discuss what type of language for the mods should should be used at this stage. it would be more fitting to talk about the API as the API brings security risks and has to be well thought of to enable lots of different mods
Avatar
but why would u do that
15:08
do ppl rly get what wasm is
Avatar
Avatar
Laboon
I don't think it would be fitting to discuss what type of language for the mods should should be used at this stage. it would be more fitting to talk about the API as the API brings security risks and has to be well thought of to enable lots of different mods
wasm is more secure than lua for starters
Avatar
Avatar
Laboon
I don't think it would be fitting to discuss what type of language for the mods should should be used at this stage. it would be more fitting to talk about the API as the API brings security risks and has to be well thought of to enable lots of different mods
oh yea true we would need to test runs in order for mods to not break your system
15:09
if mods were an accepted thing id have more fun coding
Avatar
Avatar
Laboon
I don't think it would be fitting to discuss what type of language for the mods should should be used at this stage. it would be more fitting to talk about the API as the API brings security risks and has to be well thought of to enable lots of different mods
the thing is, wasm allows us to not discuss the language itself
Avatar
Does it really depend on the interpreted language for the mods? You can deny the Lua interpreter access to the host system and just make it able to call the API. With a well thought of API there shouldn't be any security risks
Avatar
cuz wasm allows all languages
15:10
u are not understanding what wasm is
Avatar
Avatar
Learath2
I guess one problem with wasm is indeed that one can't write it by hand
but u can compile a lua interpreter to wasm
15:10
i dont understand what the problem here is for you all
Avatar
@Jupstar ✪ the problem is they dont know wasm
Avatar
i suspect that too xD
Avatar
idc about language; will it be fun to write
Avatar
i should setup wasmtime with ddnet
15:11
fun experiment
15:11
@Voxel good news with wasm, the language is the one u decide
Avatar
i used wasmer
15:11
bcs best speed 😄
Avatar
and u dont force a choice upon others
Avatar
yrah ryo
Avatar
Avatar
Jupstar ✪
i dont understand what the problem here is for you all
You need a compiler to mod with wasm, I guess that's the discussion
Avatar
Avatar
Jupstar ✪
i used wasmer
oh wasmer is faster?
Avatar
Avatar
Learath2
You need a compiler to mod with wasm, I guess that's the discussion
why?
15:12
u only need to compile the interpreter
15:12
nothing more
Avatar
I dont disagree with using wasm @Ryozuki I'm just saying that the API is the most important aspect for the beginning. After that we can surely implement wasm support for the API. I see the advantages youre talking about.
Avatar
Avatar
Ryozuki
oh wasmer is faster?
from what i know yes
Avatar
u implement the api with wasm in mind ofc
Avatar
Avatar
Jupstar ✪
why?
Wasm is hardly easy to type by hand, no?
Avatar
i mean somewhere is an API written in c++ or rust or whatever
15:13
u plugin your interpreter and all stuff there
15:13
then rest is hot reload lua scripts
Avatar
Avatar
Learath2
Wasm is hardly easy to type by hand, no?
why would u do that
Avatar
Avatar
Learath2
Wasm is hardly easy to type by hand, no?
wasm is just a compile target
15:14
i also compiled ddnet to wasm
Avatar
why u talk about writing wasm by hand
Avatar
nobody writes it by hand
Avatar
Ok, stop. So if we use wasm as a modding language for ddnet one will need a compiler to mod it
Avatar
This finishes our high-level tour of the major components of the WebAssembly text format and how they get reflected in the WebAssembly JS API.
Avatar
That's why I said you'll need a compiler
Avatar
Avatar
Learath2
That's why I said you'll need a compiler
well u also need a compiler rn for ddnet
Avatar
with lua u need a interpreter
Avatar
u simply add a lua interpreter additionally
Avatar
wasm would be a dependency anyway
15:15
a mod wouldnt need to add any dependency related to wasm
15:15
it would be in the code already
Avatar
Yeah, but if we pick python or lua one could mod ddnet without a full compiler suite
💯 1
Avatar
what compiler suite?
Avatar
u also need a interpreter without wasm
Avatar
One of the many that can target wasm
Avatar
the only difference is that the interpreter is not compiled to wasm then
Avatar
Avatar
Jupstar ✪
u also need a interpreter without wasm
But interpreter would come with the game server. It wouldnt be a dev dependency
Avatar
rust is the easiest wasm target to install on windows iirc
15:16
no problem
15:16
sincer we require rust
15:16
idk about msvc
Avatar
Anyway I'm not saying it's better or worse. I'm just saying it's disingenuous to say wasm modding would be as trivial as lua or python or something else interpreted
Avatar
but its more flexable 😄
15:17
bcs u can use lua AND python xD
Avatar
wasmnn modding would be more dev friendly, less forcing people to usel anguages they hate and more they love
Avatar
Avatar
Ryozuki
wasmnn modding would be more dev friendly, less forcing people to usel anguages they hate and more they love
But it would make hobbyist modding more annoying in exchange. So less skiddies
Avatar
why tho
15:18
most ppl wouldnt compile ddnet
15:18
they get it precompiled
15:18
with the interpreters(if wanted)
15:18
and simply write their scripts
Avatar
Avatar
Learath2
But it would make hobbyist modding more annoying in exchange. So less skiddies
how so
Avatar
as if wasm wasnt there
Avatar
Avatar
Jupstar ✪
with the interpreters(if wanted)
You are assuming there are intepreters. I'm guessing ryo wouldn't want that at all
Avatar
now i rly want to try adding wasm
Avatar
Avatar
Learath2
You are assuming there are intepreters. I'm guessing ryo wouldn't want that at all
well they are wasm modules.. if ryo doesnt want them. delete them xD
15:19
use a stub instead
Avatar
Avatar
Ryozuki
how so
Because modding would require a compiler capable of producing wasm from some language
Avatar
i can make a guide no worries
15:19
ppl can use their loved js
Avatar
anyway, since i have experience already
Avatar
this would attract many script kiddies in fact
Avatar
i can tell you, no matter if wasm or lua or whatever it has quite some overhead
15:20
and code complexity increases
Avatar
Avatar
Ryozuki
now i rly want to try adding wasm
That would be cool. Maybe as a first step - Make a small API write the bindings and do a small server sided mod saying "hello" everytime a player joins
Avatar
maintenance
Avatar
so it might sound nice to simply add it, but in fact just adding it everywhere will kill perf extremly
Avatar
is this rly feasible with the current state of ddnet
Avatar
Sort of as a proof of concept. Maybe that would be a good start?
Avatar
this feels like a thing u need from the ground up
Avatar
Avatar
Laboon
Sort of as a proof of concept. Maybe that would be a good start?
i hope you also understand that it's not easy to share memory between host and guest
15:22
so if u say blabla(player)
15:22
it doesnt magically work
15:22
especially not if you want it to be memory safe
Avatar
blabla car
Avatar
I mean thats what the API is for isnt it? "get_player_names()"
15:23
returns a read only copy of the player names
Avatar
@Laboon r u a dev?
Avatar
yes but not familiar with wasm tbh
15:23
ddnet?
Avatar
c++ backend developer
15:24
i made a mod in ddnet a while ago
15:24
tournament block
Avatar
Avatar
Laboon
I mean thats what the API is for isnt it? "get_player_names()"
does the script call this or is this a script function you call from the host?
Avatar
the script calls this. I've been using node API to make C++ code callable from JS for example
Avatar
see, so the c++ host needs to export this function
15:25
the memory location of it
Avatar
no you have a c++ pointer.. what does lua want to do with this?
15:25
u need to exchange the memory somehow
Avatar
there are ways to bind c++ functions to lua by compiling a runtime lua library
Avatar
yes but i hope u understand that exchanging this memory is quite some overhead
15:26
bcs u need to create the memory on the lua interpreter and then copy it over
15:26
(in memory safe version at least)
Avatar
of course there exists overhead nothing comes without it. but i dont think it would be that of a problem. how else would you enable mod support?
Avatar
well wasm for example offers good performance
15:27
u could make bigger chunks moddable at once
15:27
e.g. the whole player
15:27
or the whole physics
Avatar
its interesting but as i said i dont have experience in wasm but ill look into it. until then i cant agree nor disagree with you
15:29
i would appreciate if youd write your thoughts as a comment on the github issue so it doesnt get lost in this discord chat
Avatar
ok my point is also not about wasm my point is the more API calls u have, the more memory u need to exchange, the more functions (callstack) you create to reach the guest function, the slower it gets
Avatar
i mean i dont really care on how we'd do it. Id like to help because i love this game and it would bring endless new possibilities for game modes. I dont say that I know how to do anything but I can surely help. If you give me the requirements the C++ API should have I can look into it and make it work.
15:31
At least on server side, i never worked with the client side code of ddnet before
Avatar
i disgree in new possiblities for game modes
15:31
u can already do that with c++
15:31
what we need is a more mod oriented protocol
15:31
for example
15:32
the map cant be extended without losing client side support
Avatar
https://nodes.teeworlds.dev/ how would you do this mod without a special client?
Avatar
the map format needs change
Avatar
and with a special client no one will play your mod
Avatar
well read my point xd
15:32
adding lua wont solve this
Avatar
what protocol are you talking about
Avatar
the network protocol, the map format
15:34
adding ur tile will leave the client without proper prediction
Avatar
how would you display this dialoge just by changing the network protocol
Avatar
easy, u add a set of packets to make server-side UI
15:34
thats how u make it more mod friendly
15:34
lua has nothing to do here
Avatar
i dont care about lua
15:36
it was a suggestion. if you have a better suggestion, and it seems that way, id be happy if youd write down and explain your thoughts on the github issue so we can discuss it further and eventually get to a point where I can help implementing the architecture we've agreed on
15:40
Thanks for the comment @Kaffeine it was a very interesting read. I like the idea of improving the network protocol to handle more types of entities or whatever. It would surely help not imposing any security risks in ddnet
Avatar
Avatar
Laboon
how would you display this dialoge just by changing the network protocol
There is a way to display a menu, infclass mod does it. Don't try this at home, the code is dangerous for your eyes and feeling. It abuses the map animations: the server bake two dozen animations, and then adjust the current game tick for the client to make it displaying different quads in different states. (edited)
Avatar
here little sneak peak
15:46
of the modablstest client xd
15:47
u can literally replace the whole physics and it will still have client side prediction
Avatar
Avatar
Jupstar ✪
yeah, i was thinking how i'd implement the game code generally a few times already: the network code should be completely uncoupled, and also run in a different thread. It should generate valid game messages (checked network packages for invalid input), which can be handled by all objects referring to these messages, probably by registering to a msg callback (depending on if its a server or client, more later). so no more immediate mode, a character handler would thus only understand the character index, but no the position of the character, since this is part of the character itself. all entities should define 2 cores, a tick core and a prediction tick core. both share the same logic so they can be cleanly used in an array and accessed based on the index that is currently handled m_aCore[2] in some .cpp: m_aCore[CurTickMode] = ... m_aCore[PrevTickMode] = ... (e.g. if one must access the previous state) (note here prev: is basically the current for client, while cur is the prediction, on server both would be the same, so u basically only access a core) I don't think a third core is needed (smth like prev core), this usually only creates delays. If we want smoother interpolation for smth like cursor movement we can think about increasing the package count for such things, the way its handled rn is really weird (tsfreddie and me talked about it long before). If the server sends fewer cores/snapshots the client should simply rely on its prediction cores (swap the current prediction core with the current simulation tick). Smooth prediction should uses the 2 cores to calculate whatever state is wanted. and it should only do it when its needed, and that's usually at rendering. (edited)
thanks to this
15:47
in action
15:47
in rust
15:47
as it should
Avatar
yeah finished in 20 years
Avatar
Avatar
Jupstar ✪
here little sneak peak
Thats cool
Avatar
Avatar
Jupstar ✪
here little sneak peak
How heavy is this? liblua.so is 527KB and it does not pull more dependencies. The server-side bindings add 6Kb to the DDNet-Server Infclass-Server binary size (2.0MB => 2.0MB). (edited)
Avatar
let's see, note in rust everything is static linked
15:59
so that gives a huge advantage
Avatar
Avatar
Kaffeine
There is a way to display a menu, infclass mod does it. Don't try this at home, the code is dangerous for your eyes and feeling. It abuses the map animations: the server bake two dozen animations, and then adjust the current game tick for the client to make it displaying different quads in different states. (edited)
cool though
Avatar
we shouldnt need to care about a few mb if we provide perfomance
Avatar
ofc not xD
Avatar
also use more ram if we can get more perf
Avatar
binaries generally aren't the stuff that create huge sizes
16:01
one PNG and u have a second binary from size
16:01
xd
Avatar
it's linking
16:02
i have the feeling im not using mold xd
16:03
even in idle it uses like 2 cores, lmao
16:04
around 16MBytes
👍 1
16:04
it contains the client too btw and all libs
16:04
so no extra .so files
16:06
ah yeah
16:06
i can also build server only
16:06
let me do that
Avatar
@Jupstar ✪ does it have symbols
Avatar
Avatar
Ryozuki
@Jupstar ✪ does it have symbols
no all stripped
Avatar
strip sstrip
Avatar
but it has no SDL deps, or anything else
Avatar
did u setup the cargo with
Avatar
it's 100% rust and static linked
Avatar
lto=true codegen-units=1
Avatar
Avatar
Ryozuki
lto=true codegen-units=1
not the second
Avatar
use second for max
Avatar
ok let first let me try server only
Avatar
codegen-units This flag controls how many code generation units the crate is split into. It takes an integer greater than 0. When a crate is split into multiple codegen units, LLVM is able to process them in parallel. Increasing parallelism may speed up compile times, but may also produce slower code. Setting this to 1 may improve the performance of generated code, but may be slower to compile. The default value, if not specified, is 16 for non-incremental builds. For incremental builds the default is 256 which allows caching to be more granular.
Avatar
but well, don't expect less
16:07
wasmer defs huge
16:08
server is also 10MByte
16:08
so 6MBytes for client only stuff xd
Avatar
Avatar
Ryozuki
lto=true codegen-units=1
now i try this for server
Avatar
Avatar
Ryozuki
codegen-units This flag controls how many code generation units the crate is split into. It takes an integer greater than 0. When a crate is split into multiple codegen units, LLVM is able to process them in parallel. Increasing parallelism may speed up compile times, but may also produce slower code. Setting this to 1 may improve the performance of generated code, but may be slower to compile. The default value, if not specified, is 16 for non-incremental builds. For incremental builds the default is 256 which allows caching to be more granular.
10,3 MiB (10.808.104) so not much less xd
16:11
but at least a bit
16:11
but it makes it faster
16:11
not less size
16:12
xd
Avatar
then it stays
16:12
xd
16:16
@Ryozuki i love rust for static linking: left is rust version, right c++ version
16:17
0 deps ddnet
Avatar
but i still need a sound encoder that works with webm 😬
16:18
in pure rust
16:18
video encoder exists
Avatar
Avatar
Jupstar ✪
@Ryozuki i love rust for static linking: left is rust version, right c++ version
You're not a distro maintainer. 😄 Rebuilding packages after a dependency update is a huge PITA, so a number of distros ban static linking.
Avatar
Avatar
Kaffeine
You're not a distro maintainer. 😄 Rebuilding packages after a dependency update is a huge PITA, so a number of distros ban static linking.
they make their world complicated xd
16:19
just rebuild and call it a day
Avatar
@Jupstar ✪ does this work https://crates.io/crates/cpal
16:21
Cross-platform audio I/O library in pure Rust. Contribute to RustAudio/cpal development by creating an account on GitHub.
Avatar
Just rent a few supercomputers for all platforms, wait for a few days, and call it a week.
It is a terrible solution from software engineering PoV.
Avatar
Cross-platform audio I/O library in pure Rust. Contribute to RustAudio/cpal development by creating an account on GitHub.
Avatar
Avatar
Ryozuki
@Jupstar ✪ does this work https://crates.io/crates/cpal
i specifically need an encoder
Avatar
Avatar
Kaffeine
Just rent a few supercomputers for all platforms, wait for a few days, and call it a week.
It is a terrible solution from software engineering PoV.
are debians build servers always at 100%?
Avatar
I don't think so — thanks to the dynamic linkage.
Avatar
well debian "only" has ~60k packages
16:23
if on average a package needs two minutes to build, it's around 80 days
16:23
to build all
16:25
and static build programs are highly portable
16:25
so static linking the solution
16:25
now i just need to wait for future OS to catch up to the idea
Avatar
Avatar
Jupstar ✪
and static build programs are highly portable
Also typically very large and vulnerable. I see the benefits of static linking but also a lot of issues.
Avatar
Avatar
Kaffeine
Also typically very large and vulnerable. I see the benefits of static linking but also a lot of issues.
well large depends. most games for example ship their deps
16:48
and vulnerable.. depends too xd most ppl wouldnt update shipped deps by hand, and if u use distros, u probably get newest versions anyway
Avatar
Avatar
Jupstar ✪
well debian "only" has ~60k packages
60k packages
Ofc it depends but typically (statistically) it is that (statically linked => large and vulnerable)
(edited)
Avatar
Avatar
Kaffeine
60k packages
Ofc it depends but typically (statistically) it is that (statically linked => large and vulnerable)
(edited)
fast & portable you meant 😉 join the static club, it's the master race
Avatar
I think dynamic linking mattered more when HDD were measured in MBs. Static linking is cool with LTO, can even save space if you have libs which are rarely used or only small parts of it are used.
Avatar
@Jupstar ✪ sadly many distro maintainers are crazy about this
17:53
i saw a gentoo helper say static linking was a bug
💯 1
Avatar
whats dynamic linking
Avatar
Avatar
Voxel
whats dynamic linking
linking to a dynamic library
18:12
basically create .dll
Avatar
does the MAX_CLIENTS enum actually work? could you change that and make a 128 player server if the client supported it?
Avatar
Avatar
Tater
does the MAX_CLIENTS enum actually work? could you change that and make a 128 player server if the client supported it?
mostly it should work
18:23
NET_MAX_CLIENTS maybe too
Avatar
the snap size would have to be increased eventually also
18:24
I think?
18:24
probably not for 128
Avatar
yeah dunno
Avatar
what happens if the number of projectiles exceeds the snap size? lol
Avatar
invisible
18:25
interesting
Avatar
what about to add config for rename it to other languages
19:11
its really go easier to mappers what doesnt understand english
Avatar

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-ad...
Avatar
Is it possible to make it so that when the client starts, it checks the repository on GitHub, and automatically updates if there are changes?
21:15
Making the client check GitHub sounds kind of weird
Avatar
I think he wants to use it for his own client
Avatar
Yeah, still seems weird to me
21:17
If you want it to just work on your local system, make starting the client a shell script that does git pull && make -j $(nproc) && ./DDNet
21:17
That's what I do whenever I run ddnet
21:17
and then keep complaining to @Davide that my self-compiled client doesn't get whitelisted on GER10 every time again 😄
Avatar
I know how to fix that xd
21:37
he told me
21:40
do ddnet servers with MySQL still use sqlite database?
22:03
is this accurate
Avatar
half accurate, if you learn by yourself you might end up with unreadable, inefficient, and wayy too long code. but yeah, in my opinion it's the best way to learn the basics
Avatar
hmm i would try to build then if you dont know something or something seems odd then you check a book or internet.
Avatar
Avatar
Tater
do ddnet servers with MySQL still use sqlite database?
sqlite as bu
Exported 400 message(s)