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 2025-02-23 00:00 and 2025-02-24 00:00
Avatar
GitHub BOT 2025-02-23 00:01
Fixes bug introduced by #9712 Incorrectly displayed 128 teams when the max number of clients is 64. LEGACY_MAX_CLIENTS enum taken from the original 128 player pr !image

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 cove...
Avatar
GitHub BOT 2025-02-23 05:49
When no "label-type" is given on buttons with "bind" or "bind-toggle", the client will give them a default "label-type" as "plain". This is more convenient when people need to write their touch controls manually.

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
  • [ ] Considere...
Avatar
david loves Jellycar Worlds 2025-02-23 07:06
what is mapbugs.cpp?
07:06
or more acuatly what does it do?
07:06
and whats it for?
Avatar
is the entire momentcap static directory hosted anywhere like on github or as a zip?
Avatar
Avatar
david loves Jellycar Worlds
what is mapbugs.cpp?
Zerol Acqua 2025-02-23 07:34
idk, but i remember there is a command called mapbug
Enable map compatibility mode using the specified bug (example: grenade-doubleexplosion@ddnet.tw)
(edited)
Avatar
david loves Jellycar Worlds 2025-02-23 07:34
ah yea that exsplanes it
07:34
with the context it looks like it handles checking if a map has that enabled
Avatar
Zerol Acqua 2025-02-23 07:36
i think so
Avatar
Zerol Acqua 2025-02-23 08:13
i'm currently looking at the map editor's code and trying to figure out what FillSelection() does.
08:13
anyone knows what are these variables for? // layer_tiles.h class CLayerTiles : public CLayer { // ... int m_Tele; int m_Speedup; int m_Front; int m_Switch; int m_Tune; // ... }
Avatar
Maybe they're bools or enums pretending to be ints
08:32
You can find references in the context menu in before if you have cpp plugin
08:32
@Zerol Acqua
08:33
Or otherwise just search for m_Tele
Avatar
Zerol Acqua 2025-02-23 08:42
i think you're right—all the assignments are either 0 or 1. but the <= in pLayer->m_Tele <= pBrushLayer->m_Tele is really misleading. I initially thought it was some kind of counter variable.
08:42
thank u
08:48
mwuhuhuhu
08:54
actually if you remove the second inaccurate line
08:54
the first also inaccurate line makes less sense
08:54
i was told we wouldnt be removing the copyright symbol ever so idk
08:59
08:59
"this" being liscence.txt has been heavily modified in ddnet and doesnt include source files
Avatar
GitHub BOT 2025-02-23 09:05
license.txt says in both ddnet and teeworlds that "this notice" (the list of 3) may not be modified, that doesn't include source files the text itself is misleading in terms of who (theres now 3 people in ddnet license.txt) and where/what (teeworlds.net will get you a different game)
Avatar
GitHub BOT 2025-02-23 09:29
68daf13 Support importing with no "label-type" - K1nop1c0 a6e1d41 Merge pull request #9744 from K1nop1c0/TouchDefault - Robyt3
Avatar
GitHub BOT 2025-02-23 09:39
Reported by Ybivawka on Discord:
if you start a local server via the new button in the editor "test map locally", then the console(F2) will authorize automatically, but if you exit your server and log in again, then the password from the config for the server will not work, although the command line says that the config was launched at startup
A possible fix for the editor would be to not use sv_rcon_password but auth_add with a specific editor-local-server user so it doesn't ch...
Avatar
Avatar
GitHub
Click to see attachment 🖼️
whos teeworlds.net
Avatar
Avatar
zhn
whos teeworlds.net
Jupstar ✪ 2025-02-23 09:57
I think teeworlds.com is meant here xd
Avatar
Avatar
GitHub
Click to see attachment 🖼️
I'm not even sure how legal it is to remove these :/
Avatar
oh yeah teeworlds.net isnt even valid for teeworlds
Avatar
Avatar
Learath2
I'm not even sure how legal it is to remove these :/
its unlikely anything will come of it because i thought teeworlds guy disapeared and his name forever will be in liscence.txt license.txt only restrictions modification of itself not source files
Avatar
The teeworlds guy wouldn’t sue us anyway. I’m wondering if it’s legal at all to remove that
Avatar
the license doesn't say you can't remove it
10:17
chatgpt is a good lawyer you can ask it
Avatar
Avatar
Solly
its unlikely anything will come of it because i thought teeworlds guy disapeared and his name forever will be in liscence.txt license.txt only restrictions modification of itself not source files
he didn't disappear
Avatar
He does show up again every once in a while
Avatar
he became less opaque (edited)
Avatar
Avatar
Tater
chatgpt is a good lawyer you can ask it
i did, chatgpt says its okay
10:18
but (edited)
Avatar
See even chatgpt is being cautious 😄
Avatar
I think the second part about the missing file is ok to remove but it's unclear about the first part
Avatar
Avatar
Tater
I think the second part about the missing file is ok to remove but it's unclear about the first part
its a bit weird that its just tw guy
10:21
even though its maintained by other people now
Avatar
we are still a teeworlds mod believe it or not
Avatar
well it shouldn't be in files that are not from the teeworlds source
10:21
new files do not need the notice
10:22
I think it's technically considered part of the license
10:22
but new code can be under any license
Avatar
Avatar
Tater
I think it's technically considered part of the license
its not mentioned in the liscence
Avatar
Jupstar ✪ 2025-02-23 10:23
chatgpt dumb again lmao
Avatar
i do think removing the second line is following the line 2 of that license tho
Avatar
the second line is really silly (not even valid for tw) (edited)
10:23
the first line is slightly silly
Avatar
the second line is probably before git and they had tar releases for the source code from the trunk
👍 1
Avatar
Avatar
Tater
Click to see attachment 🖼️
"this notice" refers to itself only and probably the other 2 restrictions
10:25
the rest of the liscence has been modified in ddnet
Avatar
claude says it legally extends to the files themselves, the comment and license are part of the license
Avatar
We should contact all contributors of teeworlds and ddnet ever so we can re-license
Avatar
to what
10:25
i think as-is is fine
10:25
tw is big enough that someones not gonna run off and pretend its a new thing
Avatar
this isn't really about relicensing
Avatar
our license is exactly zlib license iirc
Avatar
also that
10:26
it is
Avatar
is it?
Avatar
it is zlib word for word, since zlib didn't named their license with a title so teeworlds didn't either
Avatar
Avatar
Solly
to what
Something funky, one of those half proprietary licenses so we can charge server hosters
Avatar
oh okay
10:26
didnt know that
Avatar
Then I can finally move to the maldives
Avatar
lack of understanding
10:27
half proprietary?
Avatar
Like the one epic games has for unreal engine
10:28
It’s open source but if you use it you still have to pay
Avatar
thats a bit sketchy
10:28
why do you need something like that for server hosters?
Avatar
I’m messing around, why so serious?
Avatar
honestly, if matricks shows up and says it's fine to remove it it'll be gold
Avatar
oop i didnt know u were joking x-x
Avatar
he could allow it
Avatar
The notices in the files are probably legally parts of the license, removing it is probably thus against the license in license.txt
Avatar
but they're only part of the teeworld license
Avatar
Avatar
Learath2
Something funky, one of those half proprietary licenses so we can charge server hosters
add cheat = violation into the license while we are at it
Avatar
Magnus Auvinen can give you whatever license to the source code that he likes
Avatar
Avatar
Learath2
The notices in the files are probably legally parts of the license, removing it is probably thus against the license in license.txt
i dont think they are, they are only in reference to it
Avatar
no they are
Avatar
Avatar
Tater
Magnus Auvinen can give you whatever license to the source code that he likes
Does he even own a copyright to all the modifications done over the years so he can grant us a license?
Avatar
Avatar
Learath2
Does he even own a copyright to all the modifications done over the years so he can grant us a license?
no but the base is the part which is (should be) referenced by the header
Avatar
Avatar
Learath2
Does he even own a copyright to all the modifications done over the years so he can grant us a license?
then does he own the right to protect his name from being incorrectly used in a malicious software (edited)
10:31
not that we are malicious tho
Avatar
"ddnet rm -rfed my home dir" (edited)
Avatar
This is all very complicated. It’s probably why we never bothered to tidy it up over the last decade
Avatar
that i do agree
10:32
this whole convo is basically the reason why it was left as-is.
Avatar
I think the only thing we settled was that new files with no teeworlds code don’t need the notice
👍 1
Avatar
when you give code to a github repo, unless otherwise specified its probably under the assumption that it is atleast under the same liscence (which is hwy people are angry when you change the liscence), not having the header is "otherwise" even if only by a bit
Avatar
but i still believe if matricks give us a ok then we can just remove them. because i don't believe any contributor owns that part of the comment.
👍 1
Avatar
anyone have his phone #
Avatar
Avatar
Learath2
Does he even own a copyright to all the modifications done over the years so he can grant us a license?
look at it like this. The license header in all the files only applies to the code in that file which was written by the person who created the license, you can license parts of a file under different licences so if we carefully removed all the orignal teeworlds code lines then we could remove those headers or if the owner of the code that was in those files when the license was first there says its ok.
Avatar
@matricks show up again please
Avatar
Avatar
Tater
look at it like this. The license header in all the files only applies to the code in that file which was written by the person who created the license, you can license parts of a file under different licences so if we carefully removed all the orignal teeworlds code lines then we could remove those headers or if the owner of the code that was in those files when the license was first there says its ok.
nameplates.cpp was completley rewritten (i literally ctrl-a del'ed it twice) but that doesnt mean it isnt based of original teeworlds code, its just a tiny bit and i think thats enough to make the argument (edited)
Avatar
you can remove it then
10:35
we can also remove it from any file we created after forking teeworlds
Avatar
why am i playing devils advocat i want to remove them x-x
Avatar
Avatar
Tater
we can also remove it from any file we created after forking teeworlds
thats akin to changing liscence if the header constitutes part of the liscence
Avatar
Avatar
Tater
we can also remove it from any file we created after forking teeworlds
We already shouldn’t have those
Avatar
i mean creating a file doesn't exactly means it wasn't teeworlds' code. is math.c and math.cpp the same file?
10:36
cuz we've done that
Avatar
Avatar
TsPiggy
i mean creating a file doesn't exactly means it wasn't teeworlds' code. is math.c and math.cpp the same file?
If it contains teeworlds code we probably kept the notice
Avatar
Avatar
Learath2
We already shouldn’t have those
I don't think we are very careful about it, skins7.cpp and skins7.h have it
Avatar
but we did created a new file are "reworte" them in cpp kekw
Avatar
Hello. Tryin' to set up remote MariaDB server with SSL certificate installed (by domain) All i get: 2025-02-23 10:31:45 I sql: failed connecting to db: (real_connect:mysql:3159): Connections using insecure transport are prohibited while --require_secure_transport=ON. 2025-02-23 10:31:45 I assert: /tw/sources/src/game/server/instagib/sql_stats.cpp(1005): CreateTableThread failed to write What should I do? Does DDNet support MariaDB with SSL?
Avatar
"Connections using insecure transport are prohibited while --require_secure_transport=ON."
Avatar
Avatar
Tater
I don't think we are very careful about it, skins7.cpp and skins7.h have it
Whoever made those files may have yoinked code from 0.7 directly
Avatar
Avatar
Solly
"Connections using insecure transport are prohibited while --require_secure_transport=ON."
yes, i see but I NEED SSL due to using remote MariaDB server.
Avatar
i think tater means we should not remove them since it was taken from 0.7 even tho it was created in ddnet
Avatar
Avatar
ninekeem
yes, i see but I NEED SSL due to using remote MariaDB server.
apparently the server isnt secure
Avatar
it secure (edited)
Avatar
try --require_secure_transport=OFF (im not susre where you put this)
Avatar
that's insecure
Avatar
but i need ssl between ddnet server and mariadb server
Avatar
Avatar
TsPiggy
that's insecure
the error is that it is, if it works when adding this, then the problem is its not using ssl for some reason
Avatar
Avatar
TsPiggy
i think tater means we should not remove them since it was taken from 0.7 even tho it was created in ddnet
it depends, I'm not really convinced that the file needs it. copywrite only applies to the written code itself not the functionality of the code (edited)
Avatar
i know what error means my answer is what can I do
Avatar
let me check our transport code, one sec
Avatar
disable SSL is not an option
Avatar
We probably do not support SSL with mysql
Avatar
uh oh
Avatar
ye i think we just didn't
Avatar
so how ddnet works with remote db?
Avatar
it doesn't
Avatar
but how? replications?
Avatar
only admin knows. so @Learath2 enlight us
Avatar
i think if ddnet doesn't support ssl for db I should now work with WireGuard on something…
10:43
nyeh…
Avatar
I don’t really remember how its set up tbh, perhaps there is a way to coerce it to use ssl
Avatar
wtf, my game just crashes after joining a server
10:44
sometimes it just happens
Avatar
Avatar
Learath2
I don’t really remember how its set up tbh, perhaps there is a way to coerce it to use ssl
should i submit an idea somewhere?
Avatar
Avatar
pilonpl
wtf, my game just crashes after joining a server
report it?
Avatar
I guess you could create an issue, maybe someone else remembers. I’ll check after food
Avatar
Avatar
Learath2
I guess you could create an issue, maybe someone else remembers. I’ll check after food
okay thank you
Avatar
btw what's your config for the server. (without leaking credentials ofc)
Avatar
Avatar
TsPiggy
btw what's your config for the server. (without leaking credentials ofc)
sv_use_sql 1 add_sqlserver r "ddnet-insta" record "ddnet-insta" "<password>" "db.teefusion.net" "3306" 1 add_sqlserver w "ddnet-insta" record "ddnet-insta" "<password>" "db.teefusion.net" "3306" 1
10:48
domain is properly set up IP doesn't work too
10:49
our other mode 0xf doesn't work too with same errors (edited)
Avatar
it looks like there is no way to somehow enable TLS without directly enabling it in code. it needs to trust a cret too if i'm reading the doc correctly so we need to pass that as well as enabling the mysql_options (edited)
Avatar
why is the heart icon MAYBE_UNUSED static const char *FONT_ICON_HEART = "\xEF\x80\x84"; that?
10:54
(private use apparently)
Avatar
font-awesome
Avatar
why not use one of the many hearts
Avatar
the FONT_ICON is specifically font-awesome
10:55
you can just use regular heart if you want in your code
Avatar
right okay
Avatar
maybe for the look consistency tho
Avatar
if you change the normal font it will break consistency if everywhere else uses font awesome icon
Avatar
although i think font-awesome icons can only be used one way with a button iirc
10:57
i don't think we do font fallback to fontawesome, the font has to be manually set while drawing the text i think
👍 1
Avatar
Avatar
TsPiggy
it looks like there is no way to somehow enable TLS without directly enabling it in code. it needs to trust a cret too if i'm reading the doc correctly so we need to pass that as well as enabling the mysql_options (edited)
so I gonna write issue
❤️ 1
Avatar
yes please do
10:58
why am i even here again?
10:58
i was playing video game moments ago
Avatar
thank ya all gonna set it now with WireGuard
Avatar
the game just segfaults
11:00
the steam version segfaults and the version compiled by me also segfaults
Avatar
MilkeeyCat 2025-02-23 11:00
run it using gdb
Avatar
Thread 43 "DDNet" received signal SIGSEGV, Segmentation fault.
11:03
do i need to compile it in some specific way to get more information?
Avatar
MilkeeyCat 2025-02-23 11:03
type bt
Avatar
i should actually also update my system
Avatar
MilkeeyCat 2025-02-23 11:03
you better use -DCMAKE_BUILD_TYPE=Debug cmake flag to get better info
Avatar
it should be the default tho
11:05
okay
11:05
actually there might be something wrong with my system
Avatar
ive been messing with quad contaienrs for ages trying to get it to not break for unknown reasons
11:11
when i could just draw the rect myself, theres no reason for me to upload it
Avatar
GitHub BOT 2025-02-23 11:14
I tried to set up DDNet-based server with remote MariaDB server, so i set up MariaDB server with SSL. I got this errors: 2025-02-23 10:31:45 I sql: failed connecting to db: (real_connect:mysql:3159): Connections using insecure transport are prohibited while --require_secure_transport=ON. I am absolutely sure i set up MariaDB and DDNet properly. DDNet config: ``` sv_use_sql 1 add_sqlserver r "ddnet-insta" record "ddnet-insta" "" "db.teefusion.net" "3306" 1 add_sqlserver w "ddnet-insta...
Avatar
ah, it's already here (edited)
11:33
beutiful
11:33
except its not centered
11:33
):<
Avatar
tetris
Avatar
GitHub BOT 2025-02-23 11:35
0c7b987 Add language credits in English as a placeholder - furo321 9537e96 Fix dutch translation credits - def- 72c3d0b Add spectator count to HUD - KebsCS f76573a Add 128 player support to the client - heinrich5991 90ac3b6 Update romanian.txt - Sans3108 ef4112d Fix grammar - Sans3108 2a63bca Update dutch.txt - realurg 698b9cc Update Russian translations for 19.0 - furo321 b51729e Update Swedish translations for 19.0 - furo321 2b43ab3 Update Chinese translations for 19.0 - Pioooooo 701343c Update spanish.txt for 19.0 - n0Ketchp 67efab8 Update Turkish translations for 19.0 - GokturkTalha 7b52312 Update Azerbaijani translations for 19.0 - GokturkTalha 73a3831 Update Azerbaijani translations for 19.0 - GokturkTalha 6aee3dd Update brazilian_portuguese.txt - rffontenelle bb241e9 slinack is Isadora nick - rffontenelle ec22711 Fix DDNetSpectatorInfo unpack error - KebsCS b424609 Add delay to spectator count and exclude afk players - KebsCS e36fff3 Fix editor weapon shield preview for custom entities - KebsCS 67d4809 Address /unpractice review comments - KebsCS 6afef64 Update Korean translations by CHaBek - cwh7435 a282dc4 Fix order - def- 459c58c Fix wrong max team size - KebsCS 0e7ca0d Use NUM_DDRACE_TEAMS instead - def-
11:36
thanks Ryomou Hentai Girl for your work
11:38
for the "doesnt change physics" it would be cool if the ci could perform a tas or like trackmania you can "check" demos to see if they make sense (edited)
Avatar
GitHub BOT 2025-02-23 11:40
IANAL, maybe it's better to keep? Alternative to #9745 CC @SollyBunny

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...
Avatar
wow, rc5
Avatar
CI already checks some parts of the physics with integration_test.sh. It's not fully covering, but some basic checks at least.
👍 1
Avatar
Why do I get "out of memory"? Can someone please advise? bool CSqliteConnection::AddDeaths(const char *pPlayer, int Deaths, char *pError, int ErrorSize) { char aBuf[512]; str_format(aBuf, sizeof(aBuf), "INSERT INTO %s_stats(Name, Deaths) " "VALUES (?, ?) " "ON CONFLICT(Name) DO UPDATE SET Deaths=Deaths+?", GetPrefix()); if (PrepareStatement(aBuf, pError, ErrorSize)) { dbg_msg("system", "%s", pError); return false; } BindString(1, pPlayer); BindInt(2, Deaths); BindInt(3, Deaths); bool End; return Step(&End, pError, ErrorSize); }
Avatar
who administrates the tw discord ?
11:53
there's a nsfw discord post in there
Avatar
Avatar
Chairn
who administrates the tw discord ?
You can ping Dune or heinrich for that
Avatar
Avatar
-Cosgerms
Why do I get "out of memory"? Can someone please advise? bool CSqliteConnection::AddDeaths(const char *pPlayer, int Deaths, char *pError, int ErrorSize) { char aBuf[512]; str_format(aBuf, sizeof(aBuf), "INSERT INTO %s_stats(Name, Deaths) " "VALUES (?, ?) " "ON CONFLICT(Name) DO UPDATE SET Deaths=Deaths+?", GetPrefix()); if (PrepareStatement(aBuf, pError, ErrorSize)) { dbg_msg("system", "%s", pError); return false; } BindString(1, pPlayer); BindInt(2, Deaths); BindInt(3, Deaths); bool End; return Step(&End, pError, ErrorSize); }
does preparestatement need to be freed?
11:57
out of memory is probably due to accidently having a huge query or memory leak
11:57
use valgrind for the latter
Avatar
Avatar
Solly
does preparestatement need to be freed?
I don't know. This is my first time working with databases on ddnet, I just changed the points for deaths and create new table, but I got an error
Avatar
i dont know anything about this, but try valgrind to see if u have a memory leak
Avatar
@-Cosgerms if PrepareStatement is true. The function should return true instead of false. You seem to have copied the AddPoints function, but changed that for some reason.
Avatar
Avatar
furo
@-Cosgerms if PrepareStatement is true. The function should return true instead of false. You seem to have copied the AddPoints function, but changed that for some reason.
Yes. Perhaps this is because I wanted to solve this using chatgpt. Overall I'm not surprised)
Avatar
Avatar
-Cosgerms
Yes. Perhaps this is because I wanted to solve this using chatgpt. Overall I'm not surprised)
But the error remained. 2025-02-23 14:01:55 I system: out of memory
Avatar
Something wrong with your sqlite database, I guess. Try removing it or try searching for "sqlite out of memory error"
Avatar
GitHub BOT 2025-02-23 12:13
ee78254 Fix wrong max team size - KebsCS d7233c7 Use NUM_DDRACE_TEAMS instead - def- bb8f74f Merge pull request #9743 from KebsCS/pr-fix-max-team-size - def-
Avatar
Avatar
furo
Something wrong with your sqlite database, I guess. Try removing it or try searching for "sqlite out of memory error"
I deleted it, started the server, it was created, but the error did not go away. Maybe there's a problem with the creation? void IDbConnection::FormatCreateStats(char *aBuf, unsigned int BufferSize) const { str_format(aBuf, BufferSize, "CREATE TABLE IF NOT EXISTS %s_stats (" " Name VARCHAR(%d) COLLATE %s NOT NULL, " " Kills INT DEFAULT 0, " " Deaths INT DEFAULT 0, " " PRIMARY KEY (Name)" ")", GetPrefix(), MAX_NAME_LENGTH_SQL, BinaryCollate()); }
Avatar
Avatar
-Cosgerms
I deleted it, started the server, it was created, but the error did not go away. Maybe there's a problem with the creation? void IDbConnection::FormatCreateStats(char *aBuf, unsigned int BufferSize) const { str_format(aBuf, BufferSize, "CREATE TABLE IF NOT EXISTS %s_stats (" " Name VARCHAR(%d) COLLATE %s NOT NULL, " " Kills INT DEFAULT 0, " " Deaths INT DEFAULT 0, " " PRIMARY KEY (Name)" ")", GetPrefix(), MAX_NAME_LENGTH_SQL, BinaryCollate()); }
Could the problem be where I'm using this function? Although the error occurs inside the function itself
Avatar
Yes, it would kinda matter. It should be done like it's done in other parts of the code. I made something similar a few weeks ago which is pretty much identical to what you are trying to do. See the SaveStats function, https://github.com/furo321/ddnet-bombtag/commit/8e909528a40fa2473ceecbc9192d15236c6bcfcc
Avatar
Avatar
furo
Yes, it would kinda matter. It should be done like it's done in other parts of the code. I made something similar a few weeks ago which is pretty much identical to what you are trying to do. See the SaveStats function, https://github.com/furo321/ddnet-bombtag/commit/8e909528a40fa2473ceecbc9192d15236c6bcfcc
Why did I go into these databases... Everything is so complicated. But thanks, I'll try to do something the same
12:41
justatest
12:44
Furo, in general, I just wanted to add some lines of code to the Die() function to add Deaths, but you did a lot more) if (m_pPlayer && GameServer()->m_pConnection) { dbg_msg("system", "I ADD STATS"); if (char Error[512]; !GameServer()->m_pConnection->AddDeaths(Server()->ClientName(m_pPlayer->GetCid()), 1, Error, sizeof(Error))) { dbg_msg("system", "Error adding deaths: %s", Error); } } else { dbg_msg("system", "I DON`T ADD STATS"); }
Avatar
Here we go again. My servers’ maps and mods are being copied, lol. Is there anything I can do about it? I don’t have a problem with them modifying it, I have a problem with them claiming they made it.
12:47
And I have a suspicion that those exact people are DDoSing my servers.
Avatar
@-Cosgerms IGameServer doesn't have a m_pConnection variable. If you do it like this, you will be calling the SQL in the same thread as the server. Which means you will be effectively halting your entire server waiting for the SQL response.
Avatar
Avatar
furo
@-Cosgerms IGameServer doesn't have a m_pConnection variable. If you do it like this, you will be calling the SQL in the same thread as the server. Which means you will be effectively halting your entire server waiting for the SQL response.
I add it
Avatar
Avatar
-Cosgerms
I add it
std::unique_ptr<IDbConnection> m_pConnection; (edited)
Avatar
Avatar
furo
@-Cosgerms IGameServer doesn't have a m_pConnection variable. If you do it like this, you will be calling the SQL in the same thread as the server. Which means you will be effectively halting your entire server waiting for the SQL response.
Understood. So I made a stupid mistake?
12:54
nouis
Avatar
It won't be properly initialized if you do that. Please see how it's done in other parts of the code or the commit I linked earlier.
Avatar
Avatar
gaypidor
Here we go again. My servers’ maps and mods are being copied, lol. Is there anything I can do about it? I don’t have a problem with them modifying it, I have a problem with them claiming they made it.
@deen or somebody from the upper echelon, please, take a look and advise.
12:57
It’s the second time I’m being copied.
Avatar
not much you can do - you can't keep maps private and people copying your mod code is just something that can happen
Avatar
Avatar
gaypidor
@deen or somebody from the upper echelon, please, take a look and advise.
I don't know what server you have, can you send the name and ips of your and the fake server? Also, try talking to the owner of the other server first
Avatar
MilkeeyCat 2025-02-23 13:04
@Ryozuki i did register spilling
Avatar
Avatar
deen
I don't know what server you have, can you send the name and ips of your and the fake server? Also, try talking to the owner of the other server first
Yes, that’s what I’m trying to do at this moment. My servers are currently down, they are being DDoSed if it matters. Do I send it to you privately or just send it here?
Avatar
Avatar
furo
Something wrong with your sqlite database, I guess. Try removing it or try searching for "sqlite out of memory error"
Don't fix the error just remove the check
Avatar
GitHub BOT 2025-02-23 13:38
Closes #9704

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/#...
Avatar
chillerdragon BOT 2025-02-23 14:00
@-Cosgerms: what are you working on? Looks like you could save some time if you would use ddnet-insta. It already saves kills and deaths in the database out of the box.
Avatar
Avatar
gaypidor
Yes, that’s what I’m trying to do at this moment. My servers are currently down, they are being DDoSed if it matters. Do I send it to you privately or just send it here?
your choice
Avatar
Avatar
chillerdragon
@-Cosgerms: what are you working on? Looks like you could save some time if you would use ddnet-insta. It already saves kills and deaths in the database out of the box.
I would like to do something of my own. I've almost done as furo told me, there's still a little bit left. If something doesn’t work out for me, I’ll leave my idea (possibly)
14:02
kek
Avatar
chillerdragon BOT 2025-02-23 14:03
If you spend less time on solved problems you have more to build cool new ideas
Avatar
Avatar
deen
your choice
We may have come up with a solution with the owners, they agreed to put up my credentials. Sorry to bother so preemptively, it’s just that it happens the more often.
14:07
However, there is still a suspicion about them conducting DDoS-attacks on my servers for my player base to move to their servers. Many IPs come from the same region as their servers, however, service providers differ. If I somehow get the evidence that is really them, should I forward it to you?
Avatar
chillerdragon BOT 2025-02-23 14:08
Which servers do you host gaypidor?
Avatar
Avatar
gaypidor
However, there is still a suspicion about them conducting DDoS-attacks on my servers for my player base to move to their servers. Many IPs come from the same region as their servers, however, service providers differ. If I somehow get the evidence that is really them, should I forward it to you?
You should forward it directly to the police. It's a crime, nothing much we can do. I guess if you can beyond the shadow of doubt show that the people who host a server are ddosing yours we can masterban them, we've done it in the past
Avatar
GitHub BOT 2025-02-23 14:10
Closes #9725

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/#...
Avatar
Avatar
MilkeeyCat
@Ryozuki i did register spilling
nice
Avatar
Avatar
furo
It won't be properly initialized if you do that. Please see how it's done in other parts of the code or the commit I linked earlier.
FURO ITS WORK! THANK YOUUUU!!!!!!!!!!!!!!
Avatar
int victiim = m_pPlayer->GetCID(); GameServer()->m_apPlayers[victiim]->SetTeam(TEAM_SPECTATORS); at void CCharacter::DieSpikes(int pPlayerID, int spikes_flag) { my game crashing when this method is called(its fng sources) my actions: i shooting to dummy and put he to spikes and server crashing visual studio in debug mode build points to GameServer() Exception thrown: Read access violation. this was nullptr. maybe who knows how to fix this (edited)
14:31
int victiim = m_pPlayer->GetCID(); GameServer()->m_apPlayers[victiim]->SetTeam(TEAM_SPECTATORS); at void CCharacter::DieSpikes(int pPlayerID, int spikes_flag) { (edited)
💝 2
14:32
i tried replace [victiim] here to killer, and it works
Avatar
@-Cosgerms Nice to hear! :)
💝 2
Avatar
Avatar
furo
@-Cosgerms Nice to hear! :)
I asked melon, Kisao, TheNofis, Mʎɹ, and only you were able and agreed to help me. Melon wanted to help me, but he doesn't have time
14:39
owo
Avatar
GitHub BOT 2025-02-23 14:50
Reduces spam with modern clang. iirc heinrich once said he never wanted to fix the issue so lets silence it. I would also be cool with fixing it but the diff would be huge. ``` /home/chiller/Desktop/git/ddnet-insta/src/game/collision.cpp:995:18: error: '*' has higher precedence than '+'; add parentheses to explicitly specify the order of operations [readability-math-missing-parentheses,-warnings-as-errors] 995 | return m_pTiles[Ny * m_Width + Nx].m_Index; | ...
Avatar
GitHub BOT 2025-02-23 15:31
2d5ff0a Silence readability-math-missing-parentheses - ChillerDragon 460afd8 Merge pull request #9751 from ChillerDragon/pr_math_clang - Learath2
Avatar
GitHub BOT 2025-02-23 15:41
3bf08d9 Use HasExtendedDisplayInfo instead of HasExtendedData for spectator cursor - furo321 c047aee Merge pull request #9749 from furo321/spectator-cursor-old-ver - def-
Avatar
Avatar
GitHub
Click to see attachment 🖼️
That's so silly
16:11
If it's left to right no brackets required
Avatar
chillerdragon BOT 2025-02-23 16:40
Ok maffs genius solly
16:56
677adfd Fix player_default_eyes not working if cl_run_on_join ends with ; - furo321 68d9a1c Merge pull request #9750 from furo321/fix-ending-semi-eyes - def-
Avatar
Patiga!
18:43
I'm in bed and about to go to sleep but I really wanna ask if you can build the wasm-pack for map-inspect in twgpu master cuz I keep getting a "env" import that doesn't exist in the packaged js.
Avatar
Avatar
Learath2
does anyone remember of the top of their heads how I can figure out the end of a tick in a teehistorian file?
TickSkips (remember the +1) are definite ends of ticks. There are 3 types of chunks that can trigger "implicit" ticks. Those are PlayerDiff, PlayerNew and PlayerOld. The (lets call it) implicit_pid starts at None, and must be set to Some(pid) if you hit one of those chunks. If there was already a value an it is equal or higher, advance one tick. However, set implicit_pid to None, whenever you hit a TickSkip. (edited)
Avatar
Avatar
Patiga
TickSkips (remember the +1) are definite ends of ticks. There are 3 types of chunks that can trigger "implicit" ticks. Those are PlayerDiff, PlayerNew and PlayerOld. The (lets call it) implicit_pid starts at None, and must be set to Some(pid) if you hit one of those chunks. If there was already a value an it is equal or higher, advance one tick. However, set implicit_pid to None, whenever you hit a TickSkip. (edited)
Perfect, this is exactly how I ended up implementing it
Avatar
(source: I spend the last few months juggling teehistorians)
18:44
nice :)
Avatar
Googled a bit they says it is some external dependency that can't be resolved. I converted the wasm to wat and it was importing some inflate deflate
18:44
Annnd, Imma sleep
Avatar
good night!
Avatar
Avatar
Learath2
Perfect, this is exactly how I ended up implementing it
did a small correction: higher -> equal or higher, but you prob did that
Avatar
anyone know how to change the map in a demo? or any library for this sorta stuff?
Avatar
Koll Potato 2025-02-23 19:32
probably not an easy task but i believe you can accomplish it with libtw2_demo (written in rust btw)
Avatar
oh okay cool
19:35
the docs should be enough im just gonna do it in python xd
Avatar
Avatar
Patiga
(just for the sake of completeness, script with another license) keywords: demo change map replace file exchange
@louis here you go :)
Avatar
Koll Potato 2025-02-23 19:38
epic poggers2
heartw 1
Avatar
oh nice xd
Avatar
Koll Potato 2025-02-23 19:39
patiga the goat
Avatar
Avatar
nankudo
int victiim = m_pPlayer->GetCID(); GameServer()->m_apPlayers[victiim]->SetTeam(TEAM_SPECTATORS); at void CCharacter::DieSpikes(int pPlayerID, int spikes_flag) { (edited)
someone know how fix this
Avatar
help pls
20:05
😔
Avatar
he asked though
Avatar
@meloƞ @Robyt3 @Jupstar ✪ time for some politics ?????
Avatar
aw hell nah
20:08
im tilted already
Avatar
Hahahaha
20:08
Same
Avatar
Avatar
Chairn
he asked though
oh wtf that message did not load for me
Avatar
Avatar
nankudo
someone know how fix this
can u send the entire function
20:14
ur trying to access smth that doesnt exist so make sure you arent deleting or already changing state of the player before u set their team
20:14
stuff like that
Avatar
Avatar
fokkonaut
@meloƞ @Robyt3 @Jupstar ✪ time for some politics ?????
Jupstar ✪ 2025-02-23 20:14
bla bli blub blub blub bla i probably said more than most politicans ever did
think_bot 2
Avatar
did the nazi party win or nah
Avatar
afd leads?
20:24
wtf
Avatar
Avatar
fokkonaut
@meloƞ @Robyt3 @Jupstar ✪ time for some politics ?????
political: tune lock for 19.1
Avatar
they're 2nd after cdu (edited)
Avatar
Avatar
zhn
phew
wdym phew, its horrible kekw
kek 1
Avatar
is olaf sholtz so bad they vote for anything but not for spd
Avatar
pretty much - tho ofc they only just started counting
Avatar
it will be interesting
20:33
neverthelews
Avatar
Uhmm off topic mayhaps
20:48
There's a good video showing the AFD being stuck up hard right idiots who don't deserve any power
20:50
Main video topic is not a very important topic but shows AFD to just be scared of progressive things
Avatar
Avatar
louis
can u send the entire function
1.95 KB
Avatar
nice siski bro
f3 2
Avatar
Avatar
zhn
nice siski bro
oh ahahahahha, siski its boobs in russian
Avatar
i know druzhe
❤️ 1
Avatar
Avatar
zhn
i know druzhe
just my codestyle its shit, often I just hit the keyboard for the names ahahah (edited)
Avatar
GitHub BOT 2025-02-23 22:07
e9461dc refactor: replace expressions in indexes with variables - ZerolAcqua c70dcd9 Merge pull request #9742 from ZerolAcqua/allow-unused - Robyt3
Avatar
@heinrich5991
Avatar
chillerdragon BOT 2025-02-23 22:13
@fokkonaut: pinging Heinrich doesn’t work anymore
22:13
What’s the image about? Is that fddrace?
22:14
I had a few woopsies in ddnet-insta that got turned into fatal errors once 128 landed o.0
Avatar
Are you sending valid skin info for this client? Also, I thought the placeholder skin, which you are seeing there, should be rendered with a correct offset now. Or is that the 0.7 placeholder? (edited)
Avatar
no idea right now
22:21
I just quickly tried to adapt my mod to allow 128p clients correctly
22:21
havent investigated further right now, i thought it would be easier to get this done quickly
Avatar
david loves Jellycar Worlds 2025-02-23 22:59
where are the ghost stored?
Avatar
ghosts folder in the config directory
👋 1
23:02
They should have validation, so feel free to open issues if you find any crashes if you fuzz the format
23:04
Did you also enable UBSan when building? You can also discover undefined behavior with fuzzing, which should also be fixed
Avatar
david loves Jellycar Worlds 2025-02-23 23:05
no but i am using ASAN
23:05
but ill also do that then
Avatar
I have an idea about ghosts but idk if it's a good one, what if team races could save ghosts of all the players? But then again there's also demos so idk how useful this would be, aside from being able to compare your current run tho a ghost team run in game
Avatar
david loves Jellycar Worlds 2025-02-23 23:06
also where is the cmd arg for loading a map in the editor parsed
Avatar
Avatar
Sans
I have an idea about ghosts but idk if it's a good one, what if team races could save ghosts of all the players? But then again there's also demos so idk how useful this would be, aside from being able to compare your current run tho a ghost team run in game
Should work as long as the client always gets the player info. It's possible the players are too far away to be snapped, then the client couldn't record all ghosts
Avatar
Avatar
david loves Jellycar Worlds
also where is the cmd arg for loading a map in the editor parsed
Search for static bool UnknownArgumentCallback(const char *pCommand, void *pUser)
Avatar
Is there a way to allow the client to "see" everyone no matter the distance if playing in a team?
Avatar
Avatar
Sans
Is there a way to allow the client to "see" everyone no matter the distance if playing in a team?
Might already be the default to always see team players. Always showing everyone should be /showall
Avatar
david loves Jellycar Worlds 2025-02-23 23:09
looking at the ghosts code it looks like the ghosts need to be loaded from within a map
23:09
witch i mean makes sence
Avatar
everyone in the team* i meant, so that the client can save all the ghosts
Avatar
david loves Jellycar Worlds 2025-02-23 23:09
should i also fuzz the demo code?
Avatar
Avatar
david loves Jellycar Worlds
looking at the ghosts code it looks like the ghosts need to be loaded from within a map
You could host a local server and then play a ghost with the gplay command I think. Or modify the code slightly to make it possible (edited)
Avatar
Avatar
david loves Jellycar Worlds
should i also fuzz the demo code?
You could, but the map is usually embedded in demos so you end up fuzzing that mostly
Avatar
Avatar
Robyt3
You could host a local server and then play a ghost with the gplay command I think. Or modify the code slightly to make it possible (edited)
david loves Jellycar Worlds 2025-02-23 23:11
hmm mabey. but then i need to connect to a server making it was slower
Avatar
You could try limiting fuzzing only to snapshots
Avatar
david loves Jellycar Worlds 2025-02-23 23:13
wait demos dont requre connecting to a server right?
Avatar
ws-client BOT 2025-02-23 23:13
<ChillerDragon> @Avolicious
Avatar
david loves Jellycar Worlds 2025-02-23 23:14
also is there a way to speed up the demos playback?
23:14
and how do i even save a demo?
23:14
@Robyt3
Avatar
@Robyt3 I don't know which of the top left request review and the one in the pr summary i shouldve used but i've implemented the changes you requested on #9731 I suck at making pr's 😩
Avatar
The fps counter is really out of place, pushes down the kill feed/info messages, it changes very aggressively, and is too big. I&#39;ve changed that to have the fps display in the top left, mak...
Avatar
huh, neat
Avatar
Avatar
david loves Jellycar Worlds
also is there a way to speed up the demos playback?
i think up/down arrows on your keyboard
23:16
or if you're using the ui, the up and down chevron symbols
Avatar
david loves Jellycar Worlds 2025-02-23 23:19
where are the demos stored on linux?
Avatar
Avatar
Sans
@Robyt3 I don't know which of the top left request review and the one in the pr summary i shouldve used but i've implemented the changes you requested on #9731 I suck at making pr's 😩
I'll take a look tomorrow
👍 1
Avatar
Avatar
david loves Jellycar Worlds
where are the demos stored on linux?
demos folder
Avatar
david loves Jellycar Worlds 2025-02-23 23:21
wheres that?
Avatar
$configdir
Avatar
Avatar
Robyt3
$configdir

DDNet config directory:

On Windows: Old: %appdata%\Teeworlds New: %appdata%\DDNet On Linux: Old: ~/.teeworlds New: ~/.local/share/ddnet On macOS: Old: ~/Library/Application Support/Teeworlds New: ~/Library/Application Support/DDNet
Avatar
david loves Jellycar Worlds 2025-02-23 23:21
thanks
Avatar
You could also fuzz using the demo_extract_chat tool which doesn't use the map, or write a fuzzing test driver based on that
Avatar
david loves Jellycar Worlds 2025-02-23 23:22
wait what does the ~ in the path mean
Avatar
Also look into persistent mode fuzzing using a custom test driver, which would be a lot faster
Avatar
Avatar
david loves Jellycar Worlds
wait what does the ~ in the path mean
That should be your home folder
Avatar
david loves Jellycar Worlds 2025-02-23 23:22
ah ok
23:23
doesnt seem to work
23:24
im probs just missunderstanding what your saying completly tbh
Avatar
Avatar
Robyt3
Also look into persistent mode fuzzing using a custom test driver, which would be a lot faster
david loves Jellycar Worlds 2025-02-23 23:25
im gonna use deferd initilisason so shouldnt be that much faster
23:31
found it
23:31
its not in .teeworlds
23:31
its in .local/share/ddnet/demos
23:31
looks like thats outdated
Avatar
Avatar
david loves Jellycar Worlds
its in .local/share/ddnet/demos
$configdir
Avatar
Avatar
david loves Jellycar Worlds
its in .local/share/ddnet/demos

DDNet config directory:

On Windows: Old: %appdata%\Teeworlds New: %appdata%\DDNet On Linux: Old: ~/.teeworlds New: ~/.local/share/ddnet On macOS: Old: ~/Library/Application Support/Teeworlds New: ~/Library/Application Support/DDNet
Avatar
david loves Jellycar Worlds 2025-02-23 23:35
oh ok
23:36
i missed that new part lol
Avatar
Was the aim bug fixed, when in /pause on "old" servers?
23:37
the crosshairs rendered
Avatar
You mean #9704? If so yes.
Avatar
GitHub BOT 2025-02-23 23:47
Found by cyberFighter. I suspect this: https://github.com/ddnet/ddnet/pull/8375 On nightly, the bug is: On F-DDrace a player can have spawn weapons, so he receives a specific amounts of bullets per weapon. Now if that player collects a real weapon, e.g. of type grenade, of course it will jump to infinite ammo and the server will not send the current amount of ammo left, instead -1, and hide the ammo bar by using the GameinfoExFlag accordingly. As soon as the player collected the real weapo...
Exported 388 message(s)
Timezone: UTC+0