


1


















m_AutoSpecCameraZooming may not reset properly in some cases and zooming will cause cursor to use camera zoom when camera zoom does not match m_SpecInfo.m_Zoom since AUTO is off.






src/game/client/components/players.cpp (edited)






































1



























































1















cl_spec_auto_sync, please check the description on whether it is clear enough)
Adds a in-game menu button for toggling this feature (it toggles both ingame state and the config, only shown in spectator mode)




















overlays! final and pre





overlays! final and pre 


overlays! final and pre 




























2025-01-03 12:18:50 I assert: /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp(545): error getting float: NULL
Illegal instruction (core dumped)
hum ':) can someone pls explain me how can i resolve this ':)







2025-01-03 12:38:09 I chat: *** i am not finished in: 0 minute(s) 44.92 second(s)
2025-01-03 12:38:09 I sql: SQLite statement: INSERT OR IGNORE INTO record_race_backup( Map, Name, Timestamp, Time, Server, cp1, cp2, cp3, cp4, cp5, cp6, cp7, cp8, cp9, cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp17, cp18, cp19, cp20, cp21, cp22, cp23, cp24, cp25, GameId, DDNet7) VALUES ('CHILL', 'i am not', DATETIME('2025-01-03 12:38:09', 'utc'), 44.92, 'UNK', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 'b0f6875d-b2fd-498a-8f5d-13d40fd98632', 0)
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
2025-01-03 12:38:09 I mysql: connection established
2025-01-03 12:38:09 I assert: /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp(573): error getting int: NULL
Illegal instruction (core dumped)

2025-01-03 12:38:09 I chat: *** i am not finished in: 0 minute(s) 44.92 second(s)
2025-01-03 12:38:09 I sql: SQLite statement: INSERT OR IGNORE INTO record_race_backup( Map, Name, Timestamp, Time, Server, cp1, cp2, cp3, cp4, cp5, cp6, cp7, cp8, cp9, cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp17, cp18, cp19, cp20, cp21, cp22, cp23, cp24, cp25, GameId, DDNet7) VALUES ('CHILL', 'i am not', DATETIME('2025-01-03 12:38:09', 'utc'), 44.92, 'UNK', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 'b0f6875d-b2fd-498a-8f5d-13d40fd98632', 0)
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
2025-01-03 12:38:09 I mysql: connection established
2025-01-03 12:38:09 I assert: /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp(573): error getting int: NULL
Illegal instruction (core dumped) 




Thread 3 "DDNet-Server" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffefe006c0 (LWP 14702)]
0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
(gdb) bt
#0 0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#1 0x00007ffff782e16c in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#2 0x00007ffff782fe6f in mysql_stmt_fetch_column () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#3 0x00005555555891d3 in CMysqlConnection::IsNull (this=0x7fffe80015a0, Col=1) at /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp:513
#4 0x0000555555625f56 in CScoreWorker::LoadPlayerData (pSqlServer=0x7fffe80015a0, pGameData=0x555555dae360, pError=0x7fffefdff9b0 "unknown error",
ErrorSize=256) at /root/build/ddnet22/ddnet/src/game/server/scoreworker.cpp:241
#5 0x0000555555583315 in CDbConnectionPool::ExecSqlFunc (pConnection=0x7fffe80015a0, pData=0x555555dae0c0, w=NORMAL)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:460
#6 0x0000555555582815 in CWorker::ProcessQueries (this=0x5555559ff9b0) at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:320
#7 0x0000555555582559 in CWorker::Start (pUser=0x5555559ff9b0) at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:277
#8 0x00005555556d0857 in thread_run (user=0x555555a01a50) at /root/build/ddnet22/ddnet/src/base/system.cpp:820
#9 0x00007ffff6aa1e2e in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#10 0x00007ffff6b33a4c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) (edited)




