Commit graph

682 commits

Author SHA1 Message Date
def a8a2b41f3a Set skill level for Sixup (fixes #2334) 2020-06-23 22:47:29 +02:00
Learath f327e5bc42 Log join type 2020-06-23 18:30:57 +03:00
Learath 28905c4659 Disable timeout for 0.7 clients 2020-06-20 19:52:23 +03:00
Learath 6db72b2388 Times are no longer negative in 0.7 2020-06-20 11:59:46 +03:00
Learath 91c44f1808 Sixup needs it's own maps 2020-06-20 01:00:45 +03:00
bors[bot] 5b4227fbba
Merge #2283
2283: teehistorian: Track whether clients join via the 0.7 protocol r=Learath2 a=heinrich5991



Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-19 20:31:40 +00:00
heinrich5991 e294da41ba teehistorian: Track whether clients join via the 0.7 protocol 2020-06-19 22:06:39 +02:00
Learath da68923ac3 Implement a switch for 0.7 compatibility 2020-06-19 22:08:41 +03:00
Learath aeb7ea2971 Don't forget that the client is Sixup 2020-06-19 20:28:55 +03:00
Learath 70ecf785bb Compatible version filter 2020-06-19 20:28:55 +03:00
Learath 9f71478099 Get Rcon working 2020-06-19 20:28:55 +03:00
Learath 88ca573682 Serverinfo and Register support for 0.7
Co-authored-by: Tim Schumacher <tim@timakro.de>
2020-06-19 20:28:55 +03:00
Learath 9e2434c65d Better skin colors. Better game message translation 2020-06-19 20:28:55 +03:00
Learath 9dc1a0357a Get /spec working 2020-06-19 20:28:55 +03:00
Learath 03070d0567 Fix many issues 2020-06-19 20:28:52 +03:00
Learath 807c92f1a4 Generate the 0.7 protocol 2020-06-19 20:27:15 +03:00
Learath f7e9df7abf Move the rest of the translation to CServer 2020-06-19 20:27:15 +03:00
Learath b0e5a37fa9 Do message translation differently 2020-06-19 20:27:15 +03:00
Learath 5000b248bb Fix things 2020-06-19 20:27:15 +03:00
Tim Schumacher 442148a194 Begin work on 0.7 support 2020-06-19 20:27:15 +03:00
Zwelf f5ac6eea56 Fix segmentation fault when creating sql tables failed
`GameServer()->OnShutdown(true);` (which would wait on running threads to exit)
wasn't called if an error occured in the server init. Therefore `CServer` was
freed before the init-thread finished executing, causing a use after free from
`CSqlConnector::ms_ppSqlReadServers` pointing to `CServer->m_apSqlReadServers`.
2020-06-18 21:11:36 +02:00
Zwelf 62d56ca8e8 Make database init with create tables synchronous
Note: database init without creating tables behaves the same
2020-06-15 11:14:15 +02:00
bors[bot] 92fc95d742
Merge #2202
2202: Send DDNet version early in the connection process r=Learath2 a=heinrich5991

This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-27 17:49:31 +00:00
heinrich5991 f339fea748
Merge pull request #2139 from edg-l/pr_add_upnp
Add UPnP support
2020-05-24 22:23:20 +02:00
Edgar 3569e174f2
refactor upnp code 2020-05-24 11:36:43 +02:00
heinrich5991 0d7872c79e Send DDNet version early in the connection process
This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.
2020-05-22 17:58:41 +02:00
Learath 850e4e84e4 Reserve bytes for the type and token 2020-05-18 21:13:15 +03:00
heinrich5991 457c4db964 Some antibot fixes 2020-05-16 00:39:17 +02:00
Learath 5e02bb5a23 Extend antibot interface
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-13 23:39:40 +03:00
Ryozuki b647c1e978
Add UPnP support 2020-04-14 12:11:50 +02:00
bors[bot] 7a3ebd5948
Merge #2041
2041: Strip spaces in browser (server name) r=heinrich5991 a=ChillerDragon

before:
![image](https://user-images.githubusercontent.com/20344300/72688976-b45f1d00-3b0c-11ea-8920-5328c6d721f7.png)
after:
![image](https://user-images.githubusercontent.com/20344300/72688970-9db8c600-3b0c-11ea-8636-330218d75ca1.png)


Co-authored-by: KillaBilla <robomastermail@googlemail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-01-25 12:45:36 +00:00
bors[bot] 749929431a
Merge #2040
2040: fixed faulty message id r=heinrich5991 a=ChillerDragon

(cherry picked from commit 9023796d27)

Co-authored-by: oy <Tom_Adams@web.de>
2020-01-25 12:40:14 +00:00
12pm ec42291756 Allow filtering by name in status
Easier to find players when the server is full
2020-01-24 14:44:54 +01:00
KillaBilla ba1abac52f remove leading and trailing space from server name and forbit the use of multiple spaces
(cherry picked from commit a9cc1e8de2)
2020-01-19 22:28:19 +01:00
oy 1b4131a7fd fixed faulty message id
(cherry picked from commit 9023796d27)
2020-01-19 21:30:12 +01:00
Learath d2fad6c79a Fix demo bug 2020-01-03 12:13:40 +03:00
ChillerDragon 4a6a85124a Remove some unused includes 2019-12-14 10:20:42 +01:00
Dennis Felsing 785ec3d345 Expire server info on connected/drop events 2019-11-04 15:45:55 +01:00
Learath2 c2bcd3bd4d Fix bug 2019-11-04 01:06:52 +01:00
bors[bot] 0de012572b
Merge #1955
1955: Cache serverinfo responses r=def- a=Learath2

I'm not sure I like it but it works

Co-authored-by: Learath2 <learath2@gmail.com>
2019-11-03 20:09:21 +00:00
def fdaafea6b5 Also init m_aClients[*].m_Latency
as reported by valgrind --tool=memcheck:

==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x1CDBDB: int maximum<int>(int, int) (math.h:79)
==376722==    by 0x216A46: CPlayer::Tick() (player.cpp:174)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
==376722==
==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x183F27: int minimum<int>(int, int) (math.h:77)
==376722==    by 0x216A65: CPlayer::Tick() (player.cpp:175)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
2019-11-03 18:54:25 +01:00
Learath2 c4d18118c1 Use automatic storage for the data 2019-11-03 18:31:05 +01:00
Learath2 52cca29cd9 Use a std::list, improve variable naming 2019-11-03 15:39:32 +01:00
Learath2 3d495a9936 Initialize variables 2019-11-03 01:53:50 +01:00
Learath2 79e4651d5b Only update serverinfo when needed 2019-11-03 01:07:10 +01:00
Learath2 7f0589bff7 Cache serverinfo responses 2019-11-03 00:33:30 +01:00
def cb738ffed0 Fix show_ips to show regular formatting (fixes #1873) 2019-08-01 20:24:30 +02:00
Learath 0bc3650356 Send DDNet capability flag 2019-07-29 14:18:40 +03:00
12pm c57fcf3ee7 Persist playerflags when using timeout protection 2019-07-26 01:39:53 +02:00
Emir Marincic 57197d990c
Better represent the state of the server
Co-Authored-By: heinrich5991 <heinrich5991@gmx.de>
2019-07-20 21:25:15 +03:00
Learath 1769e5ae71 Don't advertise the reserved slots. Fix #1808 2019-07-18 18:20:55 +03:00
bors[bot] bbcf7a6905 Merge #1815
1815: Return error codes on server fail r=def- a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-07-11 09:25:59 +00:00
ChillerDragon b9273a9ed2 Return error codes on server fail 2019-07-11 11:18:25 +02:00
ChillerDragon 6172a9dca0 Use the float type explicitly 2019-07-08 23:08:42 +02:00
heinrich5991 62846821da Revert "Implement ISDDNET. Deprecates #1320"
This reverts commit 1929bc6739.
2019-06-14 00:28:59 +02:00
heinrich5991 f31e081bd4 Remove all checking for the gametype in the game
OK, maybe not actually remove because it is kept for fallback when the
new method isn't available.

The whole gametype parsing business had the same downsides as user agent
parsing on the web, hence I removed it while keeping behavior the same.

This allows servers to explicitly opt in or out of certain bug
workarounds and other client behavior. This increases the complexity of
different configurations that are available in the client (which is a
bad thing).
2019-06-14 00:28:59 +02:00
def 85bb376bdc sv_server_info_per_second, sv_van_conn_per_second: allow 0 to disable
Clean up code a bit, also allow larger values
2019-06-11 18:12:43 +02:00
Learath 1929bc6739 Implement ISDDNET. Deprecates #1320 2019-05-21 10:25:15 +02:00
bors[bot] 9bca330a73 Merge #1691
1691: Persist show_ips setting on map changes r=Learath2 a=def-

@12pm 

Co-authored-by: def <dennis@felsin9.de>
2019-05-01 12:08:13 +00:00
ChillerDragon 7a7caabbec Fix inconsistant uppercase server in logs 2019-04-30 09:03:06 +02:00
def a910d9eff7 Persist show_ips setting on map changes 2019-04-29 21:39:17 +02:00
Dennis Felsing cde07b420b Implement changes suggested by -Wuseless-cast
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
def 25c54ef4db Implement show_ips to protect accidental leaking of IPs
Marks all sensitive data with <{ }> and then filters that out when
show_ips is not set.
2019-04-06 19:22:02 +02:00
heinrich5991 e44b1ca986 Use OpenSSL md5 if it is available
Fixes #1582.
2019-04-06 02:56:29 +02:00
12pm a7ef921e3f Add playerflags, dnsbl, and ips for non-admins in status 2019-04-03 15:07:05 +02:00
Dennis Felsing 8b68a2859a
Merge pull request #1509 from ddnet/error-checking
More error checking in system.c (fixes #1317)
2019-03-20 07:44:12 +01:00
def 1e4890c499 More error checking in system.c (fixes #1317) 2019-03-19 23:16:29 +01:00
12pm 9f4f06e995 Make updating nameban reason work 2019-03-19 22:54:16 +01:00
Dennis Felsing b8c256b602
Merge pull request #1467 from 12pm/nameban_exact
Add exact name ban option
2019-03-11 22:50:39 +01:00
12pm 3dcb83778f Make name more descriptive 2019-03-11 14:48:45 +01:00
bors[bot] 26dc51a272 Merge #1466
1466: Add colors for authed players. Deprecates #1299 r=def- a=Learath2

Not sure if a snap item is the best idea for this but it should help with not sending the data more then needed and keeping it properly updated. The colors aren't great now but we can fix that easily.

![image](https://user-images.githubusercontent.com/490500/53680889-607bf780-3cf2-11e9-84a0-579160e9e170.png)


Co-authored-by: Learath <learath2@gmail.com>
2019-03-06 13:44:28 +00:00
def deb2494692 Don't suggest to downgrade, clean up versioning (fixes #1440) 2019-03-03 20:31:23 +01:00
12pm 29592afdb5 Add exact name ban option 2019-03-03 18:29:33 +01:00
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03:00
Dennis Felsing 6f3d261b73
Merge pull request #1441 from trml/pr_sync_weapon_input
Sync weapon input with other input
2019-02-14 10:27:52 +01:00
ChillerDragon 3f8e9613f7 Fix style 2019-02-06 13:06:28 +01:00
ChillerDragon 03a20d6406 Add IServer::Ban 2019-02-04 23:09:14 +01:00
trml 3f9d30af0f Sync weapon input with other inputs 2019-01-29 20:58:25 +01:00
def b1ef2bf864 Don't try to remove non-existing files
Causes annoying error messages during map change & server start.
2019-01-14 22:13:51 +01:00
fokkonaut fe4426b008 fixed ddrace score (time score) 2019-01-14 08:01:20 +01:00
fokkonaut 0e842359ad Add DDRace Score NETMSG 2019-01-14 08:01:20 +01:00
Dennis Felsing 735e3c64fc Read fifo more often
otherwise we lose messages since we sleep for long times when server is
empty
2018-12-20 09:18:03 +01:00
def 6846a6ecad Fixes and stress improvements 2018-12-17 20:05:50 +01:00
Dennis Felsing e9ee74a941
Merge pull request #1402 from ddnet/remove-modhelp
Remove /modhelp (fixes #1401)
2018-12-17 14:42:07 +01:00
Dennis Felsing 9febf58f37 New try at recvmmsg with some improvements 2018-12-16 22:59:41 +01:00
Dennis Felsing 5c18d6c481 Remove /modhelp (fixes #1401) 2018-12-12 10:05:44 +01:00
Learath 254ff3dc6b Oversight 2018-10-08 20:56:49 +03:00
Learath 2e137e6fc7 net_addr_comp_ip -> net_addr_comp_noport 2018-10-08 19:56:51 +03:00
Learath 1073b72965 Ignore DNSBL on "empty" servers. 2018-10-08 01:59:07 +03:00
heinrich5991 a36250ba34 Use two threads for the server thread pool
This might help with long DNS timeouts.
2018-10-07 12:47:32 +02:00
Dennis Felsing a63f210a01 Fix segfault when deleting lock 2018-08-29 10:32:12 +02:00
Dennis Felsing c29a72eb70 Lock style 2018-08-27 16:36:36 +02:00
Dennis Felsing 4d634bb7fd Global lock for MySQL Connector's get_driver_instance
See note in https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html

> get_mysql_driver_instance() calls get_driver_instance(), which is not
> thread-safe. Either avoid invoking these methods from within multiple
> threads at once, or surround the calls with a mutex to prevent
> simultaneous execution in multiple threads.
2018-08-27 09:42:37 +02:00
Dennis Felsing 03098af933 Fix dnsbl initialization
Don't set dnsbl state to pending when we someone connects over ipv6 and
the init will fail, leaving a null pointer in m_pDnsblLookup
2018-08-24 14:24:34 +02:00
heinrich5991 8d04e7e5e1 Share libcurl resources across requests
Use the libcurl-share interface to share DNS cache and connections
between different requests.

If compiled with OpenSSL, libcurl can only be safely used from multiple
threads for OpenSSL >= 1.1.0, but this problem is not newly introduced
by this commit: According to libcurl-thread(3):

>OpenSSL <= 1.0.2 the user must set callbacks.
>
>https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION
>
>https://curl.haxx.se/libcurl/c/opensslthreadlock.html
2018-07-11 20:17:21 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
heinrich5991 ca8fcc823c Use more secure hash function for map downloads
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).

The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.

For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.

Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.

Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.

Fix #1127.
2018-06-24 17:04:50 +02:00
heinrich5991 36694d3852 Add a way to call for external moderator help
This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.

The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.

Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.

Supersedes #1129.
2018-06-19 23:27:35 +02:00
heinrich5991 9454dfbff9 Remove superfluous parameter from CServer::NewClientNoAuthCallback
The `Reset` parameter was only ever set to true, at the only call site.
2018-05-09 23:50:25 +02:00
def 3f7b18322c Set up DB by default 2018-04-24 23:07:51 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
Dennis Felsing 5a53e4c54d Fix compilation 2018-04-03 10:27:19 +02:00
heinrich5991 11304661db Put name ban stuff into a separate file
Fix a bug when overlong names could be used to circumvent name bans. Add
tests for name bans.
2018-03-14 02:35:31 +01:00
heinrich5991 d7f6cf2892 Fix some system.c insanity
`str_utf8_isspace` now returns true if the passed code point renders as
a space, instead of when not.

Add `str_utf8_trim_right`, use this function and
`str_utf8_skip_whitespaces` in the server.

Add tests for the three functions
2018-03-14 02:27:15 +01:00
Learath 729a42adec More style 2018-03-13 00:13:50 +01:00
Learath b7610901e3 Handle empty reason. Fix formatting 2018-03-12 23:29:46 +01:00
Learath 22c21f73ae Actually display the reason 2018-03-12 19:09:53 +01:00
Learath c1a7c30f0f Add reason to name bans 2018-03-12 19:05:49 +01:00
heinrich5991 31a3e8d4c0 Add possibility to ban players by name
This uses the Unicode confusable data together with judging how close
two strings are by using the Levenshtein distance.

Adds the commands `name_ban`, `name_unban` and `name_bans`. Kicks
players who join using a banned name and doesn't allow ingame players to
change their names to the banned ones.
2018-03-09 20:30:27 +01:00
heinrich5991 61c7e9307d Don't log out on sv_rcon{,_mod,_helper}_password if not changed 2018-02-26 18:01:02 +01:00
heinrich5991 1c3dc8c316 Record rcon authentication stuff into teehistorian
This allows to check moderator actions after-the-fact.
2018-01-28 03:13:05 +01:00
heinrich5991 eb31a52b83 Add very basic test for Unix sockets 2017-12-20 16:56:44 +01:00
heinrich5991 1a236dbefc Send connection information to external server 2017-12-20 16:56:34 +01:00
heinrich5991 94acac91a0 Overhauled job system
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.

Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-23 15:47:38 +01:00
heinrich5991 8e778cd9ab Address pull request comments 2017-10-13 02:29:18 +02:00
heinrich5991 2fc018aac3 Add asynchronous file output, port dbg_msg()s to that system
Also add tests.
2017-10-10 04:11:14 +02:00
Learath2 d15dcd3c58 Merge pull request #871 from heinrich5991/ddnet_teehistorian
Teehistorian
2017-10-09 18:42:27 +02:00
Dennis Felsing 4fe6dc51f7 Fix non-random announcements (thanks noby) 2017-09-26 14:20:37 +02:00
heinrich5991 9761e9606a Make most user input teehistoric
Exclude private stuff like chat messages and votes.
2017-09-20 02:23:28 +02:00
heinrich5991 6ef9c8dbcd First working version of teehistorian
teehistorian records all inputs from the players as well as the player
positions in each tick. It stores this info in a highly compressible
output format (I've achived 5x compression using xz or bz2).
2017-09-20 02:16:11 +02:00
Redix 43f246f174 Made int packing functions safe 2017-09-17 02:36:50 +02:00
def 89ed22e8d8 Introduce ddnet-info.json
- Single json file containing all information for the client
- Fetched from https://info.ddnet.tw/info?name=deen
- Replaces versionsrv, news, ddnet-maps.json and ddnet-ranks.json
- Servers are sorted by most popular ones for respective player
- Always stays < 100 ms response time, compared to occasional 50 s for
  old ddnet-ranks.json
2017-09-03 17:42:04 +02:00
def 27b7549bba Make --silent stop stdout logging 2017-09-03 10:37:24 +02:00
heinrich5991 33315452c3 Merge branch 'master' into leak_fix 2017-07-31 20:42:32 +02:00
heinrich5991 1ebb4f89a6 Reopen: Add a flag for rcon login via username (#800)
This uses an extended protocol message to signal that rcon
authentication might require a username, allowing the client to enable
the username prompt.

Add a forgotten logout on key update
2017-07-24 21:43:55 +02:00
HMH bfc5700314 Yes the Kernel and Interfaces need to be deleted too... 2017-07-21 19:46:31 +02:00
def f3e3d57a90 Always close files, cleaner demo recording, fix some other stuff 2017-07-08 13:39:20 +02:00
eeeee 0497cdd49d stop casting auth state to bool 2017-06-08 13:03:44 -07:00
eeeee 9c5ade24da remove ConDnsblStatus copypasta 2017-06-07 11:04:04 +02:00
eeeee 2797227063 also remove references to CGameContext from CServer 2017-06-05 22:31:56 -07:00
eeeee 9b6699d3b8 remove casts to CServer
improving encapsulation by going through the interface instead of including engine/server/server.h
2017-06-05 20:51:12 -07:00
heinrich5991 5ae37e6c72 Add protocol extension with UUIDs
This system can easily be extended by independent authors without
collisions, something the old system with plain increasing integers did
not allow.

Do this by utilizing the previously unused message code `NETMSG_NULL`
which has a value of 0.

This works for engine and game messages, snapshot items and events.
2017-05-25 00:52:43 +02:00
def f4112e3bcb Revert "Tees must be teamed up before loading"
This reverts commit d29f2306ef.
2017-05-14 22:36:44 +02:00
Dennis Felsing 58207926ac Merge pull request #726 from Learath2/dd_pr_load
Tees must be teamed up before loading
2017-05-14 11:54:39 +02:00
Ryozuki 3a4738560b Don't show ips to non-administrators, Fixes #694 (#739)
People with non-administrator rights won't be able to see ips (mod, helper).
2017-04-17 12:13:58 +02:00
Learath d29f2306ef Tees must be teamed up before loading 2017-04-11 21:18:26 +02:00
heinrich5991 1d81d56850 Introduce new, vanilla-compatible server info protocol
This means that we have a reliable and fast way to query for extended info,
while also not wasting network bandwidth.

The protocol is designed to be extensible, there's four bytes space for
encoding more request types (currently zeroed), and there's one string in each
response packet and one string for each player available (currently the empty
string).

The protocol itself has no problems with more than 64 players, although the
current client implementation will drop the player info after the 64th player,
because it uses a static array for storage.

Also fixes #130, the player list is just sorted each time new player info
arrives.
2017-03-29 12:56:13 +02:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
Ryozuki 84726547aa Fix warning also for server.cpp, and fixed client.cpp 2017-03-12 14:49:18 +01:00
Ryozuki 1614e59e8f Fix some warnings 2017-03-12 12:12:39 +01:00
heinrich5991 6302e4d7e0 Fix some style issues and a > to >= 2017-03-06 20:11:23 +01:00
heinrich5991 c1e826e853 Fix key slot indices after removing a key 2017-03-06 18:02:19 +01:00
Learath2 8c79f28802 Fix a crash on malformed input 2017-03-06 15:18:52 +01:00
Learath2 71fb030443 Fix a comparison. Hate backwards compatibility... 2017-03-06 13:46:02 +01:00
Learath2 9800360340 Check the return from str_hex_decode. Remove comment 2017-03-06 12:59:47 +01:00
Learath2 c5a12e3eba Fix the status command for logged out people 2017-03-06 12:35:37 +01:00
Learath2 6f1f348715 Fix c&p fail 2017-03-06 12:35:09 +01:00
Learath2 95bb9894a7 Get rid of pw generation in CServer, Err out in CAuthManager instead 2017-03-04 23:16:02 +03:00
Learath2 3a22a4b62d Fix some issues 2017-03-04 23:06:22 +03:00
Learath2 cf9f3e3d38 Forgot one block 2017-03-04 10:58:02 +03:00
Learath2 d475eddb88 Add key ident to status command 2017-03-02 19:02:57 +03:00
Learath2 b7cbaedea0 New auth system for rcon 2017-03-02 18:16:29 +03:00
east 0acad1a28b dnsbl fix: HostLookup check result properly 2017-02-01 12:13:50 +01:00
heinrich5991 b510db9ee9 Add the VITAL flag to fastdownload packets
This lets 0.6.4 clients connect to DDNet servers again. Instead of doing
our own resend logic, just always send `sv_map_window` packets ahead and
let the Teeworlds network deal with possible resends.
2016-11-18 15:12:48 +01:00
heinrich5991 cd3b0ae855 Implement the confusable algorithm from Unicode more closely
See UTS#39 "Unicode Security Mechanisms":
http://www.unicode.org/reports/tr39/

This means that characters with accents or other things around them are
now considered the confusable with the base character.

Fixes #557. Fixes #575.
2016-10-30 13:45:55 +01:00
heinrich5991 e950351346 Put the password generation into base 2016-10-01 23:04:16 +02:00
east c6efc85a80 dnsbl_status added 2016-09-05 14:05:07 +02:00
east 678a69bf5b basic DNSBL implementation 2016-09-05 11:38:11 +02:00
def 0688229f0d Forbid names starting with /, as they can be abused to make people write chat commands 2016-07-08 16:38:05 +02:00
HMH c4843868c4 do not log the sql-passwords 2016-05-16 15:41:52 +02:00
H-M-H cd41220a44 wait for score-threads on shutdown 2016-05-04 15:32:24 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
def 21ac41bfae Clean up fifo console 2016-05-02 23:36:21 +02:00
def c473689be7 Remove VITAL flag in fastdownload map packets (as suggested by heinrich5991) 2016-04-27 19:54:43 +02:00
Dennis Felsing 8e69f9ac90 Merge pull request #338 from east/mapvital
Added vital flag for mapdata (includes fast download)
2016-04-27 15:57:14 +02:00
def 91df0a2af0 Remove hacky security against rcon spoofing because we have a better one now 2016-02-22 19:54:45 +01:00
H-M-H 2bd6d0c381 do not always try to connect to unreachable sqlservers
but instead remember the last reachable server
- some cleanup
- added timeout of 10 seconds to sql-connections
2016-02-20 15:33:35 +01:00
H-M-H f6be7e20fb updated sql-command usage 2016-02-20 15:33:35 +01:00
H-M-H e35de5a371 whether to setup a db can be configured for each server now 2016-02-20 15:33:35 +01:00
H-M-H 1e302aeb70 'r' and 'w' instead of 0 and 1 for sql read/write servers 2016-02-20 15:33:35 +01:00
H-M-H 1314085928 restructured sqlconnection
reading from and writing to several different servers is now possible
TODO:
-handle Exceptions properly (try another sqlserver)
-if everything fails while writing write the insert to a file
2016-02-20 15:33:35 +01:00
H-M-H 7199ae3f22 ConAddSqlMaster will not block the main thread anymore 2016-02-20 15:33:35 +01:00
H-M-H 15f2e07c48 moved sqlserver stuff into CServer-class
as sqlconnections should not last only
until next mapreload
2016-02-20 15:33:35 +01:00
heinrich5991 a1923b154b Only ignore messages on invalid UTF-8, don't kick players 2016-01-27 01:48:19 +01:00
heinrich5991 d4eefefa26 Kick people using overlong UTF-8 sequences
This works around the bug in older clients (including vanilla) that
interpret those sequences incorrectly.
2016-01-27 01:24:02 +01:00
def b77e95090e Reset m_ServerInfoFirstRequest on map change 2016-01-22 17:53:46 +01:00
heinrich5991 96f0eddbb8 Add sv_max_server_info_per_second
This controls how many complete server info responses are sent per
second.
2016-01-22 16:42:54 +01:00
heinrich5991 b29a733c4f Add DoS protection to server info requests
Only allow 10 requests per second before falling back to smaller server
info responses.
2016-01-22 16:42:46 +01:00
def 8636e6004a Print client ID as decimal number, not hexadecimal 2016-01-20 16:33:02 +01:00
H-M-H 8e24ef8020 commanddescription can now be placed directly in
the commandparamsstring: "s[file]"
2015-12-28 16:19:52 +01:00
H-M-H 927c9d1999 forgot to adjust one usage 2015-12-23 14:51:55 +01:00
H-M-H 11a426c18b added (console-)command usage 2015-12-23 14:29:31 +01:00
H-M-H 80531130e5 made it beautiful ^^ 2015-12-18 13:17:45 +01:00
H-M-H 830726f392 prevent serverlogspam 2015-12-17 16:27:35 +01:00
H-M-H bd0c496837 FIRST trim the name and THEN compare it to others ! 2015-12-16 20:15:43 +01:00
timgame 2874e18ce0 dont restore empty config values at start 2015-11-16 20:31:56 +01:00
Tim Schumacher d99660f20e Merge pull request #356 from H-M-H/helper_pw
Implemented Helper accesslevel
2015-10-27 02:18:00 +01:00
H-M-H 4ffbd60347 fixed two lines I forgot 2015-10-27 02:00:15 +01:00
H-M-H cd6c297cb0 removed some code duplication and updated autoexec_server.cfg 2015-10-27 00:46:28 +01:00
H-M-H 0e532adb67 Implemented Helper accesslevel
basically just copied everything from moderator-accesslevel implementation

note however that mod_command changed to access_level
2015-10-23 04:21:07 +02:00
timgame 74d3855bf1 change brace styling 2015-10-22 17:51:02 +02:00
timgame 7fafd2db2f added sv_reload_when_empty 2015-10-22 17:27:30 +02:00
east 6affc4e1ef added vital flag for mapdata (includes fast download) 2015-09-17 09:55:09 +02:00
oy e91d26b8ac force vital check on essential cl/srv messages and added additional sequence checking 2015-09-01 13:50:45 +02:00
def f20a6a4934 Print name on name change 2015-08-28 21:44:36 +02:00
heinrich5991 a3246ed099 Save the config into the map when the server loads the map 2015-08-27 12:51:24 +02:00
east cf9e1373d7 correctly reset client 2015-08-23 17:51:28 +02:00
east c47697bdef session rejoin 2015-08-23 17:01:01 +02:00
east d82b75f760 log/info for security token protocol 2015-08-14 18:39:13 +02:00
east d1382349f5 vanilla token handshake implemented 2015-08-14 18:30:49 +02:00