mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
* [Bots] Add support for Bot scripting. # Perl - Add support for `zone/bot.pl` and `zone/bot_v#.pl`. - Add support for `global/global_bot.pl`. - Add `$bot->SignalBot(signal_id)` to Perl. - Add `$bot->OwnerMessage(message)` to Perl. - Add `$entity_list->SignalAllBotsByOwnerCharacterID(character_id, signal_id)` to Perl. - Add `$entity_list->SignalBotByBotID(bot_id, signal_id)` to Perl. - Add `$entity_list->SignalBotByBotName(bot_name, signal_id)` to Perl. - Add `EVENT_SPELL_EFFECT_BOT` to Perl. - Add `EVENT_SPELL_EFFECT_BUFF_TIC_BOT` to Perl. # Lua - Add support for `zone/bot.lua` and `zone/bot_v#.lua`. - Add support for `global/global_bot.lua`. - Add `bot:SignalBot(signal_id)` to Lua. - Add `bot:OwnerMessage(message)` to Lua. - Add `entity_list:SignalAllBotsByOwnerCharacterID(character_id, signal_id)` to Lua. - Add `entity_list:SignalBotByBotID(bot_id, signal_id)` to Lua. - Add `entity_list:SignalBotByBotName(bot_name, signal_id)` to Lua. - Add `EVENT_SPELL_EFFECT_BOT` to Lua. - Add `EVENT_SPELL_EFFECT_BUFF_TIC_BOT` to Lua. # Supported Bot Events 1. `EVENT_CAST` 2. `EVENT_CAST_BEGIN` 3. `EVENT_CAST_ON` 4. `EVENT_COMBAT` 5. `EVENT_DEATH` 6. `EVENT_DEATH_COMPLETE` 7. `EVENT_SAY` 8. `EVENT_SIGNAL` 9. `EVENT_SLAY` 10. `EVENT_SLAY_NPC` 11. `EVENT_SPAWN` 12. `EVENT_TARGET_CHANGE` 13. `EVENT_TIMER` 14. `EVENT_USE_SKILL` # Common - Convert NPC pointers in common events to Mob pointers so bots are supported. - Convert signal IDs to `int` where it wasn't already, allowing negative signals to be sent properly. * Add EVENT_POPUP_RESPONSE. * Cleanup and fix EVENT_COMBAT/EVENT_SLAY/EVENT_NPC_SLAY. * Fix DoNPCEmote calls. * Update attack.cpp * Update event_codes.h * Update bot_command.cpp
EQEmulator Core Server
| Travis CI (Linux) | Appveyor (Windows x86) | Appveyor (Windows x64) |
|---|---|---|
EQEmulator is a custom completely from-scratch open source server implementation for EverQuest built mostly on C++
- MySQL/MariaDB is used as the database engine (over 200+ tables)
- Perl and LUA are both supported scripting languages for NPC/Player/Quest oriented events
- Open source database (Project EQ) has content up to expansion OoW (included in server installs)
- Game server environments and databases can be heavily customized to create all new experiences
- Hundreds of Quests/events created and maintained by Project EQ
Server Installs
| Windows | Linux | |
|---|---|---|
| Install Count |
> Windows
> Debian/Ubuntu/CentOS/Fedora
-
You can use curl or wget to kick off the installer (whichever your OS has)
curl -O https://raw.githubusercontent.com/EQEmu/Server/master/utils/scripts/linux_installer/install.sh install.sh && chmod 755 install.sh && ./install.sh
wget --no-check-certificate https://raw.githubusercontent.com/EQEmu/Server/master/utils/scripts/linux_installer/install.sh -O install.sh && chmod 755 install.sh && ./install.sh
Supported Clients
| Titanium Edition | Secrets of Faydwer | Seeds of Destruction | Underfoot | Rain of Fear |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Bug Reports 
- Please use the issue tracker provided by GitHub to send us bug reports or feature requests.
- The EQEmu Forums are also a place to submit and get help with bugs.
Contributions 
- The preferred way to contribute is to fork the repo and submit a pull request on
GitHub. If you need help with your changes, you can always post on the forums or
try Discord. You can also post unified diffs (
git diffshould do the trick) on the Server Code Submissions forum, although pull requests will be much quicker and easier on all parties.
Contact 
- Discord Channel: https://discord.gg/QHsm7CD
- User Discord Channel:
#general - Developer Discord Channel:
#eqemucoders
Resources
Related Repositories
- ProjectEQ Quests
- Maps
- Installer Resources
- Zone Utilities - Various utilities and libraries for parsing, rendering and manipulating EQ Zone files.
Other License Info
- The server code and utilities are released under GPLv3
- We also include some small libraries for convienence that may be under different licensing
- SocketLib - GPL LibXML
- zlib - zlib license
- MariaDB/MySQL - GPL
- GPL Perl - GPL / ActiveState (under the assumption that this is a free project)
- CPPUnit - GLP StringUtilities - Apache
- LUA - MIT
Contributors
Languages
C++
89.6%
C
6.4%
C#
2%
CMake
0.6%
Python
0.5%
Other
0.8%




