Commit Graph

13 Commits

Author SHA1 Message Date
Leifa♥
657a47b029 Added flexible ACL roles (#7)
Resolve #4
2022-06-15 17:52:27 -05:00
Leifa♥
b0555207d6 Privatization rework (#2)
* Add clang-format

* Multiple privatization changes

"Participation handshake" this refers to the moment that the user's client sends the `askchaa` packet.

* Server::m_clients is now private. Get a copy with Server::getClients()
* Server::m_player_count is now private. Get a copy with Server::getPlayerCount() (Additional logic was added to handle the player count.)
* AOClient::m_joined is now private. Get a copy with AOClient::hasJoined()
* Added signal AOClient::joined(); will be emitted when the client first complete the participation handshake.
* Renamed Server::updatePlayerCount to Server::playerCountUpdated

* Privatized Server

* Made Server members private: m_characters, m_areas, m_area_names
* Added Server methods: getCharacters(), getAreas(), getAreaById(f_area_id), getAreaByName(f_area_name), getAreaNames(), getAreaName(f_area_id), getMusicList
* Added Server helper methods: getCharacterCount(), getAreaCount()
- This reduce code repetition of the following example: server->getCharacters().length(), server->getAreas().size()

* Solved other merge conflicts

* Added Server methods, various fixes

* Added Server methods: getCharacterById(f_chr_id)
* Various optimizations

* More Server privatization changes

* Made Server members private: db_manager, next_message_timer, can_send_ic_messages
* Renamed Server members:
  * next_message_timer -> m_message_floodguard_timer
  * can_send_ic_message -> m_can_send_ic_message
Added Server methods: getDatabaseManager, isMessageAllowed, startMessageFloodguard(f_duration)
Made Server methods private: allowMessage

* Added new fields to load for AreaData

* Added fields: `area_message` (default: empty string) and `send_area_message_on_join` (default: false)

* Added Server::clearAreaMessage

* Cleaned up headers include (AOPacket excluded)

* Removed most project file includes, moved to source file (cpp)
  * AOPacket was excluded because some methods modify the copy

* Fix compile error when using MingW compiler

* Appease clang by using proper or and putting it in parentheses
* Remove extra semicolon
2022-06-15 17:52:27 -05:00
AwesomeAim
79c6e5e395
Ensure /changepass always has arg 1 as the password
Otherwise, the syntax is /changepass <Password> or /changepass <Moderator> <Password>, rather than /changepass <Password> 'Moderator', like how it's specified to be
2022-05-05 22:58:56 -07:00
Salanto
f523fc6ec0 AOClient madness 2021-09-11 19:46:40 +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
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
65467df4ba Merge branch 'master' into password-requirements 2021-06-03 11:56:27 -05:00
Cerapter
e6b00575d8 Merge remote-tracking branch 'refs/remotes/scatter/master' 2021-05-13 07:15:18 +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
0a87f30287 Corrected every error in the build
TODO: Documentation, test writing still.
2021-05-01 22:51:51 +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