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 2020-08-12 00:00:00Z and 2020-08-13 00:00:00Z
Avatar
what if you haven’t played teworlds for a long time, then I went in and didn’t show the server ddrays
Avatar
@Rafael Fontenelle @Ryozuki the AUR ddnet/ddnet-git packages should depend on sqlite
Avatar
@Zwelf Could you take a look? *** Unable to load savegame: data corrupted Happens on every old save.
Avatar
@Zwelf Can you take a look? Seems like ranks got saved, but team ranks not.
09:02
a866c3e Fix team rank not updating after SQLite update - Zwelf c41826d Merge pull request #2560 from Zwelf/pr-fix-teamrank-not-updating - def-
Avatar
Zwelf: Hm, I guess I should look for all team ranks and create them manually now, right?
Avatar
[freenode] Zwelf BOT 2020-08-12 09:07:56Z
That would be nice. If you still have the logs, you can grep for the string "found team rank from same team" and update the times.
09:09
3e0e4bd Add SQLite as dependency in README - def- 4928d52 Merge #2557 - bors[bot]
Avatar
or alternatively go through the record_race and find things that look like team ranks but has no equivalent in record_teamrace?
Avatar
not trivial to write that though is it?
09:10
hm, I guess you can group by timestamp
Avatar
grepping the logs isn't trivial either, they get overwritten, might miss something
Avatar
[freenode] Zwelf BOT 2020-08-12 09:11:38Z
yes going through ranks would be good enough as well
Avatar
oh well, not so many ranks actually, can do it by hand. 11 for now
09:12
but servers will only restart slowly, so I'll have to monitor
09:13
we should have some test scenarios with sqlite to test the sql code
09:13
before with a real db it was annoying, with sqlite would be nicer to build
Avatar
(CI should also at least build mysql)
Avatar
yeah, but then you need to start a real mysql server etc
Avatar
If we can abstract out a "RaceManager" we could add a lot of tests
Avatar
yes, but without building with mysql we get build errors like the one you reported earlier
Avatar
sure, but build errors are not so bad
09:15
failing to save ranks is bad
Avatar
yes
Avatar
Zwelf: You're also not printing out the sql queries anymore, right?
09:19
Makes it hard to find out what the map even was, I liked seeing the SQL in there, would also have been easier to see the mistake then
Avatar
Our logs need some work, I think it's very noisy to be useful
Avatar
i prefer slightly too noisy
09:20
can still grep
Avatar
[freenode] Zwelf BOT 2020-08-12 09:20:09Z
With the prepared statements, there are only ? in the sql statement, so it isn't that useful anymore.
Avatar
@deen that's true
Avatar
Zwelf: Isn't there a way to print the prepared statement with the bound values?
Avatar
[freenode] Zwelf BOT 2020-08-12 09:21:59Z
Searched for it a bit, but didn't find a way to do this.
Avatar
is the game id printed to log somewhere?
Avatar
teehistorian name is printed
Avatar
ah, good enough
Avatar
(which contains the game id)
Avatar
but this is still quite some manual work collecting all this info instead of copy-pasting the sql from log
Avatar
the game id should also be in the (non-team) ranks btw
Avatar
@Zwelf Another one for you I guess: ID in record_teamrace contains weird characters when a team save is inserted for the first time: «[7SLÊ\nk+ vs previously: 912b616a-d1ae-11. Probably the ID shouldn't be a blob?
Avatar
It's mind boggling how shitty the documentation for the cpp connector is
Avatar
yeah, might as well skip using it and use straight C
Avatar
would drop a dependency \o/
Avatar
would also reduce windows problems with the cpp connector
Avatar
might also be easier with the nice abstraction now
Avatar
I wonder if there is a nice wrapper library that would let us use any sql implementation rather than just mysql
Avatar
Zwelf found one, but it was GPL
09:30
ed
Avatar
[freenode] Zwelf BOT 2020-08-12 09:31:56Z
I can't reproduce the /load problem locally and would like to compare Savestrings. Could you send me the output of SELECT Savegame FROM record_saves WHERE Map = "Just2Easy" AND Code = "gear verse shock";
Avatar
The C library does indeed look much better documented
Avatar
oh ye sqlite rly good for testing
09:54
it even has a memory db option
09:55
im also for removing cpp connector
Avatar
[freenode] Zwelf BOT 2020-08-12 10:03:32Z
Mh, copying mysql output doesn't seem to work well for tabs at the end of the line. Could you repeat the command and base64 encode the output: SELECT to_base64(Savegame) FROM record_saves WHERE Map = "Just2Easy" AND Code = "gear verse shock";
Avatar
done, same link
Avatar
[freenode] Zwelf BOT 2020-08-12 10:06:51Z
thanks
10:12
Hm, I can load this string locally. I have no idea yet why it fails to load on ger.ddnet.tw.
Avatar
locally with sqlite or mariadb?
10:14
different mariadb versions? different default encoding
10:15
I guess I can add some debug printing and try it on GER
Avatar
[freenode] Zwelf BOT 2020-08-12 10:16:47Z
Using mariadb (on ubuntu 20.04)
Avatar
Don't merge yet, since i don't know if this should be merged at all. (only for OpenGL3 commands rn) Might help with #2551, if the driver knows the error(e.g. texture incompleteness)...
Avatar
Zwelf: I tried dbg_msg("sql", aSaveString); and get a very cut off string: [2020-08-12 12:19:52][sql]: 2 1 1 0 deen 1 0 34 0 1 0 -1 0 1 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 P
10:23
And I have no idea where that P in the end comes from, that's not in the DB
Avatar
@deen you probably should have printed "%s", aSaveString to be sure
10:31
Though I doubt aSaveString contains %s unless someone saved with malicious intent 😛
Avatar
yeah, was my own save
Avatar
Where did you add the print?
Avatar
After the strcpy(pData->m_pResult->m_aMessage, "Unable to load savegame: data corrupted");
10:36
We have the exact same version of mysqlcppconnector, so I guess we have the same bug
10:36
have to compile my own mysqlcppconnector I guess, no newer one in Debian
10:37
Why didn't we get this before, didn't we use getString?
10:43
Confirmed, works
Avatar
ᶰ°Konͧsti 2020-08-12 10:58:09Z
Someone pls increase timeout protection on ger2
10:58
@deen
Avatar
4d020de Add mysqlcppconn workaround - def-
Avatar
nope, can't connect to it either
Avatar
ᶰ°Konͧsti 2020-08-12 11:10:28Z
give rcon, im on server
11:10
justatest
Avatar
@deen should we maybe whitelist master4 again?
Avatar
what do you mean @Learath2 ?
Avatar
I thought it was flooding with server ips, looks like randomly spoofed
Avatar
ah, sure. where did we get the ips?
11:52
there was this favorites file somewhere, wasn't therE?
Avatar
I think we just took all the servers ips
Avatar
yeah, but where from?
Avatar
hm, with the masters dead I actually am not sure 😄
11:54
i will add it to whitelist
11:54
lis2 packages?
Avatar
fw!!, bea2
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 11:55:28Z
pulic ddos mitigation discussion xd
Avatar
whatever, it's obvious
11:56
imagine being so much of a cuck that you do spoofed attacks on an old games masterserver
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 11:56:24Z
yes 0.6 is very old
11:56
imagine using master server without tokens
11:56
:p
Avatar
imagine being dimwitted enough to think 0.7 master servers are immune to spoofing attacks
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 11:57:01Z
:/
Avatar
We should have migrated to http masters
f3 1
11:58
Who cares if 0.7 follows us anyway? We can implement it and use it
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 11:59:04Z
sounds good
Avatar
recvmmsg doesn't use the same buffer as normal recv
12:01
pData points to the correct one in either case
Avatar
Did I do it right?
Avatar
nah you seem to have broken serverstatus too
12:01
oh wait
12:01
looks good actually
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 12:02:31Z
hm i hate coding :/
12:02
i give 100 euros to the person who ports ddnet client to 0.7
12:03
200 if its good and merged into ddnet/ddnet
Avatar
At 20e per hour that's only 5 hours of work
12:03
If it was only 5 hours of work I'd do it for free 😄
Avatar
then hurry up 😄
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 12:03:42Z
i got it connecting ^
Avatar
I don't like ports anyway
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 12:04:01Z
but merging with ddnet upstream becomes more annoying every time
Avatar
We should clean it up and do it right while going up to 0.7
Avatar
@Learath2 why is status not working?
Avatar
@deen it wasn't working for a second then it started working again
12:05
ChillerDragon: I actually should have all the tools you need to make ddnet client able to connect to 0.7 servers in place
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 12:05:31Z
wdym by tools?
12:05
that current ddnet6 code base is 7ish enough?
Avatar
The protocol is generated
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 12:06:20Z
yea i started working on my ddnet port before you did all the stuff and now i rage quitted the merge
12:06
anyways i dont get ur code
12:06
so much
Avatar
[quakenet] Learath2 BOT 2020-08-12 12:06:39Z
:(
Avatar
I cant build ddnet on windows
12:52
since the 0.7 layer got merged
Avatar
did you recreate your build folder? there were issues with cmake not finding python3
Avatar
python3 found, yes. folders all there, I use MSVS
Avatar
Then show error
Avatar
Not at home right now, but the error is something with the get_msgs and the generated maps I believe
12:53
something with compile.py i think
12:54
i will look for it later
Avatar
@Deleted User i thought arb debug was widely used and available tho
14:46
ARB means its accepted by the opengl commitee blabla
14:46
what u refer would be AMD_debug...
14:46
ARB = OpenGL Architecture Review Board
14:47
well it doesnt matter anymore
14:48
" Remove ARB suffixs to make the extension ready for OpenGL 4.3" well ofc they removed the suffix since they made it official in 4.3, before u have to use the extension :D
Avatar
yeah, thats what i meant 😄
Avatar
Isn't opengl rather dynamic? Can't we use some features iff the card supports recent enough gl?
Avatar
I need to code a backend that needs to interact with two databases, one with a set scheme another with a scheme I devise. Having trouble deciding which language to go with while coding it
Avatar
@Learath2 why i cant host my own public server? What problem?
Avatar
You can host your own public server, no problem
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:25:13Z
go with bash @Learath2
16:25
:p
Avatar
bash rest framework when?
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:25:51Z
its called curl
Avatar
ᶰ°Konͧsti 2020-08-12 16:27:04Z
@ZombieToad ur there?
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:27:14Z
REST server written in bash. Contribute to yurikoex/bash-rest-server development by creating an account on GitHub.
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:27:24Z
Little command line REST client that you can use in pipelines (bash or zsh). - micha/resty
Avatar
[quakenet] Learath2 BOT 2020-08-12 16:27:57Z
eh I'll go with php as always
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:28:16Z
u wont believe it but there is actually cool and useful stuff written in bash
16:28
Docker implemented in around 100 lines of bash. Contribute to p8952/bocker development by creating an account on GitHub.
16:28
Linux/OSX/FreeBSD resource monitor. Contribute to aristocratos/bashtop development by creating an account on GitHub.
Avatar
[quakenet] Learath2 BOT 2020-08-12 16:28:47Z
why wouldn't I believe it? I like bash
16:29
though it's only useful for a subset of problems, like all other languages
16:29
The guy who made bashtop seems to have noticed that too :D
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 16:29:35Z
well fair point
Avatar
use the language you hate, rocket.rs rust
16:33
greenthing
Avatar
I was thinking rust but the other db I need to interface with is mssql and rust doesn't seem to have any mature connectors for it
16:39
except for the odbc one but odbc is cancer
Avatar
I can't change the database implementation, it's very proprietary software doing very specific work
Avatar
mssql justatest
Avatar
Mssql has some great properties for enterprises
16:44
It has great query optimisation tools and most importantly it has enterprise level support
Avatar
booo booo
Avatar
Since hd skins etc are a thing now, this should be expanded. Let people choose in which quality they want to download the skin. Allow the Uploader to upload different images for one skin. Maybe add a min/max quality option for the pack, with a disclaimer towards potential long loading screens. Maybe this is also a good point to get some standard sizes? For example:
  • standard definition is 256x128
  • good definition 512x256 (x2)
  • high definition 1024x512 (x4)
f3 1
Avatar
You and I might care about open source, enterprises are old school, they like to have someone on the other end of the phone they can just yell at
Avatar
"enterprise level support"
16:46
i rly hate those words
Avatar
why? it's a service
Avatar
ryo and his bubble
Avatar
When you have very high uptime requirements you can't just open a github issue and wait until some developer takes a look at it
Avatar
@Learath2 thats why you hire some developers and invest o nthat project
16:47
and have ur own support
Avatar
ryo you need to live in the real world
Avatar
Sure, or you can pay someone else to rent the developers 😄
Avatar
i see lot of companies sponsoring projects nowadays
16:48
but how is postgresql worse than that?
16:48
and mariadb?
Avatar
can't pay postgresql to provide me 1 hour response times
Avatar
pay a 3rd party
Avatar
mariadb has the worst response times to bugs, remember those guys that found 50 bugs in it with a fuzzer and only one was fixed so they stopped responding?
16:50
@Ryozuki you could, or you could use Oracle or MSSQL both of which are already very stable and there are people on the other side of the phone you can yell at until it's fixed
16:50
and they usually sign a SLA with you, so you can sue them for extra uptime
16:50
i dont like them
Avatar
downtime*
Avatar
but i guess
16:50
i know whatu mean
16:51
u can still pay someone to make a patch tho
16:51
and apply fast in ur fork
16:51
u just want to be able to sue someone
Avatar
@Ryozuki IBM makes an interesting compromise. OpenJ9 is completely open source, yet you can pay for enterprise support directly to IBM
16:52
But what if that someone can't figure it out?
Avatar
EDB provides best in class database management software and wide-range services with 24x7 support to get more from PostgreSQL. EDB offers secure, scalable, advanced and enterprise-class PostgreSQL solutions.
16:52
16:52
big companies
Avatar
In this case I'm working with integration with an ERP software, 5 hours of downtime on that would cost the company in the order of thousands
Avatar
thats what i meant
16:52
u hire a 3rd party xd
Avatar
Yeah, this kind of support is also okay, as long as they are willing to sign a SLA
16:53
These guys provide "enterprise level support" on a product that's not their own
Avatar
but can make their own
16:53
since its open source
Avatar
Either is fine imho
Avatar
EDB Postgres Advanced Server enhances PostgreSQL with enterprise features such as security, management tools, performance diagnostics, schema migrations, pL/SQL, and more, which makes it the best choice to migrate from Oracle.
16:54
i bet they use their own fork
Avatar
I wonder if they contribute upstream
Avatar
would be cool
Avatar
This is the only reason I tolerate GPL, it forces giants to contribute to projects they make money off of
Avatar
does mssql even work on linux
16:56
ye
16:56
AGPL even best
Avatar
Yep, microsoft released a linux version recently
16:56
I wouldn't license anything I make under GPL though
Avatar
I'm more of a BSD/MIT person
Avatar
but MIT doesn't enforce freedom
16:56
gpl does
Avatar
If I think I can make money off of it, I won't release it open source
Avatar
then why would u use mit
Avatar
Because I don't think I'd make money off of the projects I do put out there
16:57
so might aswell license them MIT or BSD
Avatar
open-source doesn't meen free as in libre anyway
16:57
microsoft took advantage of it
16:58
why not license them GPL
Avatar
GPL is infectious, I don't want to restrict anyone wanting to use the things I made
Avatar
i do, i want to restrict people to use free software
Avatar
I guess if I made something that an enterprise could want I could consider LGPL
Avatar
ryo is selfish and in a bubble
Avatar
selfish?
Avatar
i would say im way less selfish
Avatar
How is it selfish to want everything to be free?
16:59
It's kinda idealist but not selfish
Avatar
ye its idealist
Avatar
he wants everyone to use his license
troll 1
Avatar
Eh, at the end of the day it's the person making the software deciding the license
17:00
Everyone is free to advertise their opinion 😛
Avatar
ye its not like ur in debt
17:00
to someone
17:00
well
17:00
if u code ddnet ur in debt of konsti
17:00
and has to do whathever he says
17:00
justatest
17:01
has/have
17:01
cool logo
17:01
17:02
looks better with white bg
Avatar
AGPL is the one with the patched loophole for service providers, right?
Avatar
if u provide a network service
17:02
better license it with agpl
17:03
since moststuff is network nowadays
17:03
i use it
17:03
The Free Software Foundation has recommended that the GNU AGPLv3 be considered for any software that will commonly be run over a network
17:03
> >
The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.
>
The purpose of the GNU Affero GPL is to prevent a problem that affects developers of free programs that are often used on servers.
17:05
Signal is under agpl :o
Avatar
GPL is a bit too left imho, forcing everyone that even use the library to release source is just too much
17:06
I'd probably only use LGPL
17:08
@Learath2 have u used nixos?
17:09
i gotta try it someday
Avatar
nix sounds like an interesting approach to dependencies, I could give it a try
Avatar
https://docs.rs/ is such a cool website, it generates c
17:12
docs for any package u upload
17:12
(rust)
Avatar
Rafael Fontenelle 2020-08-12 17:14:05Z
https://ddnet.tw timing out for me. nslookup for 1.1.1.1 and 8.8.8.8 return no IP.
Avatar
https://blog.mozilla.org/blog/2020/08/11/changing-world-changing-mozilla/ Sad, mozilla fired 250 ppl (covid i guess) and it affected rust projects such as servo (edited)
This is a time of change for the internet and for Mozilla. From combatting a lethal virus and battling systemic racism to protecting individual privacy — one thing is clear: ...
17:17
doesnt load fo me either
Avatar
ddnet.tw got null-routed...
17:18
it should go away in 2 hours or so
17:18
stupid ddosers......
Avatar
Rafael Fontenelle 2020-08-12 17:18:37Z
What the heck.
Avatar
@Rafael Fontenelle i think you did the nslookup wrong. dig ddnet.tw works for me, but server is nullrouted
👍 1
Avatar
@Zwelf Might be related to your changes? on South Africa server I noticed that it can't read any ranks, but only ddnet.tw is down, two other sql servers are up and running and should be connected to, but the server doesn't even try them.
Avatar
@Ryozuki I don't believe Covid affects Mozilla that much honestly. Mozilla's business model is just a bit weird, since they take in most of their money from Google for the default search, but that could dry up at any time.
Avatar
Rafael Fontenelle 2020-08-12 17:43:22Z
Indeed, my nslookup-fu probably failed. I re-did it (correctly) and it works.
Avatar
does anyone have this? a forum said it was developed around the same time with teewars but all links are dead of course
troll 1
feelsamazingman 2
Avatar
[quakenet] ChillerDragon BOT 2020-08-12 18:14:02Z
omg accounts xd
18:28
kek
Avatar
I'm going to use tw_api.py to search online server and players. I tried to add 'b' before the const strings in line 16 to 20, replacing all xrange to range and add parentheses after print. But the socket always time out. Could you please help me? ```python from socket import * import struct import sys import threading import time NUM_MASTERSERVERS = 4 MASTERSERVER_PORT = 8300 TIMEOUT = 2 SERVERTYPE_NORMAL = 0 SERVERTYPE_LEGACY = 1 PACKET_GETLIST = b"\x20\x00\x00\x00...
Avatar
is there a config variable to disable it?
Avatar
Just update the client? 🤡
troll 1
Avatar
@nori i don't think so
Avatar
compile ur client without autoupdater
Avatar
that is without autoupdater already
Avatar
@deen I guess google's funding is unlikely to dry up, since they'd become a monopoly in browsers if mozilla would go away
Avatar
why wouldnt google want to be monopoly
Avatar
@Zwelf want to take it or should I? Traceback (most recent call last): File "scripts/move_sqlite.py", line 90, in main() File "scripts/move_sqlite.py", line 60, in main num_ranks = sqlite_num_transfer(conn, 'record_race') File "scripts/move_sqlite.py", line 22, in sqlite_num_transfer c.execute('SELECT COUNT(*) FROM {}'.format(table)) sqlite3.OperationalError: no such table: record_race
Avatar
"Google is willing to spend that kind of money just to keep Microsoft from starting a partnership with Mozilla."
20:50
i wonder if its true
Avatar
Definitely outdated, especially with Edge being Chromium-based now
Avatar
google pays firefox to have google as default search engine
20:51
well monopoly is always bad, but i wonder if a company cares about that
Avatar
google being this strong is extremely dangerous
Avatar
let yandex get search foundings' place
Avatar
they know a whole lot about you, and they are not regulated at all
Avatar
i know
20:52
i just dont know why they fund mozilla
Avatar
I would bet big money that they are manipulating search results to influence public thinking
justatest 1
Avatar
their own competitor
20:53
in the browser sector
Avatar
7d59cbc Add mariadb-client as dependency - def-
Avatar
More data for them if mozilla uses google as it's search engine
Avatar
in 2015
20:53
firefox switched to yahoo
20:53
70% of users
Avatar
I don't think monopolies are always bad, for public infrastructure like railways, water, electricity you want monopolies instead of having 5 different water lines to your house from competing companies
Avatar
went back to google search
20:53
i wonder if its worth for them to do this
Avatar
Oh definitely, utilities should be a government monopoly
20:54
public services should be monpolied by local goverment
Avatar
look at the mess of privatized utilities in countries like italy or britain
Avatar
USA hospitals
20:54
they charge 5k for a ambulance
Avatar
4 different electricity providers I can choose from all trying to screw you over in different ways
20:55
but achieving this monopoly is hard
20:55
cuz companies lure goverment
20:55
with lot of money
20:55
and in crisis its esier
20:55
easier
Avatar
I wonder when there will be a monopoly buster against amazon
20:57
it's absolutely horrible for small business
Avatar
there wont be probs
Avatar
since it won't add up to anything anyway. Hopefully doesn't break any physics.
Avatar
Good that I looked over the script again. Additionally fixed that the script tell the user to delete too much after finishing the transfer. To clarify: the backup database ddnet-server.sqlite shouldn't be deleted. Solves #2565
Avatar
9848b3c SQLite transfer script: Warn if database does not exist yet and handle partially created sqlite tables - Zwelf ca24611 Do not recommend to deleting ddnet-server.sqlite database - Zwelf f2cf70c Merge #2567 - bors[bot]
Avatar
Why my program parsing data from ur site so long (10 secs - 1 min) think_bot (edited)
Exported 358 message(s)