#include "mod.h"
#define GAME_TYPE_NAME "GORES"
#define TEST_TYPE_NAME "TestGORES"
CGameControllerMod::CGameControllerMod(class CGameContext *pGameServer) :
IGameController(pGameServer)
{
m_pGameType = g_Config.m_SvTestingCommands ? TEST_TYPE_NAME : GAME_TYPE_NAME;
}
CGameControllerMod::~CGameControllerMod() = default;
void CGameControllerMod::Tick()
{
IGameController::Tick();
} (edited)







Thread 3 "DDNet-Server" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffefe006c0 (LWP 14702)]
0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
(gdb) bt
#0 0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#1 0x00007ffff782e16c in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#2 0x00007ffff782fe6f in mysql_stmt_fetch_column () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#3 0x00005555555891d3 in CMysqlConnection::IsNull (this=0x7fffe80015a0, Col=1) at /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp:513
#4 0x0000555555625f56 in CScoreWorker::LoadPlayerData (pSqlServer=0x7fffe80015a0, pGameData=0x555555dae360, pError=0x7fffefdff9b0 "unknown error",
ErrorSize=256) at /root/build/ddnet22/ddnet/src/game/server/scoreworker.cpp:241
#5 0x0000555555583315 in CDbConnectionPool::ExecSqlFunc (pConnection=0x7fffe80015a0, pData=0x555555dae0c0, w=NORMAL)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:460
#6 0x0000555555582815 in CWorker::ProcessQueries (this=0x5555559ff9b0) at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:320
#7 0x0000555555582559 in CWorker::Start (pUser=0x5555559ff9b0) at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:277
#8 0x00005555556d0857 in thread_run (user=0x555555a01a50) at /root/build/ddnet22/ddnet/src/base/system.cpp:820
#9 0x00007ffff6aa1e2e in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#10 0x00007ffff6b33a4c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) (edited)
2025-01-03 15:07:24 I console: executing 'autoexec_server.cfg'
2025-01-03 15:07:24 I server: Adding new SqlWriteServer: DB: 'ddnet_db' Prefix: 'record' User: 'ddnet' IP: <{66.118.245.125}> Port: 3306
2025-01-03 15:07:24 I server: Adding new SqlReadServer: DB: 'ddnet_db' Prefix: 'record' User: 'ddnet' IP: <{66.118.245.125}> Port: 3306
2025-01-03 15:07:24 I chatresp: No such command: sv_game_type.
2025-01-03 15:07:24 I console: executing 'config-votes/easy.cfg'
2025-01-03 15:07:24 I http: libcurl version 8.9.1 (compiled = 7.81.0)
2025-01-03 15:07:24 I server: server name is '|*TWL*| [Gores] Easy'
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
2025-01-03 15:07:24 I server: version 18.9 on linux amd64
2025-01-03 15:07:24 I sql: failed connecting to db: (real_connect:mysql:2003): Can't connect to MySQL server on '66.118.245.125:3306' (111)
2025-01-03 15:07:24 I sql: [3] load best time failed on all databases
new problem now


2025-01-03 15:50:05 I chat: *** i am not finished in: 0 minute(s) 52.18 second(s)
2025-01-03 15:50:05 I sql: SQLite statement: INSERT OR IGNORE INTO record_race_backup( Map, Name, Timestamp, Time, Server, cp1, cp2, cp3, cp4, cp5, cp6, cp7, cp8, cp9, cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp17, cp18, cp19, cp20, cp21, cp22, cp23, cp24, cp25, GameId, DDNet7) VALUES ('CHILL', 'i am not', DATETIME('2025-01-03 15:50:05', 'utc'), 52.18, 'UNK', 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, '05f4b048-ce7f-4e87-82e2-13f7e22bcb59', 0)
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
2025-01-03 15:50:05 I mysql: connection established
2025-01-03 15:50:05 I assert: /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp(573): error getting int: NULL
Illegal instruction (core dumped)
root@vps385544254:/home/ddnet/DDNet-18.8.2-linux_x86_64#













