Commit Graph

148 Commits

Author SHA1 Message Date
Salanto
61a2aa4f09 Remove SQL logger implementation
Out of scope for this PR which primary aim is to refactor the current logger to be area independant
2021-08-25 16:42:10 +02:00
Salanto
0cfaf25f66 Fix Webhook Buffer, Fix QStringLiteral Arg missing 2021-08-25 06:34:46 +02:00
Salanto
70a63dd8b3 emit most log slots from AOClient
- Still need to figure out how login handles it
2021-08-25 05:34:16 +02:00
Salanto
bc5ec9fa9d Add hwid to logconnectionattempt 2021-08-25 03:29:16 +02:00
Salanto
16fd57e591 Hookup new clients to logger, test logger construction and log writing to buffer 2021-08-25 02:33:19 +02:00
Salanto
eda0a2f690 Implement client signals, add deconstructor + initial construction test 2021-08-25 01:49:44 +02:00
Salanto
86a7d0a3aa Log modcalls, add case for modcall logger writing 2021-08-25 00:18:46 +02:00
Salanto
4d20facc33 Add basic constructor 2021-08-24 23:43:35 +02:00
Salanto
055ef2e6a4 Implement log message creation 2021-08-24 23:25:39 +02:00
Salanto
f2a4f2d3e3 Add slot definitions, fix small oversight in QQueue oopsie 2021-08-24 19:17:37 +02:00
Salanto
f8fd854f3f Reconsider approach to transport log information 2021-08-24 16:17:25 +02:00
Salanto
5af2be130d Supress compiler warning on unimplemented methods
+ Expose struct trough member variable
+ Try to enforce consistent naming
2021-08-24 15:44:45 +02:00
Salanto
58a751afb0 Resolve compile error 2021-08-24 15:44:45 +02:00
Salanto
f31d474def Document u_logger.h 2021-08-24 15:44:45 +02:00
Salanto
685a66e8f4 Add more log datatypes, define slots for log processing and area buffer 2021-08-24 15:44:45 +02:00
Salanto
5b3e420214 Add executing code and cleanup header
+ Correct path mistake in Modcall writer
2021-08-24 15:44:45 +02:00
Salanto
a836d2f500 Add basic implementation of SQL Writer and Modcall writer 2021-08-24 15:44:45 +02:00
Salanto
e512897651 Add Full log writer 2021-08-24 15:44:45 +02:00
Salanto
860af5af82 Setup basic strcuture
Welcome to the ride. You may witness me slowly loosing my sanity on this.
2021-08-24 15:44:45 +02:00
Rosemary Witchaven
624fe41e12
Fix or suppress compiler warnings (#158)
* purge warnings

* indentation change

* unused macros for notice cmd

* cleanup clazy/clang-tidy diagnostics
2021-08-23 19:07:22 -05:00
Salanto
20a9112a21 Fix Embed Construction Order 2021-08-19 23:01:12 +02:00
Rosemary Witchaven
ce660b56de
Merge pull request #188 from AttorneyOnline/device-not-open
Fix QIODevice::read (QTcpSocket) device not open error
2021-08-19 15:11:57 -05:00
Salanto
5f3d42d999 Remove unusued nullpointer 2021-08-19 21:48:33 +02:00
Salanto
2efb6edee8 Privatize Discord + use Signals better
None of this is called outside of Discord, so there's no point on having it public.

Bonus note on the slots :
But if you close your eyes,
Does it almost feel like
Nothing changed at all?
2021-08-19 21:46:05 +02:00
in1tiate
637a6170e9 wait for connection before reading first data 2021-08-18 20:47:10 -05:00
Salanto
f4038d4678 Cleanup Discord class and fix reload error 2021-08-12 22:55:27 +02:00
Salanto
931365d1bd Resolve compile error 2021-08-12 22:03:42 +02:00
Salanto
9148e522aa Make webhook reloadable 2021-08-12 21:44:53 +02:00
Salanto
51ca518aeb Add QElapsedTimer to track server uptime
Had no better place to put it without making it needlessly complicated.
2021-08-12 21:33:13 +02:00
Salanto
893b3f6cb1 Document ban webhook signal 2021-08-12 20:43:03 +02:00
Salanto
f604e9c8de Split discord configuration into different file
The current config.ini is both long and full of text.
This reduces readability and combines essential configuration with non-essential configuration.
Splitting optional features like Discord into its own config helps the readability issue by not beating the users to death with information.
2021-08-11 23:52:53 +02:00
Salanto
4550128d63 Merge branch 'master' into AliveHook 2021-08-11 13:06:36 +02:00
Salanto
9d55d3ea9e Inherit tr method from QObject 2021-08-11 08:52:01 +02:00
Salanto
aaccf8e605 Implement Uptime Webhook
This commit implements a functional uptime webhook which posts a message to the config defined webhook URL. The interval is configurable, but not updatable.
2021-08-11 07:56:08 +02:00
Rose Witchaven
ec45370a71
Merge pull request #180 from t-h-i-s-u-s-e-r-n-a-m-e-i-s-c-a-n-c-e-r/patch-1
Add a check for file writability to the DB to confuse users slightly less.
2021-08-10 16:59:08 -05:00
Salanto
058b5cef63 Update ban webhook to utilize different url
+ Update sample config
+ Clarify webhook urls in the config and configmanager.
2021-08-10 22:16:09 +02:00
Rose Witchaven
d7d5984631
Merge pull request #177 from AttorneyOnline/pay-attention
Add /notice, for moderators to be heard above the noise
2021-08-10 09:19:07 -05:00
in1tiate
c6b0c5f6de move notice functionality to helper function 2021-08-10 00:28:36 -05:00
cancer
a624fd502a do it with qt 2021-08-08 21:12:03 +03:00
t-h-i-s-u-s-e-r-n-a-m-e-i-s-c-a-n-c-e-r
23b5962e2a
defined 2021-08-08 08:04:02 +02:00
t-h-i-s-u-s-e-r-n-a-m-e-i-s-c-a-n-c-e-r
a18ecfd633
add access() 2021-08-08 07:48:32 +02:00
Salanto
401f98b23e Set the background in area data.
Currently, Akashi does not save the changed background in the area, meaning clients will default to the configs background.

This commit addresses the issue by saving the new background in the area data, meaning it is persistent between people moving in and out of the area.
2021-08-07 22:21:53 +02:00
in1tiate
7b1845aa8d add global version of/notice 2021-08-04 06:12:25 -05:00
in1tiate
e60f18554b add notice box command for moderators to get attention quickly 2021-08-04 05:30:22 -05:00
scatterflower
af353b942e
Merge pull request #164 from Salanto/Ban-Webhook
Implement ban webhook
2021-08-02 16:53:15 -05:00
scatterflower
97e0d633d7
Merge pull request #172 from Salanto/log_shownames
Add showname to IC logs
2021-08-02 16:52:51 -05:00
Salanto
9e824e1256 Implement Webhook for Ban Information
Co-Authored-By: Rose Witchaven <32779090+in1tiate@users.noreply.github.com>
2021-08-02 23:49:37 +02:00
Salanto
2f92ca99f4 Correct configuration update oversight during config reload for the modern advertiser
Corrects oversight that causes ports to be reloaded in case they change in the config. Since Akashi cannot change its port mid-operation, that information needs to be excluded during a reload.
2021-08-02 00:38:31 +02:00
Salanto
7f0ff0f2e6 Add showname to the IC logs
This is a bit hacky, but eh, I've commited worse crimes against AO.
2021-08-01 17:00:01 +02:00
scatterflowr
de89d156ec Revert "Make /mods only useable by moderators"
This reverts commit 3f5e12b77f.
2021-07-29 00:48:08 -05:00
scatterflower
78f3e1d3d1 Fix WebSocket proxy not gluing segmented TCP packets back together 2021-07-27 17:44:26 -05:00
scatterflower
5e52fe9858
Merge pull request #149 from AttorneyOnline/mods-changes
Make /mods only useable by moderators
2021-07-27 06:54:56 -05:00
scatterflower
16d6c8a983
Merge pull request #148 from AttorneyOnline/fixes
Fix evidence and config issues
2021-07-12 15:29:54 -05:00
scatterflower
5b99fc4e16
Merge pull request #151 from Pyraqq/testimony-check
Prevent testimony messages containing "<" and ">".
2021-07-12 15:27:57 -05:00
Salanto
13cd901cfc Use struct to transport config
+ Fix debug message on success
2021-07-11 20:15:04 +02:00
Salanto
910560ec13 Some more adjustment on documentation 2021-07-10 17:00:35 +02:00
Salanto
e109c6b4df Fix documentation and weird formatting 2021-07-10 16:58:15 +02:00
Salanto
8994ba2626 Implement new advertiser
I want to die.
2021-07-08 23:18:49 +02:00
Pyraqq
6071a6242e Make QString a const. 2021-07-08 21:02:44 +02:00
Pyraqq
2a229541ef Prevent testimony messages containing "<" and ">". 2021-07-08 17:54:27 +02:00
MangosArentLiterature
3f5e12b77f Make /mods only useable by moderators 2021-07-02 23:45:40 -05:00
MangosArentLiterature
d728a9e676 Fix evidence and config issues
- Load auth and log values in uppercase.
- Move evidencemod to an enum class.
- Fix LE packet being incorrectly encoded.
2021-06-24 11:09:39 -05:00
scatterflower
a90dfd2005
Merge pull request #138 from AttorneyOnline/remote-bans
Allow banning clients not connected to the server
2021-06-21 22:25:27 -05:00
MangosArentLiterature
ef3103a87f Replace all std::pair with QPair 2021-06-21 22:14:37 -05:00
MangosArentLiterature
1e20ab0ae6 Merge branch 'master' into remote-bans 2021-06-21 22:07:30 -05:00
scatterflower
2885bddc30
Merge pull request #143 from AttorneyOnline/discord-refactor
Discord webhook refactor
2021-06-21 22:07:20 -05:00
MangosArentLiterature
6e2a3a0fca Fix crash relating to ConfigManager changes 2021-06-21 22:05:59 -05:00
MangosArentLiterature
5d63ce7a2a Merge branch 'master' into discord-refactor 2021-06-21 21:52:24 -05:00
scatterflower
78a644e592
Merge pull request #137 from AttorneyOnline/ignore-bglist
Add the ability to ignore the BG list per area
2021-06-21 21:50:26 -05:00
scatterflower
4f4b64e662
Merge pull request #140 from AttorneyOnline/fix-logging
Log commands and OOC messages separately
2021-06-21 21:46:29 -05:00
scatterflower
86e8d4dd7b
Merge pull request #141 from AttorneyOnline/fix-ban-crash
Fix crash with /ban
2021-06-21 21:45:53 -05:00
MangosArentLiterature
0e6efb18c0 Use QSettings instead of settings struct
As it turns out, I am not intelligent.
2021-06-19 23:05:33 -05:00
MangosArentLiterature
c4db245bec Rewrite ConfigManager and server configs
- Rewrites ConfigManager
- Adds DataTypes
- Changes "auth" and "logging" to use new AuthType and LogType types.
- ConfigManager now handles all config loading
- Remove AreaData and Server config.ini and command config loading.
2021-06-18 18:06:32 -05:00
MangosArentLiterature
4f7d5cd045 Discord webhook refactor
Completely refactors the Discord class, breaking it up into separate functions and slots, removing circular dependencies, and replacing most pointers with const references.
2021-06-17 19:21:37 -05:00
MangosArentLiterature
da7aa12b90 Fix crash with /ban
Sets /ban to require 3 arguments instead of 2
2021-06-14 11:24:18 -05:00
MangosArentLiterature
c7a1bc3ec9 fix documentation part 2 2021-06-12 12:15:20 -05:00
MangosArentLiterature
bfe5c8c733 fix documentation
def. didn't forget to do this
2021-06-12 12:13:26 -05:00
MangosArentLiterature
8416232ff9 Log commands and OOC messages separately
Now every OOC message won't be treated as if it were a command, only commands will be sent to the command logger.
Also, much needed .gitignore update
2021-06-12 12:05:47 -05:00
MangosArentLiterature
a561d3eb47 Mirror isIPBanned() changes to isHDIDBanned()
this also removes getBanReason and getBanDuration as they are now no longer needed

also minor clean up this websocket ip ban or whatever
2021-06-09 23:32:55 -05:00
MangosArentLiterature
555b4a0cbf Implement remote banning
- Use IPID for IP bans instead of remote IP.
- Remove 2 extraneous DB queries by altering isIPBanned()
- Allow banning unconnected clients
2021-06-09 23:15:06 -05:00
MangosArentLiterature
dc497a55f6 Add the ability to ignore the BG list per area
- Adds the "ignore_bglist" option to areas, which toggles whether the BG list is enforced or ignored in an area.
- Adds a moderator permission "IGNORE_BGLIST" to give moderators the permission to toggle this setting.
- Adds a moderator command `/ignorebglist` to toggle this for an area.
2021-06-08 09:12:04 -05:00
scatterflower
4c32cf86cc
Merge pull request #128 from AttorneyOnline/password-requirements
Add password requirements
2021-06-06 14:08:33 -05:00
MangosArentLiterature
65467df4ba Merge branch 'master' into password-requirements 2021-06-03 11:56:27 -05:00
MangosArentLiterature
6cf9f2dd23 Merge branch 'master' into ban-updating 2021-06-03 11:44:07 -05:00
Salanto
d52c069df2 Merge branch 'master' into discord_content 2021-05-15 16:53:05 +02:00
Cerapter
e6b00575d8 Merge remote-tracking branch 'refs/remotes/scatter/master' 2021-05-13 07:15:18 +02:00
Cerapter
de085461d9 Fix testimony problems, simplify statement hops, add tests for testimony 2021-05-09 18:02:50 +02:00
Cerapter
ba3d20186d Merge remote-tracking branch 'refs/remotes/scatter/master'
Conflicts:
	akashi.pro
	core/src/aoclient.cpp
	core/src/commands/authentication.cpp
	core/src/packets.cpp
	src/aoclient.cpp
	src/commands/authentication.cpp
	src/packets.cpp
2021-05-09 15:11:02 +02:00
Cerapter
f12567cd07 Document remaining AreaData functions 2021-05-09 14:25:30 +02:00
Cerapter
e435470952 Fix Doxygen looking in nonexisting directory, add more documentation 2021-05-05 23:07:43 +02:00
Cerapter
9423b25bf5 Fix remaining clazy-writing-to-temporary issues 2021-05-04 22:38:39 +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
Cerapter
0a87f30287 Corrected every error in the build
TODO: Documentation, test writing still.
2021-05-01 22:51:51 +02:00
Cerapter
08fd5896ba More work on AreaData rework 2021-05-01 17:45:59 +02:00
Cerapter
85cc9af73a Change all accesses to getters 2021-05-01 16:05:50 +02:00
Cerapter
5a0c291825 AreaData acccess rework, from direct to through getters
Literal hell.
2021-05-01 15:29:58 +02:00
Cerapter
f5cc137b40 Rename lib to core.
On Linux, the resulting shared library would have been called `liblib`, which is just dumb.
2021-04-26 21:14:25 +02:00