Simon Howard
4d767457df
Add hole punch forwarding to master server.
...
If a server is behind a NAT gateway or firewall its UDP port may be
accessible to the master server but not to other clients. For some types
of gateway we can work around this by having the servers explicitly send
a packet to the client that is trying to connect to them ("hole punching").
The master server can serve as a trampoline to forward this request from
clients.
This is the initial master server-side part of implementing
chocolate-doom/chocolate-doom#469 .
2019-02-09 21:53:56 -05:00
Simon Howard
df0fc0e7bd
Allow alternate port to be specified for tests.
...
For testing the server may be running on a different port.
2019-02-09 21:33:41 -05:00
Simon Howard
4c7861b2e0
Make master server work with Python 3.
...
As part of this, perform the `from __future__` imports so that as much
as possible resembles Python 3 even if we are running with Python 2.
2019-02-09 21:24:40 -05:00
Simon Howard
c0975c8f53
Rework blocking.
...
Log attempts from banned servers and only block adds, not other
requests.
2016-06-12 21:23:05 -04:00
Simon Howard
118c62ba4b
Add blocklist functionality.
2016-03-18 00:21:19 +00:00
Simon Howard
a7f9439578
Report server age as integer.
...
This reduces the metadata response size slightly as we no longer need
to return a number of decimal points.
2016-01-21 05:10:02 +00:00
Simon Howard
87b5ff04ba
Encode/decode as utf8.
...
I believe this fixed a bug that was occurring some time back.
2016-01-21 05:08:52 +00:00
Simon Howard
47da0dbd89
Increase maximum packet size for receive.
...
master.chocolate-doom.org was serving 500s because the server list
had grown too long.
2016-01-21 05:07:52 +00:00
Simon Howard
65704ad398
Correctly handle UTF-8 server names.
...
This fixes a problem where the page does not display properly if a
server name contains a non-ASCII character (see discussion on
chocolate-doom/chocolate-doom#229 ).
2014-10-19 21:36:56 +01:00
Simon Howard
2cc103e783
Include a Message-Type: field so that end messages can only be generated
...
from start messages. Include millisecond precision in the time fields of
the messages for extra accuracy. Log nonce values and demo hashes.
Subversion-branch: /master
Subversion-revision: 2519
2012-08-04 23:32:17 +00:00
Simon Howard
6f54a0d8c1
Tweak maximum packet sizes.
...
Subversion-branch: /master
Subversion-revision: 2518
2012-08-04 16:10:03 +00:00
Simon Howard
9cea863e5d
Include a copy of the nonce value separately from the GPG signature, so
...
it isn't necessary for the client to parse it.
Subversion-branch: /master
Subversion-revision: 2517
2012-08-04 02:02:13 +00:00
Simon Howard
6d2987c286
Add GPG signature generation, as the first step towards secure demo
...
support.
Subversion-branch: /master
Subversion-revision: 2516
2012-08-04 01:25:20 +00:00
Simon Howard
da23130736
Fix rare crash with double-delete of timed-out servers.
...
Subversion-branch: /master
Subversion-revision: 2480
2011-12-01 01:58:06 +00:00
Simon Howard
da3ab15169
Split master server configuration options into a separate file, refactor
...
so that the query socket can be bound to a specific address/port.
Subversion-branch: /master
Subversion-revision: 2229
2010-12-26 21:32:24 +00:00
Simon Howard
2687e6ddb5
Track age of servers. Display age on master server web page and sort by
...
decreasing age.
Subversion-branch: /master
Subversion-revision: 2219
2010-12-11 01:27:13 +00:00
Simon Howard
5432fd9b0f
Periodically force queries of servers that are refreshing themselves, to
...
keep metadata up to date.
Subversion-branch: /master
Subversion-revision: 2205
2010-12-10 18:21:50 +00:00
Simon Howard
073864be95
Fix hover text.
...
Subversion-branch: /master
Subversion-revision: 2200
2010-12-07 21:10:10 +00:00
Simon Howard
e83ce53a39
Add master server web page CGI script to display a list of active
...
servers.
Subversion-branch: /master
Subversion-revision: 2199
2010-12-07 21:02:06 +00:00
Simon Howard
2d40ae549a
Decode and save metadata acquired when querying new servers. Add a
...
metadata request message to retrieve the metadata that was obtained.
Subversion-branch: /master
Subversion-revision: 2194
2010-12-05 00:46:17 +00:00
Simon Howard
071f2aeffa
Oops.
...
Subversion-branch: /master
Subversion-revision: 2189
2010-12-04 17:30:22 +00:00
Simon Howard
34b974d0f0
Verify servers that add themselves to the master by sending a query from
...
a different socket before accepting their request. This blocks servers
that are behind NAT gateways and not globally accessible.
Subversion-branch: /master
Subversion-revision: 2188
2010-12-04 17:17:13 +00:00
Simon Howard
11677f8894
Add localvimrc project file for master server.
...
Subversion-branch: /master
Subversion-revision: 2186
2010-12-02 20:57:42 +00:00
Simon Howard
12d3df6db9
Add initial master server code.
...
Subversion-branch: /master
Subversion-revision: 2183
2010-12-02 19:28:06 +00:00