Commit Graph

455 Commits

Author SHA1 Message Date
Salanto
aab41987d9 Bump version to 1.9 2024-07-20 16:29:45 +02:00
Leifa
c24c3ea387
Added background side locking (#366)
* Added background side locking

* Fix clang format

---------

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2024-07-20 16:25:46 +02:00
Salanto
d8ec4ccdf5
[Cleanup] Overhaul Server Advertiser/Publisher (#369)
* Overhaul advertiser to suck less

* Remove stray QDebug
2024-07-20 09:07:55 -05:00
HolyMan
d2b378b005
QRegExp to QRegularExpression and updated README (#368)
* QRegExp to QRegularExpression and updated README

One instance of QRegExp made the compiler crash when trying to build Akashi. Also, the README.md build instructions were outdated, new ones were provided to me by Salanto.

* Appease clang

---------

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2024-07-17 18:32:56 -05:00
Leifa
3459486dea
Restoration of backward compatibility (#367)
Since this discussion is going nowhere, I'm restoring it.
2024-07-16 21:05:19 +02:00
Leifa
8498e30c02
Fix incorrect parameter order 2024-07-14 22:10:40 +02:00
Leifa
47c971fac1
Dropped Qt5, drop backward compatibility/feature list (#362)
* Dropped Qt5, ...

Resolve #360, resolve #361

* Dropped Qt5
  * Now targets Qt6.5
* Dropped backward compatibility/feature list

* Updated AOPacket tests

* Update RT to guarantee two parameters

* Format changes

* Missing include

* Resolved failed RT packet test
2024-07-14 15:48:13 +02:00
Leifa
27ef14fa78
Client list support (#365)
* Boilerplate structure for playerlist

* Change id, character and area to private with get/set

* WIP push

* Restructured the project entirely

* Implemented player list

* Build against project-akashi.pro

* Updated coverage location

* Copy gcov files from the proper path

* Update coverage to copy files

* Coverage update.

* Update main.yml

* Disabled coverage for the time being

* Reworked player list implementation, ...

* Reworked player list implementation
  * No longer rely on JSON
* Introduced moderation packets: ban, kick
  * A kick is a duration of 0
  * A ban is a duration between -1 (permanent) and anything above 0
* Packet ZZ has been modified and now include a client id field for client-specific reports
* Ban duration is now explicit.

* Tweak to ban duration calculation

* Resolve failing ZZ test

---------

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2024-07-14 15:47:58 +02:00
Leifa
1edc80a0bc
Removed TCP server entry point (#364)
* Removed TCP server

Resolve AttorneyOnline/AO2-Client#987, resolve AttorneyOnline/AO2-Client#1007

* Remove ini key, remove obsolete test

---------

Co-authored-by: Salanto <62221668+Salanto@users.noreply.github.com>
2024-07-14 10:18:45 +02:00
Leifa
040f5a3216
Playerlist and repository structure changes (#358) 2024-06-23 18:57:56 +02:00
Cerapter
a42281c2c7 Fix clazy-writing-to-temporary issues
TODO still:
- Evidence
- Judgelog
2021-05-02 18:32:39 +02:00
Cerapter
68b4174a40 Merge remote-tracking branch 'refs/remotes/scatter/master'
Conflicts:
	akashi.pro
	core/include/logger.h
	core/src/commands/area.cpp
	core/src/packets.cpp
	include/logger.h
	src/commands/area.cpp
	src/packets.cpp
2021-05-01 23:33:00 +02:00
Denton Poss
04862c3757
Merge pull request #107 from MangosArentLiterature/discord
Add Discord Webhook for Modcall + Optional Buffer Log Upload
2021-05-01 10:08:50 -05:00
Denton Poss
984de65c7f
Merge pull request #112 from AttorneyOnline/fix-zalgo
Fix Dezalgo
2021-05-01 10:07:41 -05:00
Denton Poss
6d31a28325
Merge pull request #113 from AttorneyOnline/fix-force-immediate
Fix force_immediate
2021-05-01 10:06:58 -05:00
in1tiate
05201ac82d woops, thats not how that works 2021-04-30 23:05:18 -05:00
in1tiate
b6f4982643 validate ic packets with a cid of -1 2021-04-30 23:01:52 -05:00
in1tiate
0e05ed63f2 add firstperson cid check 2021-04-30 23:01:12 -05:00
in1tiate
69f77548a8 add firstperson variable and command toggle 2021-04-30 22:58:04 -05:00
MangosArentLiterature
b48ac1873c Fix force_immediate 2021-04-29 22:54:54 -05:00
MangosArentLiterature
8ef6a3526b Purge zalgo_tolerance 2021-04-29 22:19:30 -05:00
MangosArentLiterature
4ca54e8761 Fix dezalgo
Changes how dezalgo works. Still filters zalgo text without breaking languages. Removes zalgo tolerance because it's not really necessary with this system.
2021-04-29 22:13:06 -05:00
Salanto
f166a6f4fc Slight improvement 2021-04-29 01:07:08 +02:00
Salanto
96396d3404 Apply some suggested changes 2021-04-29 01:02:47 +02:00
Salanto
b689c71533 Revert "Apply code suggestions"
This reverts commit e00e7b571d.
2021-04-28 23:53:03 +02:00
Salanto
e00e7b571d Apply code suggestions
Non-functional as of now.
2021-04-28 23:32:48 +02:00
Salanto
32e88d6be1 Merge remote-tracking branch 'upstream/master' into discord 2021-04-27 23:42:14 +02:00
Salanto
8aed2989f2 Add file upload if modcall logging is used
+ Configurable option if no log should be send
+ Fix  logger not flushing to file if modcall is used
+ Update sample\config.ini
2021-04-27 23:28:45 +02:00
MangosArentLiterature
e75b80aaae Add modcall webhook support
This is the worst code I have ever contributed to this project. This commit is the result of several days of attempting to decipher Qt's documentation. This is the best I can write. Qt has broken me. God help us all.

- Allows sending modcalls to a discord webhook, containing the name of the sender, the area, and the reason.
- Adds configurable options to config.ini for enabling/disabling webhooks and specifying the webhook url.
2021-04-25 15:49:47 -05:00
scatterflower
e44f687030 fix crash due to empty packets 2021-04-25 12:57:02 -05:00
Marisa P
192930f180
Merge pull request #103 from Salanto/Fix-#101
Fix #101
2021-04-23 14:57:27 -05:00
Cerapter
b740f5a3cd Relocate akashi into a subdirectory.
Will be used to make space for tests as well.
2021-04-23 18:29:33 +02:00
Salanto
532a48cd1d Update area.cpp 2021-04-23 17:25:08 +02:00
Salanto
13d03476da Fix-#101 2021-04-23 17:24:34 +02:00
Marisa P
01d4ff9048
Merge pull request #102 from AttorneyOnline/fix/utf8
Update all QSettings instances to use UTF-8 to prevent problems with Cyrillic characters
2021-04-23 00:35:49 -05:00
scatterflower
5f07cbeff7 version bump 2021-04-23 00:32:44 -05:00
in1tiate
87fe5c214d Update all QSettings instances to use UTF-8 2021-04-22 20:02:18 -05:00
Marisa P
3e490252be
Merge pull request #100 from Salanto/Fix-Woopsie2
Fix Server Crash when deleting statements during recording
2021-04-21 05:51:49 -05:00
MangosArentLiterature
1b7c53bc01
Merge branch 'master' into master 2021-04-20 19:32:36 -05:00
Salanto
5e05326537 Fix Server Crash when deleting statements during recording 2021-04-20 23:09:16 +02:00
MangosArentLiterature
2f69b51280 Limit the amount of data the server will read
Set a hard limit on 30KB that the server is willing to read, over two sequential reads. If the client sends more than 30KB combined, the server will disconnect the client.
2021-04-20 11:51:22 -05:00
MangosArentLiterature
9c3cd12202 Add a size limit to packets and a configurable maximum character limit for messages
- Limits packets to under 16KB
- Adds a configurable option to config.ini for setting the maximum amount of characters in an IC/OOC message
- Limits the size of OOC names to 30 chars
   - The client already limits this, but this is an added precaution.
- Limits the length of shownames to 30 chars
- Implements shownames_allowed for areas, for toggling whether shownames are allowed for messages in that area
2021-04-19 19:44:46 -05:00
Salanto
4e81eeb64f Wopsie 2021-04-19 23:01:50 +02:00
Salanto
5dad3c11c6 Force UTF-8 2021-04-19 15:06:11 +02:00
MangosArentLiterature
5da651bfde Add a link to source code to /about 2021-04-19 04:31:06 -05:00
scatterflower
e252ed04e9 make it configurable 2021-04-19 02:09:24 -05:00
scatterflower
e8a99eb35a implement multiclient limit 2021-04-19 01:54:22 -05:00
Marisa P
0454ac114c
Merge pull request #88 from AttorneyOnline/messaging-commands
Add /charcurse and /uncharcurse
2021-04-18 21:23:35 -05:00
MangosArentLiterature
fcce8d9699 Document charcurse_list, fix /charcurse 2021-04-18 20:50:44 -05:00
MangosArentLiterature
75fe0a86f1 Merge branch 'master' into dice-roller-and-togglemusic 2021-04-18 20:22:57 -05:00
MangosArentLiterature
cf1e1cfc95 Add /togglemusic
- Adds /togglemusic to toggle whether music can be played in an area. CM's can still play music.
- Add toggle_music option to area.ini to set the default value in an area. Default value is set to true.
- Also fixes a missing period in the documentation for force_immediate. Because I noticed it.
2021-04-18 20:21:17 -05:00
MangosArentLiterature
a32cc0e27f Refactor AOClient::diceThrower() 2021-04-18 19:56:03 -05:00
Marisa P
647c3cb398
Merge branch 'master' into messaging-commands 2021-04-18 19:41:56 -05:00
Marisa P
ad1429ac03
Merge pull request #89 from Salanto/Add-/a-and-/s
Add /a and /s
2021-04-18 19:28:30 -05:00
scatterflower
21d7ade720 go back to comma separated 2021-04-18 19:26:37 -05:00
scatterflower
4f6706ae94 fix a few small bugs 2021-04-18 19:18:52 -05:00
scatterflower
08ba6ef278 change curse list to int list, marked unavailable chars as taken 2021-04-18 18:57:33 -05:00
in1tiate
7ae4f95e12 expose ban ids to /bans and BD 2021-04-18 18:49:06 -05:00
Salanto
40552b1602 Add /a and /s 2021-04-19 00:48:51 +02:00
MangosArentLiterature
6dfd7d173a Merge branch 'master' into messaging-commands 2021-04-18 16:18:05 -05:00
scatterflower
8156ae6515 add /charselect 2021-04-18 16:04:20 -05:00
Salanto
bddbafb87e Merge remote-tracking branch 'upstream/master' into Testimony-Loading/Saving 2021-04-18 22:34:56 +02:00
Marisa P
97b3ea24cd
Merge pull request #86 from AttorneyOnline/messaging-commands
Add /mutepm and /toggleadverts
2021-04-18 15:33:21 -05:00
MangosArentLiterature
760d46b206 add /charcurse and /uncharcurse
this code makes me want to die. please end my suffering.
2021-04-18 14:45:53 -05:00
Salanto
5eabcc191e Add /testimony 2021-04-18 20:52:27 +02:00
Salanto
73cd8f1eb9 Account for older server settings 2021-04-18 13:42:08 +02:00
MangosArentLiterature
bcaf9a1f29 Merge branch 'master' into messaging-commands 2021-04-17 22:34:31 -05:00
MangosArentLiterature
91bfc4a5c9 Fix /switch and /randomchar
Also adds a check to /randomchar to ensure we don't select a taken character.
2021-04-17 22:13:56 -05:00
Salanto
558dcc3378 Merge remote-tracking branch 'upstream/master' into Testimony-Loading/Saving 2021-04-18 04:03:07 +02:00
Salanto
3c5659af22 Add testimony loading and saving 2021-04-18 03:59:12 +02:00
Marisa P
c70d2afbeb
Merge pull request #78 from AttorneyOnline/fix-ooc-mute
add missing commands to the command table
2021-04-17 20:42:16 -05:00
Marisa P
068f605c64
Merge pull request #79 from AttorneyOnline/command-split
Move cmdAfk to messaging category
2021-04-17 20:41:50 -05:00
Marisa P
b3872aa888
Merge pull request #81 from AttorneyOnline/testimony-decoding
Decode MS packet before testimony recorder regex
2021-04-17 20:41:24 -05:00
Marisa P
5be1f821db
Merge pull request #80 from AttorneyOnline/uncm-player
Allow moderators to uncm other clients
2021-04-17 20:40:59 -05:00
MangosArentLiterature
522c9fb393 ensure the advertiser actually exists before connecting the reload signal/slot 2021-04-17 19:03:20 -05:00
MangosArentLiterature
b99660d9c3 Decode MS packet before testimony recorder regex
- Fixes an issue with the testimony recorder checking for >[statement], where due to AO encoding, special characters would improperly match the regex. For example, "%[statement]" would become "<percent>[statement]", thus matching against >[statement]. This commit decodes those characters first.

- Adds AOClient::decodeMessage() for decoding a QString.
2021-04-17 18:45:05 -05:00
MangosArentLiterature
e52d85c01a Add /toggleadverts 2021-04-17 15:20:28 -05:00
MangosArentLiterature
388ad345a5 Add /mutepm 2021-04-17 14:15:04 -05:00
MangosArentLiterature
b7f8f78690 Allow moderators to uncm other clients
- Adds "UNCM" permissions for uncming
2021-04-16 18:25:12 -05:00
MangosArentLiterature
67f7acc34a Move cmdAfk to messaging category
cmdAfk is a command that changes the clients status to AFK. As such, it belongs under the messaging category, which includes commands that handle a clients self-management.
2021-04-16 13:57:33 -05:00
MangosArentLiterature
96407ad4bd Add /blockdj and /unblockdj
- More commands that never got added to the table.
- Also fixes /blockdj incorrectly blocking a client from changing areas.
- Checks if a client is DJ blocked when using /play
2021-04-16 13:22:42 -05:00
MangosArentLiterature
466089ad84 update readme and /about
this feels weird to do
2021-04-15 23:40:47 -05:00
MangosArentLiterature
ea50100acf Sort out new commands from master, delete commands.cpp
🦀 🦀
2021-04-15 18:13:15 -05:00
MangosArentLiterature
577e2b5095 Revert "Revert "Merge branch 'master' into command-split""
This reverts commit 58f2d1e2b7.
2021-04-15 18:01:51 -05:00
MangosArentLiterature
58f2d1e2b7 Revert "Merge branch 'master' into command-split"
This reverts commit b3d170c019, reversing
changes made to 885de71417.
2021-04-15 18:00:04 -05:00
MangosArentLiterature
b3d170c019 Merge branch 'master' into command-split 2021-04-15 17:57:21 -05:00
MangosArentLiterature
885de71417 Split up commands.cpp
the beast has been vanquished
2021-04-15 17:55:15 -05:00
in1tiate
93c4f19bfb
Merge branch 'master' into afk 2021-04-15 14:30:20 -05:00
Marisa P
59fb56bd61
Merge pull request #74 from AttorneyOnline/caseannouncements
Implement case announcements
2021-04-15 14:22:50 -05:00
in1tiate
38d73d9228 cleanup 2021-04-15 14:10:53 -05:00
in1tiate
b1dfeec8f5 euthanize morton, code cleanup 2021-04-15 13:58:41 -05:00
in1tiate
122e993a8b condense some overly long code (ty marisa) 2021-04-15 13:49:27 -05:00
MangosArentLiterature
06b70a35d5
Make maximum_statements actually get loaded in
Also has the effect of making it changeable with /reload, hooray!
2021-04-15 11:53:20 -05:00
in1tiate
c9700f236f more cleanly handle empty input, snip debug call 2021-04-15 10:26:46 -05:00
in1tiate
12bba40a99 implement case announcements 2021-04-15 10:25:25 -05:00
in1tiate
1a7c23f404 simplify /afk to just set is_afk to true
previously it would toggle is_afk, but because
sending the command sends a CT packet, you could
never toggle AFK off with /afk because it would have
been toggled off due to activity immediately prior to
using it
2021-04-15 06:49:09 -05:00
in1tiate
9c6fa22ee5 fix being told youre afk twice if you use /afk before the timer runs out 2021-04-15 06:48:07 -05:00
in1tiate
a32b33d957 even more elegant repeat afk fix 2021-04-15 06:44:14 -05:00
in1tiate
96f2204b79 more elegantly fix repeated AFKing 2021-04-15 06:42:14 -05:00
in1tiate
42ca1d2779 fix AFK message being sent repeatedly 2021-04-15 06:40:07 -05:00