Thread 3 "DDNet-Server" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffefe006c0 (LWP 9981)]
0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
(gdb) bt
#0 0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#1 0x00007ffff782e16c in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#2 0x00007ffff782fe6f in mysql_stmt_fetch_column () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#3 0x00005555555891d3 in CMysqlConnection::IsNull (this=0x7fffe80015a0, Col=1)
at /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp:513
#4 0x0000555555625f56 in CScoreWorker::LoadPlayerData (pSqlServer=0x7fffe80015a0, pGameData=0x555555ec2e30,
pError=0x7fffefdff9b0 "unknown error", ErrorSize=256) at /root/build/ddnet22/ddnet/src/game/server/scoreworker.cpp:241
#5 0x0000555555583315 in CDbConnectionPool::ExecSqlFunc (pConnection=0x7fffe80015a0, pData=0x555555ec76f0, w=NORMAL)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:460
#6 0x0000555555582815 in CWorker::ProcessQueries (this=0x5555559ff9b0)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:320
#7 0x0000555555582559 in CWorker::Start (pUser=0x5555559ff9b0)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:277
#8 0x00005555556d0857 in thread_run (user=0x555555a01a50) at /root/build/ddnet22/ddnet/src/base/system.cpp:820
#9 0x00007ffff6aa1e2e in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#10 0x00007ffff6b33a4c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
INSERT OR IGNORE why is a mysql build using sqlite's statement
2025-01-03 16:23:11 I server: ClientId=0 rcon='dump_sqlservers w'
> dump_sqlservers w
2025-01-03 16:23:11 I server: MySQL-Write: DB: 'ddnet_db' Prefix: 'record' User: 'ddnet' IP: XXX Port: 3306
2025-01-03 16:23:11 I server: SQLite-WriteBackup: DB: '/root/.local/share/ddnet/ddnet-server.sqlite'
2025-01-03 16:23:13 I server: ClientId=0 rcon='dump_sqlservers w'
fishy






MACRO_CONFIG_INT(SvUseSql, sv_use_sql, 0, 0, 1, CFGFLAG_SERVER, "Enables MySQL backend instead of SQLite backend (sv_sqlite_file is still used as fallback write server when no MySQL server is reachable)")





























now i'm confused

CONF_WAVPACK_CLOSE_FILE is defined which depends on which wavpack version you have, I think (edited)


void CGameContext::OnConsoleInit() in src/game/server/gamecontext.cpp maybe?



Prefix in add_sqlserver s['r'|'w'] s[Database] s[Prefix] s[User] s[Password] s[IP] i[Port] ?i[SetUpDatabase ?]
record in record_race table name
mariadb -h 127.0.0.1 -u root -proot ddnet, but
add_sqlserver r ddnet record root 'root' 127.0.0.1 3306
add_sqlserver w ddnet record root 'root' 127.0.0.1 3306 1
doesn't work xd

mariadb -h 127.0.0.1 -u root -proot ddnet, but
add_sqlserver r ddnet record root 'root' 127.0.0.1 3306
add_sqlserver w ddnet record root 'root' 127.0.0.1 3306 1
doesn't work xd 
































but even then the server really shouldn't crash tho















Thread 3 "DDNet-Server" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffefe006c0 (LWP 9981)]
0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
(gdb) bt
#0 0x00007ffff78892d7 in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#1 0x00007ffff782e16c in ?? () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#2 0x00007ffff782fe6f in mysql_stmt_fetch_column () from /lib/x86_64-linux-gnu/libmysqlclient.so.21
#3 0x00005555555891d3 in CMysqlConnection::IsNull (this=0x7fffe80015a0, Col=1)
at /root/build/ddnet22/ddnet/src/engine/server/databases/mysql.cpp:513
#4 0x0000555555625f56 in CScoreWorker::LoadPlayerData (pSqlServer=0x7fffe80015a0, pGameData=0x555555ec2e30,
pError=0x7fffefdff9b0 "unknown error", ErrorSize=256) at /root/build/ddnet22/ddnet/src/game/server/scoreworker.cpp:241
#5 0x0000555555583315 in CDbConnectionPool::ExecSqlFunc (pConnection=0x7fffe80015a0, pData=0x555555ec76f0, w=NORMAL)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:460
#6 0x0000555555582815 in CWorker::ProcessQueries (this=0x5555559ff9b0)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:320
#7 0x0000555555582559 in CWorker::Start (pUser=0x5555559ff9b0)
at /root/build/ddnet22/ddnet/src/engine/server/databases/connection_pool.cpp:277
#8 0x00005555556d0857 in thread_run (user=0x555555a01a50) at /root/build/ddnet22/ddnet/src/base/system.cpp:820
#9 0x00007ffff6aa1e2e in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#10 0x00007ffff6b33a4c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 libmysqlclient and i don't have such a shared object, I have libmariadb instead

