Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2023-07-19 00:00:00Z and 2023-07-20 00:00:00Z
Avatar
ChillerDragon BOT 2023-07-19 08:36:57Z
@Davide still _c
Avatar
@Jupstar ✪ any chance to build a new mobile client for him?
Avatar
Avatar
deen
@Jupstar ✪ any chance to build a new mobile client for him?
I'm not sure if that still works since the rust support :/
09:53
And restoring the old controls is probs lot of work too xd
Avatar
ChillerDragon BOT 2023-07-19 09:54:50Z
watf is he playing touch or with external mouse?
09:55
if its touch i wanna see camera footage or didnt happen
09:56
also trol deen for having the url at the bottom
09:56
leaking the dms
09:57
1919. with 6607 points
Avatar
I don't remember touch support being in client, but I assume the android version is very old so maybe it was removed (edited)
Avatar
Avatar
Jupstar ✪
I'm not sure if that still works since the rust support :/
I'd be willing to help with the rust support
Avatar
ChillerDragon BOT 2023-07-19 09:57:51Z
I haven't played the PC DDNet.
09:57
insanity
Avatar
i would start over tbh. isn’t that piece of work on gles1
Avatar
I believe the app would only be great if it was for spectating and chatting only, not for playing
Avatar
all UI is a NIGHTMARE and the client is so old that basics like antiping aren’t there
Avatar
ChillerDragon BOT 2023-07-19 09:59:24Z
this mf started playing in 2022 mobile only and exceeded my decade of pc tryharding omg
09:59
in points
Avatar
I’ve seen this guy on usa
09:59
never suspected mobile
09:59
maybe trolling
Avatar
Avatar
Robyt3
I don't remember touch support being in client, but I assume the android version is very old so maybe it was removed (edited)
Yes was removed
10:01
I once proposed a mouse change to make touch ez to integrate. But MacOS is the least game friendly environment sadly xd
Avatar
ChillerDragon BOT 2023-07-19 10:11:24Z
this mobile player needs a medal
10:11
and a new android release asap
Avatar
Tell em to bring him his new release
Avatar
rust can compile for Android
10:29
ndk
Avatar
ws-client BOT 2023-07-19 10:35:56Z
<Jupstar> I guess I also prefer to focus on next-gen teeworlds for now, but i can gladly assist with build script information and quirks for android
10:36
<Jupstar> if someone is motivated
Avatar
Avatar
Ryozuki
rust can compile for Android
I have no doubt about that. It's more about the cmake build setup and if the libraries support it(if we use libraries that do non std stuff)
Avatar
Hey does someone have the link to the accounts issue on github?
10:42
It kinda needs to get pinned in this channel ngl
Avatar
ws-client BOT 2023-07-19 10:42:18Z
<Jupstar> #3411
Avatar
search for "accounts issue" in discord
Avatar
#3411
Avatar
ws-client BOT 2023-07-19 10:42:53Z
<Jupstar> thanks for ignore @Vy0x3
Avatar
Anyone want to merge #6871?
Avatar
Use CLineInput::GetActiveInput and CLineInput::IsActive instead for consistency. The last active item pointer is now only tracked internally in CUI to deactivate the active line input when it's...
Avatar
(done)
👍 1
Avatar
ChillerDragon BOT 2023-07-19 10:56:28Z
jopsti chilerbot is currently under maintenance he will soon listen to your issue mentions
Avatar
47f4f21 Remove usages of CUI::LastActiveItem - Robyt3 27b8122 Merge pull request #6871 from Robyt3/UI-LastActiveItem-Cleanup - heinrich5991
Avatar
After reading the accounts issue completely through I have 2 main questions
11:16
What is the benefit of using a decentralised system? I genuinely have no knowledge in that kind of stuff And who is this zoozti guy lmao (edited)
Avatar
ws-client BOT 2023-07-19 11:16:54Z
<Jupstar > konsti
Avatar
What a surprise
Avatar
ws-client BOT 2023-07-19 11:19:01Z
<Jupstar > well tbh decentralized is one of these words that isn't crystal clear imo. But generally for accounts it would probably mean that ddnet is not in full control of the account directly
Avatar
ChillerDragon BOT 2023-07-19 11:19:22Z
#123
Avatar
ws-client BOT 2023-07-19 11:19:23Z
<Jupstar > e.g. if kog uses ddnets auth system for their login that would be centralized on ddnet
Avatar
ChillerDragon BOT 2023-07-19 11:19:24Z
ez
Avatar
ws-client BOT 2023-07-19 11:19:37Z
<Jupstar > Chillerdragon epic
11:19
<Jupstar > xd
Avatar
ChillerDragon BOT 2023-07-19 11:19:55Z
!p 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 35 1a eb 40 00 40 11 21 cb 7f 00 00 01 7f 00 00 01 f3 67 20 6f 00 21 fe 34 10 0c 01 42 78 0d 88 55 e9 f0 87 e6 07 68 d6 d0 5b f8 69 2f ff 8c 14 37 00
Avatar
Avatar
ChillerDragon
!p 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 35 1a eb 40 00 40 11 21 cb 7f 00 00 01 7f 00 00 01 f3 67 20 6f 00 21 fe 34 10 0c 01 42 78 0d 88 55 e9 f0 87 e6 07 68 d6 d0 5b f8 69 2f ff 8c 14 37 00
Command not found!
Avatar
ChillerDragon BOT 2023-07-19 11:20:02Z
oh o
Avatar
Avatar
ws-client
<Jupstar > well tbh decentralized is one of these words that isn't crystal clear imo. But generally for accounts it would probably mean that ddnet is not in full control of the account directly
And why shouldn’t ddnet be in full control of accounts?
Avatar
ws-client BOT 2023-07-19 11:20:48Z
<Jupstar > well from ddnet's perspective it doesnt matter
11:20
<Jupstar > from mods perspective it's probably more attractive
Avatar
Because of security and privacy concerns?
Avatar
ChillerDragon BOT 2023-07-19 11:21:22Z
your fakin space makes it look like you quote shit
Avatar
ws-client BOT 2023-07-19 11:21:44Z
<Jupstar > thinking about it, the only decentralized system is probably using key-pair directly
Avatar
Avatar
ws-client
<Jupstar> thanks for ignore @Vy0x3
@Jupstar ✪ What got ignored?
Avatar
ChillerDragon BOT 2023-07-19 11:21:59Z
? xd
Avatar
ws-client BOT 2023-07-19 11:22:00Z
<Jupstar > so @heinrich5991 approach is not decentralized, right?
Avatar
ChillerDragon BOT 2023-07-19 11:22:05Z
ddnet bot talking axaxax
Avatar
ws-client BOT 2023-07-19 11:22:08Z
<Jupstar > bcs the recovery also happens over ddnet directly
Avatar
ChillerDragon BOT 2023-07-19 11:22:30Z
the discord bot ignores irc but dont worry we got chillerbot on irc side so all good
Avatar
ws-client BOT 2023-07-19 11:22:38Z
<Jupstar > @ChillerDragon lol wtf is that
Avatar
ChillerDragon BOT 2023-07-19 11:22:46Z
not me
Avatar
ws-client BOT 2023-07-19 11:22:49Z
<Jupstar > in discord it was vy0x3 walking
Avatar
ChillerDragon BOT 2023-07-19 11:22:55Z
watfak
Avatar
ws-client BOT 2023-07-19 11:22:58Z
<Jupstar > talking*
Avatar
ChillerDragon BOT 2023-07-19 11:23:03Z
im irc it says <DDNet>
11:23
matterbridge moment?
Avatar
ws-client BOT 2023-07-19 11:23:18Z
<Jupstar > LOLL
11:23
<Jupstar > his accountname is ddnet
11:23
<Jupstar > biggest troll
Avatar
username and display name moment
Avatar
ChillerDragon BOT 2023-07-19 11:23:35Z
xd
Avatar
bad implementation i would say
Avatar
ChillerDragon BOT 2023-07-19 11:23:43Z
trollest
Avatar
ws-client BOT 2023-07-19 11:23:46Z
<Jupstar > biggest troll ever
Avatar
ChillerDragon BOT 2023-07-19 11:23:53Z
Avatar
Avatar
Vy0x3
bad implementation i would say
Were you not forced to change your name to the new username system btw?
Avatar
ChillerDragon BOT 2023-07-19 11:24:30Z
he da original ddnet
Avatar
Avatar
Iza
Were you not forced to change your name to the new username system btw?
No, gotta back to work now, no ping pls thanks (edited)
Avatar
ws-client BOT 2023-07-19 11:27:30Z
<Jupstar > stay with us DDNet
11:29
<Jupstar > chillerdragon are u here?
11:29
<Jupstar > #6889
11:29
<Jupstar > vulkan is designed to work without surfaces, why can't you link it?
11:30
<Jupstar > or what is your problem with it exactly
11:30
<Jupstar > does your vulkan package require x11 deps or smth?
11:31
<Jupstar > should probably lazy load vk ;)
11:32
<Jupstar > but anyway, maybe its really easier if we dont do so much hacks for headless client
11:32
<Jupstar > u can install x11 without display just fine afaik
Avatar
ChillerDragon BOT 2023-07-19 11:33:16Z
jopsti i kiled chilerbot again with the !p command xd
11:33
new fixes and new bugs
11:39
#6889
Avatar
ChillerDragon BOT 2023-07-19 11:39:33Z
o it my issue
11:40
jopsti its no hack its just turning vulkan off by default if compiling headless client
Avatar
ws-client BOT 2023-07-19 11:40:24Z
<Jupstar > yeah, issue is the right word :)
Avatar
ChillerDragon BOT 2023-07-19 11:40:29Z
axaxax
Avatar
ws-client BOT 2023-07-19 11:40:36Z
<Jupstar > yeah but as heinrich said
11:40
<Jupstar > opengl is still on
11:40
<Jupstar > i'd see opengl as a bigger problem, since there is no surfaceless opengl
Avatar
ChillerDragon BOT 2023-07-19 11:41:03Z
opengl is next then :p
Avatar
ws-client BOT 2023-07-19 11:41:08Z
<Jupstar > troll
Avatar
Pro: easier to build minimal container images. Should we even support that? Con: maintenance overhead CC #6889 CC #6891 (might also be useful regardless of this issue, apparently openSUSE doesn't ship libnotify?)
Avatar
ws-client BOT 2023-07-19 11:43:20Z
<Jupstar > chillerdragon when rename headless to surfaceless
Avatar
ChillerDragon BOT 2023-07-19 11:44:48Z
thats not a thing
Avatar
ws-client BOT 2023-07-19 11:45:20Z
<Jupstar > do you disable anything else besides graphics?
11:45
<Jupstar > well u want libnotify disabled, but i guess its kinda part of graphics
Avatar
ChillerDragon BOT 2023-07-19 11:49:31Z
it tries to keep most ddnet code
11:49
just being low on dependencies during compile and runtime
11:50
the bloatest dependency of them all ofc being having a graphical environment
Avatar
ws-client BOT 2023-07-19 11:50:11Z
<Jupstar > better buy 128 GB RAM
11:50
<Jupstar > xd
Avatar
ChillerDragon BOT 2023-07-19 11:52:48Z
check dis out jopsti
11:52
!p 00000000000000000000000086dd600e1643002511400000000000000000000000000000000100000000000000000000000000000001fc45206f002500388014024ac23217dd5030b2adc340c75aa68d463c9e0f55c399d42b6e00
Avatar
Avatar
ChillerDragon
!p 00000000000000000000000086dd600e1643002511400000000000000000000000000000000100000000000000000000000000000001fc45206f002500388014024ac23217dd5030b2adc340c75aa68d463c9e0f55c399d42b6e00
Command not found!
Avatar
chillerbot BOT 2023-07-19 11:52:54Z
extracting udp payload from ethernet packet ...
11:52
[twnet_parser v0.8.0] udp payload: 80 14 02 4a c2 32 17 dd 50 30 b2 ad c3 40 c7 5a a6 8d 46 3c 9e 0f 55 c3 99 d4 2b 6e 00
11:53
--- 0.7
11:53
error
11:53
--- 0.6
11:53
<class: 'PacketHeader6'>: {'flags': <class: 'PacketFlags6'>, 'ack': 20, 'token': b'J\xc22\x17', 'num_chunks': 2, 'connless_version': 1, 'response_token': b'\xff\xff\xff\xff'}
11:53
<class: 'MsgClEmoticon'>: {'message_type': 'game', 'message_name': 'cl_emoticon', 'system_message': False, 'message_id': 23, 'header': <class: 'ChunkHeader'>, 'emoticon': 7}
11:53
<class: 'MsgInput'>: {'message_type': 'system', 'message_name': 'input', 'system_message': True, 'message_id': 16, 'header': <class: 'ChunkHeader'>, 'ack_snapshot': 2660, 'intended_tick': 2661, 'input_size': 40, 'input': <class: 'ObjPlayerInput'>}
Avatar
@heinrich5991 u know if a packed struct can have a align >1?
Avatar
packed struct has align 1
11:55
so no, it cannot
Avatar
why?
Avatar
no reason
11:57
well cuz smth at work
Avatar
Do u have to use rust?
Avatar
its llvm
Avatar
Pragma pack 2
11:58
Does not work?
Avatar
i mean its not c++ either
11:58
its llvm ir
Avatar
I don't know about llvm
11:58
my answer was about rust
11:58
but it makes sense to ask what rust does too
11:58
cuz it uses llvm
11:59
but according to my findings packed structs have align 1 ye
11:59
@heinrich5991 ever used the Layout struct from rust?
11:59
its awesome, it calculates padding, alignment, etc for mixing fields and stuff
Avatar
Avatar
Ryozuki
@heinrich5991 ever used the Layout struct from rust?
have not. I think it's a new thing :p
Avatar
1.28 is new?
Avatar
ah, not that new I guess
Avatar
i guess u didnt do low level allocs
Avatar
yea
Avatar
ws-client BOT 2023-07-19 12:01:45Z
<Jupstar > rust seems to allow it too btw @heinrich5991
Avatar
let struct_with_ptr_u32_u64 = Layout::new::<*mut ()>() .extend(Layout::new::<u32>())? .0 .extend(Layout::new::<u64>())? .0;
Avatar
Avatar
ws-client
<Jupstar > rust seems to allow it too btw @heinrich5991
interesting 😮
12:02
TIL
12:03
12:03
epic logo
Avatar
ws-client BOT 2023-07-19 12:03:43Z
<Jupstar > @Ryozuki whats your usecase
12:03
<Jupstar > im interested in it
12:03
<Jupstar > i find the disadvantage a pretty huge disadvantage
12:04
<Jupstar > (a practical usecase)
12:04
<Jupstar > theoretically it's clear to me what the advantage is
Avatar
ChillerDragon BOT 2023-07-19 12:05:31Z
@Davide :c
12:05
time to play w vpn i guess
Avatar
we have a JIT engine from MLIR, we deserialize the inputs from json and allocate the resulting structures in the arena and pass it to the jit executing a function with those inputs, returning the outputs as pointers which we serialize back to json
12:06
it also works with natively compiling, in which case for now we call the method using a wrapper C program
12:07
static void run_bench(return_values_t *, void *, uint64_t) __attribute__((weakref("_mlir_ciface_main::main::main")));
12:07
which is why i once asked this weakref stuff time ago
12:07
kek
12:07
@Jupstar ✪ bumpalo works best when u want fastest allocation and dont care about deallocating
Avatar
ws-client BOT 2023-07-19 12:08:18Z
<Jupstar > man ur job is so interesting 😂
Avatar
ChillerDragon BOT 2023-07-19 12:08:49Z
ryo and deen only two ppl who made it in life
Avatar
ws-client BOT 2023-07-19 12:09:26Z
<Jupstar > tru xDDD
12:10
well chiller u live ur life making bots
Avatar
ChillerDragon BOT 2023-07-19 12:11:04Z
:c
Avatar
when ai powered?
Avatar
ChillerDragon BOT 2023-07-19 12:11:52Z
all ppl asking "client" questions in developer channel is just me under different names
12:13
@Jupstar ✪ btw
12:13
in ur rust tw client
12:13
do u use mimalloc?
12:13
free perfomance
12:13
just change the default rust global allocator
12:13
A drop-in global allocator wrapper around the mimalloc allocator. Mimalloc is a general purpose, performance oriented allocator built by Microsoft.
Avatar
ChillerDragon BOT 2023-07-19 12:14:21Z
ryo jopsti is making performant game
12:14
to go blazingly fast he doesnt do allocations at all
12:14
he just pipes frames straight out of /dev/urandom because its webscale
Avatar
ws-client BOT 2023-07-19 12:16:59Z
<Jupstar > why doesnt rust use it standard
12:17
<Jupstar > if its always faster
Avatar
c9bd00b make all quadpoints selectable with boxselect - Marmare314 9aa04d9 Merge pull request #6844 from Marmare314/selectable-quadpoints - Robyt3
Avatar
ws-client BOT 2023-07-19 12:17:21Z
<Jupstar > but chillerdragon you are right, ofc i'm not trying to do a allocation twice and use pools
12:17
<Jupstar > quite heavily
12:17
<Jupstar > additionally its vulkan first
12:17
<Jupstar > so i directly write into driver memory
12:17
<Jupstar > to save the 2ns
12:18
<Jupstar > but there are cases where i optionally waste lot of performance
12:18
<Jupstar > and that is WASM support, which is defs slower than native
Avatar
i guess portability?
12:21
or idk tbh
Avatar
ws-client BOT 2023-07-19 12:21:37Z
<Jupstar > first class modding support ;)
Avatar
ah mimalloc has no wasm rn
Avatar
yo btw https://github.com/ddnet/ddnet/blob/master/scripts/compile_libs/gen_libs.sh here on the lines where it calls the other files it should be bash instead of ./ atleast it failed for me with a ./ even though the files had execution rights. ll. 85, 108, 120 (edited)
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
ws-client BOT 2023-07-19 12:28:33Z
<Jupstar > mhh thats surprising, which scripts failed exactly to execute?
12:28
<Jupstar > and what error did u get?
Avatar
its just a permission error
Avatar
ws-client BOT 2023-07-19 12:29:15Z
<Jupstar > so execution rights or other?
Avatar
yea but they already had execution rights
12:29
i changed the ./ to bash and its working now
Avatar
ws-client BOT 2023-07-19 12:30:08Z
<Jupstar > chillerdragon: help pls
12:30
<Jupstar > does that ever make sense? xd
Avatar
im on arch btw ;)
Avatar
ws-client BOT 2023-07-19 12:30:57Z
<Jupstar > I've really never heard of such an issue and also never encountered it, is maybe "#!/bin/bash" missing in these files?
12:31
<Jupstar > the ones that fail
Avatar
Jupstar: because they don't want every rust program to ship with an allocator (edited)
Avatar
Avatar
ws-client
<Jupstar > does that ever make sense? xd
when i executed them by hand they worked fine
Avatar
they use the system allocators instead
Avatar
ws-client BOT 2023-07-19 12:32:26Z
<Jupstar > @heinrich5991 so the one ryo posted does some kind of pre allocations and then represents a heap on its own?
Avatar
probably uses the OS page maps to create their own allocator
Avatar
mimalloc is a drop-in replacement for malloc and can be used in other programs without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
Avatar
ws-client BOT 2023-07-19 12:33:22Z
<Jupstar > @Teero i really dunno if this is not allowed in strict bash or smth. i always used it like this :D
Avatar
free list sharding: instead of one big free list (per size class) we have many smaller lists per "mimalloc page" which reduces fragmentation and increases locality -- things that are allocated close in time get allocated close in memory. (A mimalloc page contains blocks of one size class and is usually 64KiB on a 64-bit system).
>
free list multi-sharding: the big idea! Not only do we shard the free list per mimalloc page, but for each page we have multiple free lists. In particular, there is one list for thread-local free operations, and another one for concurrent free operations. Free-ing from another thread can now be a single CAS without needing sophisticated coordination between threads. Since there will be thousands of separate free lists, contention is naturally distributed over the heap, and the chance of contending on a single location will be low -- this is quite similar to randomized algorithms like skip lists where adding a random oracle removes the need for a more complex algorithm. eager page purging: when a "page" becomes empty (with increased chance due to free list sharding) the memory is marked to the OS as unused (reset or decommitted) reducing (real) memory pressure and fragmentation, especially in long running programs.
>
secure: mimalloc can be built in secure mode, adding guard pages, randomized allocation, encrypted free lists, etc. to protect against various heap vulnerabilities. The performance penalty is usually around 10% on average over our benchmarks.
>
first-class heaps: efficiently create and use multiple heaps to allocate across different regions. A heap can be destroyed at once instead of deallocating each object separately. bounded: it does not suffer from blowup [1], has bounded worst-case allocation times (wcat) (upto OS primitives), bounded space overhead (~0.2% meta-data, with low internal fragmentation), and has no internal points of contention using only atomic operations. fast: In our benchmarks (see below), mimalloc outperforms other leading allocators (jemalloc, tcmalloc, Hoard, etc), and often uses less memory. A nice property is that it does consistently well over a wide range of benchmarks. There is also good huge OS page support for larger server programs.
Avatar
ws-client BOT 2023-07-19 12:34:04Z
<Jupstar > yeah @Ryozuki but it must have some disadvantages :D
12:34
<Jupstar > oh ok
Avatar
size
Avatar
ws-client BOT 2023-07-19 12:34:15Z
<Jupstar > here it comes xD
12:35
<Jupstar > i mean its worth a try, but i generally try to reuse memory anyway without any allocators ^^
Avatar
the best allocator is the stack kek
Avatar
Avatar
Jupstar ✪
i lately saw this: https://github.com/spuhpointer/stack-vs-heap-benchmark and was surprised and did some own benchmarks, bcs i wanted to reduce some heap allocations in my app. If you actually fill the data structure you allocated, it's indeed very close between heap and stack.. If you use smth like clone_from it's ofc MUCH faster with an preallocated buffer. But if you copy every element one by one it's almost same speed.. similar to the graph shown in this benchmark https://raw.githubusercontent.com/spuhpointer/stack-vs-heap-benchmark/master/filled2.png (edited)
^ this also interesting
Avatar
Avatar
Jupstar ✪
i lately saw this: https://github.com/spuhpointer/stack-vs-heap-benchmark and was surprised and did some own benchmarks, bcs i wanted to reduce some heap allocations in my app. If you actually fill the data structure you allocated, it's indeed very close between heap and stack.. If you use smth like clone_from it's ofc MUCH faster with an preallocated buffer. But if you copy every element one by one it's almost same speed.. similar to the graph shown in this benchmark https://raw.githubusercontent.com/spuhpointer/stack-vs-heap-benchmark/master/filled2.png (edited)
.
12:36
Mh ok xd
12:37
Discord scrolls weirdly for me
Avatar
This post adds support for heap allocation to our kernel. First, it gives an introduction to dynamic memory and shows how the borrow checker prevents …
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, li…
12:38
interesting resources
12:38
no-OS allocators
Avatar
ws-client BOT 2023-07-19 12:39:22Z
<Jupstar > i guess don't overengineer stuff :D
Avatar
i remember implementing a slab one?
12:39
i think u have a linked list of various sizes
Avatar
ws-client BOT 2023-07-19 12:39:51Z
<Jupstar > the rust client is not faster than ddnet, even tho it does no heap allocation, while ddnet probably does :D
Avatar
16,32,64,128,512,1024,2024
12:40
etc
12:40
ah no
12:40
fixed size block
12:40
/// The block sizes to use. /// /// The sizes must each be power of 2 because they are also used as /// the block alignment (alignments must be always powers of 2). const BLOCK_SIZES: &[usize] = &[8, 16, 32, 64, 128, 256, 512, 1024, 2048];
Avatar
ChillerDragon BOT 2023-07-19 12:41:37Z
@Teero can you run the failing script with bash -x script.sh and share the output in a paste snippet?
Avatar
Avatar
ChillerDragon
@Teero can you run the failing script with bash -x script.sh and share the output in a paste snippet?
Now im completely confused. It works
12:47
I was following the cross compiling to wasm from the ddnet readme
Avatar
ws-client BOT 2023-07-19 12:48:16Z
<Jupstar > is it so different to the android one?
12:48
<Jupstar > does the client compile btw? no problems with rust choosing the wrong toolchain etc?
Avatar
ChillerDragon BOT 2023-07-19 12:49:08Z
i get a bunch of file not found when running ge_libs.sh . linux
Avatar
ws-client BOT 2023-07-19 12:49:24Z
<Jupstar > do u have android ndk installed?
Avatar
ChillerDragon BOT 2023-07-19 12:49:33Z
me?
Avatar
ws-client BOT 2023-07-19 12:49:37Z
<Jupstar > yes
Avatar
ChillerDragon BOT 2023-07-19 12:49:39Z
no
12:49
it didnt tell me to
Avatar
ws-client BOT 2023-07-19 12:49:48Z
<Jupstar > it does
12:50
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
It's in the available in the aur
Avatar
ChillerDragon BOT 2023-07-19 12:50:31Z
crapshot in progress
Avatar
ChillerDragon BOT 2023-07-19 12:50:49Z
omg i have 2 fps in irc
12:51
Avatar
pasting logs as images
12:51
bad thing
Avatar
ChillerDragon BOT 2023-07-19 12:51:27Z
mimimi
Avatar
ws-client BOT 2023-07-19 12:51:34Z
<Jupstar > better than posting 5000000 lines of log xD
Avatar
ChillerDragon BOT 2023-07-19 12:51:42Z
snippet have no preview
Avatar
ws-client BOT 2023-07-19 12:51:45Z
<Jupstar > linux is not supported by that script rn
12:51
<Jupstar > but it's easy to add
Avatar
ChillerDragon BOT 2023-07-19 12:51:55Z
it didnt show which is supported
12:52
or didnt complain
Avatar
ws-client BOT 2023-07-19 12:52:09Z
<Jupstar > at any way, currently it wont work anyway. bcs SDL2 already named itself SDL3 xD
Avatar
ChillerDragon BOT 2023-07-19 12:52:13Z
this script makes it easy to shoot ur self in the foot
Avatar
ws-client BOT 2023-07-19 12:52:27Z
<Jupstar > idc if u shoot yourself into the foot
12:52
<Jupstar > go ahead xD
Avatar
ChillerDragon BOT 2023-07-19 12:52:33Z
you use latest commit already?
12:52
not some pinned known to be working?
Avatar
ws-client BOT 2023-07-19 12:52:53Z
<Jupstar > yes
12:52
<Jupstar > i dont want to maintain that
Avatar
ChillerDragon BOT 2023-07-19 12:53:04Z
bleeding edge
Avatar
ws-client BOT 2023-07-19 12:53:18Z
<Jupstar > u can add support for it
12:53
<Jupstar > idc
Avatar
ChillerDragon BOT 2023-07-19 12:54:01Z
why not pick a dir in the source tree?
Avatar
ws-client BOT 2023-07-19 12:54:26Z
<Jupstar > do what u want
Avatar
ChillerDragon BOT 2023-07-19 12:54:28Z
xd
Avatar
ws-client BOT 2023-07-19 12:54:44Z
<Jupstar > dont blame me if gitignore doesnt prevent trigger tho
Avatar
ChillerDragon BOT 2023-07-19 12:54:59Z
a just for file showing up in git?
Avatar
ws-client BOT 2023-07-19 12:55:16Z
<Jupstar > also asserts write the full path into your binary
12:55
<Jupstar > so it might leak personal info
12:55
<Jupstar > if u care about that
Avatar
ChillerDragon BOT 2023-07-19 12:55:41Z
a
Avatar
ws-client BOT 2023-07-19 12:55:50Z
<Jupstar > blame sdl for that btw
Avatar
ChillerDragon BOT 2023-07-19 12:55:50Z
/home/chiller/git/Desktop/ddnet btw
Avatar
ws-client BOT 2023-07-19 12:55:50Z
<Jupstar > xd
Avatar
ChillerDragon BOT 2023-07-19 12:55:59Z
leak
Avatar
ws-client BOT 2023-07-19 12:56:04Z
<Jupstar > for dbg_assert we can fix it i think
12:56
<Jupstar > there is relative path support
12:56
<Jupstar > /home/ilovechiller/git/good/in/ddnet
Avatar
ChillerDragon BOT 2023-07-19 12:57:01Z
axaxa
12:57
oke ima use /home/deen/isos/ddnet/android like a true ddnetter
Avatar
ws-client BOT 2023-07-19 12:58:23Z
<Jupstar > xd
12:58
<Jupstar > /root/safe_builds
Avatar

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/#using-ad...
Avatar
@Jupstar ✪ Is there a reason why memory for texture data in graphics commands is allocated with malloc whereas other commands use the command data buffer? Seems like we currently leak the texture data memory if AddCmd fails.
Avatar
ws-client BOT 2023-07-19 13:37:37Z
<Jupstar> @Robyt3 it can't fail ™
13:37
<Jupstar> if it fails it flushes the command queue
13:37
<Jupstar> and if the queue is flushed its empty
13:37
<Jupstar> and the CMD is never too big then
13:38
<Jupstar> textures as well as buffers use malloc bcs they can be very huge
13:38
<Jupstar> and the command data have a limit of a few kb or maybe mbytes
Avatar
I see, hard to understand code though
13:40
If it can't fail twice then we should assert and make AddCmd return void
Avatar
ws-client BOT 2023-07-19 13:40:12Z
<Jupstar> yeah vanilla tends to never use dynamic memory
13:41
<Jupstar> do we never handle the fail path?
13:41
<Jupstar> then we can probably do that
Avatar
Seems like in some cases we just return early
Avatar
can u link to code
Avatar
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
13:41
Search for AddCmd
13:42
In some cases it's in if-statements, but in many it's not
13:42
This would also be a way for a texture handle index to not be freed correctly, but if AddCmd never fails then it's not that
Avatar
ws-client BOT 2023-07-19 13:43:03Z
<Jupstar> from feeling i'd say if we ever fail, it's an fatal error anyway
13:43
<Jupstar> i would know if most code could recover from this
13:43
<Jupstar> would not*
13:44
<Jupstar> @Robyt3 i really have the feeling we have a buffer overflow somewhere. or the crash logs are really bad
13:44
<Jupstar> and dont show the actual bug
13:47
<Jupstar> i'd highly suggest to not handle content bugs like this anyway. Fail where the content is loaded. for skins for example don't load the whole skin is one part fails. then we can safely assume that there are no invalid textures
13:47
<Jupstar> that's also why i dislike that we allow having no data dir
13:47
<Jupstar> they must be a default skin
13:47
<Jupstar> and a default entities
13:47
<Jupstar> and default whatever
13:49
<Jupstar> it also minimizes the chance such content is shared in the community bcs it does not work at all. that also worked with the warnings :D ppl were mad first but now i havent seen it in a longer time
Avatar
ws-client BOT 2023-07-19 13:57:19Z
<Jupstar> i dunno how much time you want to waste, but e.g. for maps, we currently dynamically load anything that is compressed. In my tw version whatever loads the map has to directly tell which stuff it wants to load. This allows to validate the map files directly at loading. and it also increases performance
13:57
<Jupstar> because the whole code works on memory instead of files
13:58
<Jupstar> so if u want to improve that you could think about redesigning how maps, skins etc are loaded xd
14:01
<Jupstar> dynamically load anything that is compressed when used the first time*
14:01
<Jupstar> chillerdragon: can u fix that i cannot select text xD
14:01
<Jupstar> feature request 😂
Avatar
972fc71 keep selection when moving layers fixes #6787 - Marmare314 946f792 Merge pull request #6894 from Marmare314/issue-6787 - Robyt3
Avatar
ChillerDragon BOT 2023-07-19 14:18:56Z
yea its on ma todo its so bad i know
Avatar
ptr = unsafe { libc::malloc(inner_layout.size()).cast() }; im doing rust sins
Avatar
ws-client BOT 2023-07-19 14:44:01Z
<Jupstar> cargo uninstall ryoos
Avatar
oot@dkLinux:/home/dk/ddnet/ddnet/build# emcmake cmake .. -DVIDEORECORDER=OFF -DVULKAN=OFF -DSERVER=OFF -DTOOLS=OFF -DPREFER_BUNDLED_LIBS=ON configure: cmake .. -DVIDEORECORDER=OFF -DVULKAN=OFF -DSERVER=OFF -DTOOLS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node;--experimental-wasm-threads -- Could NOT find Curl (missing: CURL_INCLUDEDIR) -- Could NOT find Freetype (missing: FREETYPE_INCLUDEDIR) -- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) -- Could NOT find Ogg (missing: OGG_INCLUDEDIR) -- Could NOT find Opus (missing: OPUS_INCLUDEDIR) -- Could NOT find Opusfile (missing: OPUSFILE_INCLUDEDIR) -- Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDEDIR) -- Could NOT find SQLite3 (missing: SQLite3_INCLUDEDIR SQLite3_LIBRARY) -- Could NOT find Threads (missing: Threads_FOUND) -- ******** DDNet ******** -- Target OS: linux x86 -- Compiler: /usr/bin/em++ -- Rust version: rustc 1.66.1 (90743e729 2023-01-10) (built from a source tarball) -- Build type: Release -- Dependencies: -- * Curl not found -- * Freetype not found -- * Glew not found (using bundled version) -- * GTest not found -- * Ogg not found -- * OpenSSL Crypto found -- * Opus not found -- * Opusfile not found -- * PNG not found -- * PythonInterp found -- * SDL2 not found -- * SQLite3 not found -- * Wavpack not found (using bundled version) -- * Zlib found CMake Error at CMakeLists.txt:659 (message): You must install Curl to compile DDNet CMake Error at CMakeLists.txt:668 (message): You must install SQLite3 to compile DDNet CMake Error at CMakeLists.txt:694 (message): You must install libpng to compile DDNet CMake Error at CMakeLists.txt:697 (message): You must install Freetype to compile the DDNet client CMake Error at CMakeLists.txt:700 (message): You must install Ogg to compile the DDNet client CMake Error at CMakeLists.txt:703 (message): You must install Opus to compile the DDNet client CMake Error at CMakeLists.txt:706 (message): You must install Opusfile to compile the DDNet client CMake Error at CMakeLists.txt:709 (message): You must install SDL2 to compile the DDNet client -- To run the tests, you have to install GTest -- Configuring incomplete, errors occurred! See also "/home/dk/ddnet/ddnet/build/CMakeFiles/CMakeOutput.log". See also "/home/dk/ddnet/ddnet/build/CMakeFiles/CMakeError.log". emcmake: error: 'cmake .. -DVIDEORECORDER=OFF -DVULKAN=OFF -DSERVER=OFF -DTOOLS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node;--experimental-wasm-threads' failed (returned 1) root@dkLinux:/home/dk/ddnet/ddnet/build# trying to build wasm: commands i run: 1. git clone https://github.com/ddnet/ddnet 2. deleted -> ddnet-libs 3. run -> scripts/compile_libs/gen_libs.sh . webasm 4. created build folder 5. emcmake cmake .. -DVIDEORECORDER=OFF -DVULKAN=OFF -DSERVER=OFF -DTOOLS=OFF -DPREFER_BUNDLED_LIBS=ON 6. getting the error above
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
15:02
the error says that it can't find the libs but they were created and are in the ddnet-libs folder in the root directory
Avatar
ws-client BOT 2023-07-19 15:18:01Z
<Jupstar> how does your ddnet-libs look like, e.g. for ogg
Avatar
I dunno if u should delete ddnet-libs. I could imagine header files are not copied
Avatar
yea i overread that you need to merge both of the ddnet-libs... but there is one more problem over and this is sqlite i rebuild the ddnet-libs after i installed mariadbclient but i still get here the error that sqlite3 -> no such file or directory amd its the only small folder in it with 12k rest over or close to 1m (edited)
15:37
99%] Building C object CMakeFiles/opus.dir/silk/float/pitch_analysis_core_FLP.c.o [100%] Linking C static library libopus.a [100%] Built target opus Cloning into 'opusfile'... remote: Enumerating objects: 2157, done. remote: Counting objects: 100% (227/227), done. remote: Compressing objects: 100% (83/83), done. remote: Total 2157 (delta 115), reused 221 (delta 112), pack-reused 1930 Receiving objects: 100% (2157/2157), 936.67 KiB | 16.15 MiB/s, done. Resolving deltas: 100% (1316/1316), done. Updating build configuration files for opusfile, please wait.... ./autogen.sh: 10: autoreconf: not found find: ‘/root/Android/Sdk/ndk’: No such file or directory /usr/bin/llvm-ar-13: warning: creating libopusfile.a --2023-07-19 17:31:52-- https://www.sqlite.org/2021/sqlite-amalgamation-3360000.zip Resolving www.sqlite.org (www.sqlite.org)... 2600:3c00::f03c:91ff:fe96:b959, 45.33.6.223 Connecting to www.sqlite.org (www.sqlite.org)|2600:3c00::f03c:91ff:fe96:b959|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2477662 (2,4M) [application/zip] Saving to: ‘sqlite-amalgamation-3360000.zip’ sqlite-amalgamation-33600 100%[===================================>] 2,36M 2,61MB/s in 0,9s 2023-07-19 17:31:54 (2,61 MB/s) - ‘sqlite-amalgamation-3360000.zip’ saved [2477662/2477662] scripts/compile_libs/gen_libs.sh: line 114: 7z: command not found scripts/compile_libs/gen_libs.sh: line 118: cd: sqlite3: No such file or directory mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists cp: cannot stat 'compile_libs/sdl/build_webasm_wasm/libSDL2.a': No such file or directory cp: cannot stat 'compile_libs/sdl/build_webasm_wasm/libSDL2main.a': No such file or directory mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists cp: cannot stat 'compile_libs/sqlite3/build_webasm_wasm/sqlite3.a': No such file or directory mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists mkdir: cannot create directory ‘ddnet-libs’: File exists here are the last loglines of that
15:37
btw im using ubunutu feelsscary
Avatar
well sdl2 thing is clear why it fails
15:47
sqlite3 is weird
15:47
ah
15:47
u dont have 7zip installed
15:48
for sdl2 u have to modify the script and pin a current sdl2 version
15:48
or rename libsdl3.a to libsdl2.a manually ^^
15:48
no idea if that will work with different headers tho xD
Avatar
let me test it 🙂
Avatar
Avatar
Daniel
let me test it 🙂
function build_cmake_lib() { if [ ! -d "${1}" ]; then git clone "${2}" "${1}" fi # THIS IS NEW if [[ "${1}" == "sdl" ]]; then git checkout release-2.28.1 fi ( cd "${1}" || exit 1 cp "${CURDIR}"/scripts/compile_libs/cmake_lib_compile.sh cmake_lib_compile.sh ./cmake_lib_compile.sh "$_ANDROID_ABI_LEVEL" "$OS_NAME" "$COMPILEFLAGS" "$LINKFLAGS" ) } in gen_libs.sh
15:59
for sdl checkout a 2.x tag
15:59
if tags are not auto downloaded with your git, you can try release-2.28.x
Avatar
i dont need sdl like i only need DDNet-Server
Avatar
oh ok
Avatar
Avatar
Daniel
i dont need sdl like i only need DDNet-Server
why do u want to compile the server to WASM?
16:11
i hope you are aware that WASM over a browser does not offer UDP in any kind
16:11
and i am not sure if u can host a websocket server either
Avatar
mhh. haven't thought about it yet but when you say it like that it sounds logical with the udp. @Teero and I had played around a bit and built a ui with some info for fun and wanted to see if we could get that with wasm in the browser.
16:18
btw it failed near finish xD root@dkLinux:/home/dk/ddnet/ddnet/build# make -j8 DDNet-Server [ 0%] Built target json [ 0%] Generating wasm32-unknown-emscripten/release/libddnet_engine_shared.a [ 2%] Built target rust-bridge-shared [ 13%] Built target game-shared [ 63%] Built target engine-shared Compiling link-cplusplus v1.0.6 Compiling ddnet-test v0.0.1 (/home/dk/ddnet/ddnet/src/rust-bridge/test) Compiling ddnet-engine-shared v0.0.1 (/home/dk/ddnet/ddnet/src/engine/shared) error[E0463]: can't find crate for `core` | = note: the `wasm32-unknown-emscripten` target may not be installed = help: consider downloading the target with `rustup target add wasm32-unknown-emscripten` error[E0463]: can't find crate for `compiler_builtins` For more information about this error, try `rustc --explain E0463`. error: could not compile `link-cplusplus` due to 2 previous errors warning: build failed, waiting for other jobs to finish... error[E0463]: can't find crate for `std` | = note: the `wasm32-unknown-emscripten` target may not be installed = help: consider downloading the target with `rustup target add wasm32-unknown-emscripten` error: could not compile `ddnet-test` due to previous error make[3]: *** [CMakeFiles/rust_engine_shared_target.dir/build.make:86: wasm32-unknown-emscripten/release/libddnet_engine_shared.a] Error 101 make[2]: *** [CMakeFiles/Makefile2:232: CMakeFiles/rust_engine_shared_target.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:373: CMakeFiles/DDNet-Server.dir/rule] Error 2 make: *** [Makefile:319: DDNet-Server] Error 2 root@dkLinux:/home/dk/ddnet/ddnet/build# i installed all the things that they gave me as info in this error but no response (edited)
Avatar
See the rust up warning
Avatar
yea i already installed everything oot@dkLinux:/home/dk/ddnet/ddnet/build# rustup target add wasm32-unknown-emscripten info: component 'rust-std' for target 'wasm32-unknown-emscripten' is up to date you know how to disable ddnet-test to compile? (edited)
Avatar
what ddnet-test? xd
16:26
ah its rust component (edited)
16:26
what's wrong with it?
Avatar
Avatar
Daniel
yea i already installed everything oot@dkLinux:/home/dk/ddnet/ddnet/build# rustup target add wasm32-unknown-emscripten info: component 'rust-std' for target 'wasm32-unknown-emscripten' is up to date you know how to disable ddnet-test to compile? (edited)
let me try to build current ddnet with wasm
16:39
havent done that in a while
Avatar
yeah dunno got harder xdd
Avatar
Avatar
ws-client
<Jupstar > @marmare_314 GetScreen
This was painful but i got it to work mostly by trial and error C++ float TopLeftX, TopLeftY, BottomRightX, BottomRightY; Graphics()->GetScreen(&TopLeftX, &TopLeftY, &BottomRightX, &BottomRightY); float FakeHeightFactor = Graphics()->ScreenHeight() / (BottomRightY - TopLeftY); return UI()->MouseDeltaY() / FakeHeightFactor / View.h;
Avatar
Avatar
Jupstar ✪
yeah dunno got harder xdd
😂 is there a point where it fails?
Avatar
i cant even compile openssl anymore
Avatar
ws-client BOT 2023-07-19 17:48:02Z
<ChillerDragon3> jopsit
17:48
<ChillerDragon3> i "fixed" text selection xd
17:48
<ChillerDragon3> you need to click on da new cogwheel and disable emoji_picker and then reload page
Avatar
Good job ChillerDragon3.
Avatar
ChillerDragon BOT 2023-07-19 17:56:36Z
xd
Avatar
An interrupted pacman -Syu killed my boot parition somehow
Avatar
How can I make a master server and add my list server on the client in a section that I added?
Avatar
Avatar
mAdIM
How can I make a master server and add my list server on the client in a section that I added?
I searched on the internet but did not find any results
Avatar
I wonder how it could even happen I had my /boot mounted ro
Avatar
ChillerDragon BOT 2023-07-19 18:15:45Z
F lerato
18:16
you back in?
18:16
got a usb stick?
18:16
how can pacman do kernel updates if /boot is ro?
18:18
@mAdIM making a master server i understood the second part i did not understand what do you mean by adding a list server on the client? you mean make your client talk to your master server instead of ddnet master server?
18:19
this is how you create a master server https://github.com/ddnet/ddnet/tree/master/src/mastersrv
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
18:20
and those lines in the client pick the master it talks to here you can add your own
Avatar
Avatar
ChillerDragon
@mAdIM making a master server i understood the second part i did not understand what do you mean by adding a list server on the client? you mean make your client talk to your master server instead of ddnet master server?
Thank you very much for your help It was meant to show my own servers in the section I added "my server"
Avatar
ChillerDragon BOT 2023-07-19 18:53:23Z
idk the way i understand the code is it is looking for "servers-kog" in the servers.json served by the master but i dont see it in there 🤷
18:54
Avatar
Don't run out of battery while doing a pacman -Syu if you value your sanity
Avatar
ChillerDragon BOT 2023-07-19 18:54:39Z
ok will do thanks for the research lerato
Avatar
Had to boot with a live usb, chroot in and reinstall just every package because it was so broken
Avatar
ChillerDragon BOT 2023-07-19 18:54:55Z
average archlinux moment
Avatar
Avatar
ChillerDragon
how can pacman do kernel updates if /boot is ro?
idk how it managed to delete my kernel, it wouldn't remount it rw just on it's own right? 😄
Avatar
ChillerDragon BOT 2023-07-19 19:00:22Z
19:00
a its in here
19:00
thats not the master server is it?
19:00
is info.ddnet.org open source?
Avatar
it's just a served json file iirc
19:02
don't remember what generates it
Avatar
ChillerDragon BOT 2023-07-19 19:03:42Z
@mAdIM idk what you are building but i wouldnt setup a master server only for that tab :D just hardcode it in the client the list of servers you want to add there
19:03
if you want it to update then do it like ddnet
19:03
serve a json
19:05
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
19:05
should spit out json in that format
19:05
and replace the server-kog entries
19:06
no need for a master server
Avatar
Avatar
ChillerDragon
1919. with 6607 points
wtf, how you did this? numbers are overflowing on the left
19:32
cyber did it first
Avatar
1234. test lol
19:33
ITS A MARKDOWN BUG LOL
19:33
1234. test lol
Avatar
Avatar
mAdIM
Thank you very much for your help It was meant to show my own servers in the section I added "my server"
is ur game blushing or wut
Avatar
lol, i cant even select the numbers
19:36
2023. shitty or good year ?
19:36
ah 😄
Avatar
999999999. wtf is that thingy
Avatar
wtf xD
Avatar
Avatar
mAdIM
I searched on the internet but did not find any results
you can only do that for your own client, not for other people's
Avatar
datasette is oficially only on db.ddstats.org now
20:39
i started working on the other thing xd
20:39
View DDNet / Teeworlds Statistics.
20:39
im bad at design
20:40
something funny i found
20:40
some servers dont evenn list a clients [] array
20:40
at all
Avatar
weird
20:41
which servers are those?
20:41
I think the client will reject them
Avatar
yeah but the master not
20:41
i dont know rn, i didnt specifically save em, i just found i had to filter for that too
Avatar
the master doesn't but who puts up servers that the client doesn't list?
Avatar
I think I'd prefer if each server entry didn't have a lot of different colors
Avatar
yeah i mostly copied the design from another web i have
20:44
its just work i did in 1 hour
20:44
i dont like the cyan color on this
20:45
also the page is massive xD
Avatar
2563224 More expensive main ddnet server - def-
Avatar
DDNet Turkey 4 / 4 € (sponsored by Learath2)
21:21
very generous 😄
21:21
where the hell did you find a 4€ server ?
Avatar
chillerdragon BOT 2023-07-19 21:30:15Z
4 for the year?
Avatar
Avatar
Chairn
where the hell did you find a 4€ server ?
in Turkey presumably 🦃
Avatar
Avatar
Chairn
very generous 😄
the 4€ might be on top of what Learath2 sponsors
Avatar
No, Learath2 just didn't tell me up-to-date costs yet, that was for a small VPS for 1 month
22:47
but now we have larger and for longer
Exported 487 message(s)