34 Commits

Author SHA1 Message Date
Emagi
8be57ce9eb #35 world peering limit client to one character active, only recover linkdead 2025-06-18 18:28:39 -04:00
Emagi
77971f36a2 removing since logging isn't available in this class at the moment 2025-06-08 15:19:11 -04:00
Emagi
fc9d92e98e Update WorldWeb.cpp 2025-06-08 14:56:56 -04:00
Emagi
82a5e96000 Work in progress for 0.9.9 so far (making its own branch for now)
- Fixed a repeated rubberband like behavior that Spawn's would run forward toward their target in combat or on their return run to their starting point.
- WS_HearCastSpell for 546-561 version has an extra byte at the end of the packet we were missing (might be in later clients too have to confirm)
- PlayerScripts support added, new function calls, AddTimer support for Players.
- Static Zones / Special Zones will now silently check to startup zones without reporting the log message, log message only on startup or taking on peer leadership.
- Broadcast and Global Announcement are now supported through peering.
- Fix #22 identified a number of loose spawn pointers and changed to int32 spawn id reference.
- Fix #1 support for all known chat codes for various channels, spell casting and damage.
- In conjunction with Fix #1 spell combat messages are fixed, no longer 'YOU cast' when another spawn casts, added last_tell_name to track the chat code %RT server side.
- size_mod added to InfoStruct Float, supports shrinking and growing Non Player's. InfoStruct also has a UINT ignore_size_mod_calc set to 0 by default, when 1 it will let you set the size_mod and items/spells will not override it from stat calculation.
- XP Table is now static (global) in the Player class so we do not constantly call the database each time the player needs to know a level's XP requirement.
- Removal of duplicate spell cast success and effect messages.
- Fix #21 blue xp bar for KoS and DoF displays properly now.
- GetExpRequiredByLevel(level) added to return the EXP required for to reach the level.
- Fix #25 teleporters cleaned up during /reload spawns to avoid crash
- Fix #16 /reload items supported in peering mode.
2025-06-08 14:53:52 -04:00
Emagi
54a215d1ba code warning fixes 2025-03-05 08:37:52 -05:00
Emagi
5bbcaa713a make web command in line for /reload spells 2025-02-09 16:39:09 -05:00
Emagi
314fc8396c Added tracking of zone duplicate id (when its a public zone) to the characters table. We will now properly persist to the respective zone when a public zone becomes instanced. 2024-12-23 17:43:58 -05:00
Emagi
42173ceef2 Added support to create duplicated zones of public zones (non city zone). Additionally spawn locations can be limited to the primary public zone and not replicated (for epics). 2024-12-23 08:46:11 -05:00
Emagi
fe10353863 Added public zone persistence of spawns back, command /location list respawns added, additionally added tracking of duplicate zones for exceeding player limits 2024-12-15 15:22:21 -05:00
Emagi
4d98819f35 Update HTTPSClientPool.cpp 2024-12-06 09:52:40 -05:00
Emagi
8e46e05b75 Update HTTPSClientPool.cpp 2024-12-06 09:37:43 -05:00
Emagi
02946500f9 fix tree parsing 2024-12-06 09:31:40 -05:00
Emagi
2769d97bfe Update HTTPSClientPool.cpp 2024-12-06 09:16:25 -05:00
Emagi
f0b37e67d1 Combined peering to a single request to reduce load 2024-12-06 09:11:30 -05:00
Emagi
c17b4d5588 Added CreateChoiceWindow, ClearChoice and GetChoiceSpawnID lua functions, added base of tracking for min, max, avg, first level for raid/group into instances... more work to complete tomorrow 2024-12-04 21:53:57 -05:00
Emagi
48b2b1cc4d fix some logging incorrectly referenced 2024-12-03 08:29:22 -05:00
Emagi
7a48aad79b Update HTTPSClientPool.cpp 2024-12-02 21:37:55 -05:00
Emagi
89fe9bf71b make sure peers have latest peering data for client connections 2024-12-02 21:37:05 -05:00
Emagi
a582ff2f28 avoid constantly creating ssl context 2024-12-02 20:56:01 -05:00
Emagi
405e43f672 Fixed polling issues when a server is erroring out and also peering the right id 2024-12-02 20:01:21 -05:00
Emagi
140d58d0da induce delay on polling thread 2024-12-02 19:43:22 -05:00
Emagi
8a163875fb exception handling with debug logs 2024-12-02 19:40:15 -05:00
Emagi
031bb0c518 Update HTTPSClientPool.cpp 2024-12-02 19:37:43 -05:00
Emagi
2bf5d29c76 Update HTTPSClientPool.cpp 2024-12-02 19:28:21 -05:00
Emagi
1a7061a6c0 debug log for polling 2024-12-02 19:27:22 -05:00
Emagi
cfe562c177 fix primary id 2024-12-02 19:14:17 -05:00
Emagi
c54067fcf6 only take primary if world is loaded 2024-12-02 19:03:25 -05:00
Emagi
5cbd2df6be missing atomic include? 2024-11-18 13:20:52 -05:00
Emagi
315ab1d0e7 Project Nebulark Part 1, So much to list, this is a rough summary
- Raid support and cross peer support for Isle of Refuge, DoF, KoS and AoM clients.
- Zone Persistence added to non-instanced zones.
- Commands: /whogroup, /whoraid, /raidinvite, /raid_looter, /kickfromgroup, /kickfromraid, /leaveraid, /split, /raidsay (rsay) added.
- Cross peer zone and instance support
- Cross tell support (along with ignore)
- Cross ooc support
- Cross group support (can chat, leave group, disband cross peers, update group options)
- Cross who all support
- houses/instances fixed no more cross objects/spawns/etc from other houses
- houses now display characters name with the house zone description
- 1000's of house items now properly work with wall/ceiling
- debug messages removed from housing placement
- Encounters locked to raid instead of group
- group options restricted to raid leader
- reload rules for following are peer wide:
COMMAND_RELOADSTRUCTS
COMMAND_RELOAD_QUESTS
COMMAND_RELOAD_SPELLS
COMMAND_RELOAD_ZONESCRIPTS
COMMAND_RELOAD_FACTIONS
COMMAND_RELOAD_MAIL
COMMAND_RELOAD_GUILDS
COMMAND_RELOAD_RULES
COMMAND_RELOAD_STARTABILITIES
COMMAND_RELOAD_VOICEOVERS
COMMAND_RELOADSPAWNSCRIPTS
COMMAND_RELOADREGIONSCRIPTS
COMMAND_RELOADLUASYSTEM
- special/static zones (always_loaded) are now defined by a peer_priority unsigned short (smallint(5)) in zones table.  peer_priority = server_config world.peerpriority will spawn on that exe instance, if it is not available it is distributed to all peers.  Using the value of 0 (assuming no peer has priority of 0) or 65535 will result in peer distribution of zones.
server_config.json "WorldServer" block updated with the following (web peer port information), priority must be unique for EACH peer:
        "peeraddress": "10.1.1.2",
        "peerport": "9102",
        "peerpriority": "1",

New Command Line Run Arguments for World Exe to override server_config.json values
Allowed options:
  --worldaddress arg         World address
  --internalworldaddress arg Internal world address
  --worldport arg (=0)       Web world port
  --webworldaddress arg      Web world address
  --webworldport arg (=0)    Web world port
  --peerpriority arg (=0)    Peer priority

- fixed Isle of Refuge client group struct (raids added also)
- new log category Peering
- new LUA Functions AddRespawn(Zone, LocationID, RespawnTime) and CreatePersistedRespawn(LocationID, SpawnType, RespawnTime, ZoneID)
2024-11-18 11:13:04 -05:00
Emagi
7c04bc7e91 Update WorldWeb.cpp 2024-10-17 09:12:53 -04:00
Emagi
88a7e3b295 Added /reloadrules to web interface 2024-10-17 09:01:27 -04:00
Emagi
4d659a2601 Web administration now has /setadminstatus support 2024-08-18 07:44:57 -04:00
Emagi
0766ac4cf2 Make client and worldserver rest responses conform to json standard 2024-08-06 06:49:10 -04:00
Emagi
89194da149 EQ2Emu Source Base July 2024 2024-07-22 08:52:28 -04:00