libmysqlclient and i don't have such a shared object, I have libmariadb instead 
ldd ./DDNet-Server in the same directory where your server executable is
root@vps385544254:/home/ddnet/DDNet-18.8.2-linux_x86_64# ldd ./DDNet-Server
linux-vdso.so.1 (0x000073eab162f000)
libmysqlclient.so.21 => /lib/x86_64-linux-gnu/libmysqlclient.so.21 (0x000073eab0800000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x000073eab0200000)
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x000073eab1548000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x000073eab0e8e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x000073eab152a000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000073eaafe00000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000073eab0113000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000073eab14fa000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000073eaafa00000)
/lib64/ld-linux-x86-64.so.2 (0x000073eab1631000)
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x000073eaafcfe000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x000073eab14e7000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x000073eaafc40000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x000073eab14b9000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x000073eab1497000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x000073eab1479000)
libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x000073eab07b7000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x000073eab1463000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x000073eab0762000)
libldap.so.2 => /lib/x86_64-linux-gnu/libldap.so.2 (0x000073eab00b4000)
liblber.so.2 => /lib/x86_64-linux-gnu/liblber.so.2 (0x000073eab00a4000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x000073eab0096000)
libunistring.so.5 => /lib/x86_64-linux-gnu/libunistring.so.5 (0x000073eaaf84e000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x000073eaaf600000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x000073eaaf804000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x000073eaaf5ab000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x000073eaaf525000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x000073eaaf45c000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x000073eaaf430000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x000073eab1459000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x000073eab0089000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x000073eaafc26000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x000073eaaf40d000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x000073eaaf268000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x000073eaaf252000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x000073eab0e87000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x000073eaaf246000)
root@vps385544254:/home/ddnet/DDNet-18.8.2-linux_x86_64# (edited)

libmysqlclient and i don't have such a shared object, I have libmariadb instead 







libmysqlclient-dev before?

libmariadbclient-dev library installed, which are also provided as bundled libraries for the common platforms. Default value is OFF.



libmariadbclient-dev library installed, which are also provided as bundled libraries for the common platforms. Default value is OFF.



libmariadb-dev

cmake .. -DMYSQL=ON -DPREFER_BUNDLED_LIBS=OFF and if it doesn't work, use cmake .. -DMYSQL=ON





.. after flags


-DCLIENT=OFF






ldd ./DDNet-Server | grep libmariadb









Nix as a package manager and development environment would allow me to provide a flake.nix and flake.lock file to pin needed dependencies such as rust, cargo, the needed toolchain, wasm and whatnot. to ensure this works on all systems running nix. ddnet has an other folder, what about adding that to the repo aswell? - that way we could ship things like workspaces (vim, vscode) and i could also put Nix related stuff in there.
this would also make packaging ddnet-rs for nixpkgs easier
(edited)

Nix as a package manager and development environment would allow me to provide a flake.nix and flake.lock file to pin needed dependencies such as rust, cargo, the needed toolchain, wasm and whatnot. to ensure this works on all systems running nix. ddnet has an other folder, what about adding that to the repo aswell? - that way we could ship things like workspaces (vim, vscode) and i could also put Nix related stuff in there.
this would also make packaging ddnet-rs for nixpkgs easier
(edited)
- so it's fine if i do that?







Step call and if we were unable to fetch the results it should have returned an error there