172 Commits

Author SHA1 Message Date
Pentarctagon
337894ac7b Store add-on download count in the database.
The idea being that this could then also be included as a sheet in the multiplayer activity report, which would then be an easy way to view add-on downloads over time. This would of course not be especially useful until 1.18, since for 1.17 the database count would be starting at 0 even though existing add-ons would have a non-zero download count.
2022-06-04 11:21:00 -05:00
Pentarctagon
52ad51ab25
Looks like on 1.14 the afterlife bot doesn't always populate client source and version. 2022-05-06 16:41:14 -05:00
Pentarctagon
c9523e809c
Query fixup. 2022-05-06 16:28:40 -05:00
Pentarctagon
0a7ef1edf1
Add SQL to list unique users per day per source. 2022-04-15 10:27:36 -05:00
Pentarctagon
4cae3beea0
Add SQL to list unique users per day. 2022-04-15 09:45:16 -05:00
Gunter Labes
5b3e121798
Fix parameter handling and quoting
Add timestamps to some log messages and custom settings for newer server versions.
2022-03-24 12:28:33 +01:00
Gunter Labes
845f5e5ef3
Update autorevision filename
The file was renamed in 05f9f002.
2022-03-24 11:54:27 +01:00
Iris Morelle
d886914287
Merge changes from update_server2 into update_server 2021-11-28 05:15:03 -03:00
Iris Morelle
6644f2e081
Update update_server to match production 2021-11-28 05:13:44 -03:00
Pentarctagon
ed92ba75fe Add version to connection_history. 2021-04-22 14:56:16 -05:00
Pentarctagon
14107b3ae6 Use the database to store and retrieve login history for the searchlog command.
This allows the history to be persisted across restarts, whereas right now it's lost.
2021-04-16 12:42:35 -05:00
Pentarctagon
edef0c5f33 Add database insert for addon information. 2021-03-12 16:12:09 -06:00
Pentarctagon
9b2429c393 Add validation for the feedback topic id. 2021-03-12 16:12:09 -06:00
Pentarctagon
9b7a958e9a
Add a new query to get faction side count. 2021-03-12 00:27:06 -06:00
Pentarctagon
fa53539f37
Rename query output column 2021-02-26 13:59:30 -06:00
Pentarctagon
5ee08c80fb Add support for asynchronously querying a player's game history for display on the client. 2021-01-16 12:48:07 -06:00
Pentarctagon
0697f31cd3
Apparently I forgot to remove the column comment after ending up not using it. 2021-01-04 18:49:31 -06:00
Pentarctagon
96243ad778 Store content names for game history viewer. 2021-01-02 23:45:45 -06:00
Pentarctagon
e43a0d8848
Update query scripts for new table. 2020-10-27 17:07:56 -05:00
Pentarctagon
d741365325 Move the game content info (scenario/era/modifications) into their own table.
Fixes #5066
2020-10-26 09:51:21 -05:00
Pentarctagon
3c6217fc1c Update MP query scripts to report source add-on and version. 2020-08-17 16:38:23 -05:00
pentarctagon
ba296898d7 Store additional information in the database:
* mp_scenario_addon_id
* mp_scenario_addon_version (host's version)
* mp_era_addon_id
* mp_era_addon_version (host's version)
* active_mod_addon_ids
* active_mod_versions (host's versions)

Forward-port of #4958
2020-07-30 13:17:22 -05:00
Pentarctagon
113a4e0913 Use mariadbpp rather than the mysql C connector.
Reasoning being:
* The result_set and other APIs are nicer to use.
* We use mariadb on our server rather than mysql, so this would minimize the chance of any incompatibilities.
* The mysql C++ connector 1.1 isn't compatible with with c++17 (https://stackoverflow.com/q/47284705).
2020-07-30 13:17:22 -05:00
Pentarctagon
67c169ed80 Add scripts to pull various pieces of information from the MP database.
The intent being that I plan to run these once a month and post the results on the forum.
2020-03-26 14:54:53 -05:00
Pentarctagon
95dc6b5f45 Only store game information once the game starts. 2020-01-21 18:02:28 -06:00
pentarctagon
81e2cae74f Store additional fields in the database.
* Whether the game allows observers.
* Whether the game's replay should be publicly available (currently the same as whether observers are allowed pending the second part of #3909).
* Whether the game had a password set.
* The side's name - this differs from what can be retrieved from USER_ID since it will have the name of any AI used.
2019-10-28 00:40:24 -05:00
pentarctagon
ea90383f1d
Make additional changes to client source handling based on discussion.
Add a "BSD Repository" option.
Add data/dist to .gitignore.
Delete data/dist from git.
Error conditions reading data/dist just set the value to Default.
Remove a leftover TODO comment.
Add description comments for the two new database columns.
2019-10-22 01:14:45 -05:00
pentarctagon
21f9b19120 Also store where the client came from. 2019-10-20 13:57:45 -05:00
pentarctagon
c04ecaa8fb Store the client version in the database.
This will now store the version of the client playing a side in `game_player_info`.
2019-10-20 13:57:45 -05:00
pentarctagon
6d60cc550e
Use consistent formatting in table_definitions.sql. 2019-09-28 21:42:53 -05:00
pentarctagon
f1d48a0947
Fixup user_is_moderator default. 2019-09-28 12:32:54 -05:00
pentarctagon
2cd4273192 Use BIT(1) for fields with only 2 possible non-NULL values. 2019-09-28 09:27:20 +02:00
pentarctagon
7cb6482b32 Store in the database whether the game is a reload or not. 2019-09-28 09:27:20 +02:00
Pentarctagon
b9246dc6b4 Add a flag to record if the game encountered an OOS error. 2019-08-17 14:42:35 +02:00
Pentarctagon
9470eea825 People who have MP mod authority for testing or other reasons can continue to use the existing user_is_moderator column check, but for people who are supposed to moderate the server, now the forum group will be used.
This will make it easier to add/remove people to/from the group, and also ensure that the list of actual moderators matches up with the list available to users.

New config attributes added for this are:
* db_group_table - should be, based on the phpbb documentation I found, phpbb_user_group
* mp_mod_group - should be set to Multiplayer Moderators group ID
2019-08-15 14:36:16 +02:00
Pentarctagon
59e9f9a138 Add support for storing game information in wesnoth's mysql database.
This requires three more tables to be added to any database with the forum user handler enabled, the structures of which are defined in the wesnothd man page:
* `db_game_info_table` - stores information about each game.
* `db_game_player_info_table` - stores information about each player in the game.
* `db_game_modification_info_table` - stores information about any modifications that are enabled for the game.
2019-08-12 13:04:26 +02:00
Charles Dang
950a156712 Addressed most of the remaining whitespace issues from #2613
[ci skip]
2018-03-11 14:59:37 +11:00
Iris Morelle
8442764435 Add script for creating a new campaignd instance
[ci skip]
2018-03-10 01:08:58 -03:00
Ignacio R. Morelle
548efbbf97 send_campaignd_command: Add to repository 2015-04-24 23:57:39 -03:00
Ignacio R. Morelle
2c625b6d9d update_server: boost_prefix=-mt isn't good for gonzo anymore 2014-11-22 05:09:01 -03:00
Ignacio R. Morelle
d95b181eaa update_server: Show locations of scons' output 2014-11-22 04:31:18 -03:00
Ignacio R. Morelle
0e9f0a0ef0 Revert "create_symlinks: Make an exception for 1.10"
This reverts commit d4f7ebc8edccb11c511f5199d81b0a24af43716c.
2014-10-30 00:12:57 -03:00
Ignacio R. Morelle
d4f7ebc8ed create_symlinks: Make an exception for 1.10 2014-10-29 21:38:44 -03:00
Ignacio R. Morelle
11c1976a3b Fix thread count setting for 1.9 wesnothd and add one for 1.12 2014-10-29 21:31:36 -03:00
Ignacio R. Morelle
050aab785c Revert "new_release: Workaround race condition in wesnothd SIGHUP handler"
This reverts commit 62eb55a5a712b3e2157cf7fc0bb12873c4f0a574, since it
was superseded by a real fix in 6629fdf64e7db529db574f2f8f6600ebd797d5ff.
2014-06-26 19:44:39 -04:00
Ignacio R. Morelle
62eb55a5a7 new_release: Workaround race condition in wesnothd SIGHUP handler
If we try to send a message immediately after signaling SIGHUP to
wesnothd, it won't get caught by wesnothd, probably because the control
socket is being reopened just as the message arrives. Thus, we need a 1
second delay after the signal.

This was fixed in production a while ago but I forgot to commit the
change.
2014-06-12 18:17:31 -04:00
Ignacio R. Morelle
912456bf29 send_server_command: Fix issues with screen stuff command not working
At least on baldras' version of screen, the stuff command argument here
absolutely needs to be wrapped in single or double quotes to work.

I actually fixed this months ago but forgot to commit.
2014-06-12 18:15:03 -04:00
Ignacio R. Morelle
1a1ccea4cb update_server: 1.11 is the 1.12 branch 2014-06-12 17:21:34 -04:00
Ignacio R. Morelle
090f8bf0cb update_server: Build from master if the $VERISON is not recognized 2014-06-12 17:21:34 -04:00
Ignacio R. Morelle
e122da96e4 update_server: Use $HOME/source for SOURCE_ROOT
... instead of hardcoding a path in /usr. This should let server2 and
server3 use an unmodified copy of the script.
2014-06-11 22:53:38 -04:00