6b257887b7 
					 
					
						
						
							
							Use an std::vector for PollFDs instead of handling it manually  
						
						... 
						
						
						
						Lowered poll() timeout to 50, to fix (work around?) slider stutter. 
						
						
					 
					
						2020-12-05 22:51:17 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ec7cba644c 
					 
					
						
						
							
							Clean up polling logic  
						
						... 
						
						
						
						* Extracted PollFD manipulation and nonblocking socket configuration
into helper functions
* Replaced the connections list with an unordered_map
* Dynamically grow the number of PollFD structures with realloc()
With these changes done, the server's CPU usage is completely diminished
from its old average of ~47% to ~0.07%, with occasional spikes up to ~14%. 
						
						
					 
					
						2020-12-05 22:47:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						269315ca09 
					 
					
						
						
							
							Support for poll() (ie. WSAPoll()) on Windows  
						
						
						
						
					 
					
						2020-12-05 22:47:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						661061b4eb 
					 
					
						
						
							
							Switch to non-blocking sockets + poll(); prepare for Windows logic  
						
						
						
						
					 
					
						2020-12-05 22:47:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3a2b488f33 
					 
					
						
						
							
							[WIP] fixed a million bugs and one potential one  
						
						
						
						
					 
					
						2020-12-05 22:47:50 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						721b3f440f 
					 
					
						
						
							
							[WIP] Switched to poll(), but only on Unix  
						
						
						
						
					 
					
						2020-12-05 22:47:50 +01:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						b04c377d7c 
					 
					
						
						
							
							Properly implement item types.  
						
						
						
						
					 
					
						2020-12-04 16:42:58 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						794856a63c 
					 
					
						
						
							
							Clean up item loading from XDT.  
						
						
						
						
					 
					
						2020-12-04 13:57:08 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						856a90abcf 
					 
					
						
						
							
							Fix nano logic in goo damage running without a nano out  
						
						
						
						
					 
					
						2020-12-04 11:59:53 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						88d904e302 
					 
					
						
						
							
							Fix FM patches not dealing damage unless invulnerable  
						
						
						
						
					 
					
						2020-12-04 17:48:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						46552307cd 
					 
					
						
						
							
							Disable monitor by default in config file  
						
						
						
						
					 
					
						2020-12-04 17:30:21 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						26024de866 
					 
					
						
						
							
							Support the monitor interface on Windows as well  
						
						... 
						
						
						
						This change required sacrificing both code cleanliness and the specific
error reports from perror(). Those could have been kept with a portable
wrapper, but that's too much work. We'll do it if unforseen errors
arise. 
						
						
					 
					
						2020-12-04 17:25:32 +01:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						85dcdd4cc5 
					 
					
						
						
							
							Added /hide command to exclude players from monitor output  
						
						
						
						
					 
					
						2020-12-04 07:24:33 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						6e7129bf6f 
					 
					
						
						
							
							Update tdata ref 12/3  
						
						
						
						
					 
					
						2020-12-04 06:51:30 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						1ca8094628 
					 
					
						
						
							
							Fix regression with disconnected player on Skyway agent.  
						
						
						
						
					 
					
						2020-12-03 15:33:14 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						543d0a7afd 
					 
					
						
						
							
							Fix edge case for nano mission acquisition  
						
						... 
						
						
						
						This caused players to only get nano missions after exceeding the required FM instead of meeting it. 
						
						
					 
					
						2020-12-03 00:05:14 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						4c398895aa 
					 
					
						
						
							
							Make /lair fit convention.  
						
						
						
						
					 
					
						2020-12-02 18:41:09 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e899928928 
					 
					
						
						
							
							Do not try to compile the monitor on windows  
						
						
						
						
					 
					
						2020-12-03 00:15:06 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c8b011913a 
					 
					
						
						
							
							Make monitor parameters configurable  
						
						
						
						
					 
					
						2020-12-02 23:42:33 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						15b63f3cbd 
					 
					
						
						
							
							Fix regression with a disconnect check in MobManager::combatStep()  
						
						
						
						
					 
					
						2020-12-02 23:32:38 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ce1a5a7664 
					 
					
						
						
							
							Handle partial transmissions of the buffer to the monitor  
						
						
						
						
					 
					
						2020-12-02 20:19:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c6112d04da 
					 
					
						
						
							
							Implemented player position monitor interface  
						
						
						
						
					 
					
						2020-12-02 20:19:34 +01:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						73f8179836 
					 
					
						
						
							
							Make aggro space spheroidal on Z  
						
						... 
						
						
						
						By doubling the z difference used in distance calculation, mobs above or below the player will aggro less often. 
						
						
					 
					
						2020-12-02 09:20:33 -05:00 
						 
				 
			
				
					
						
							
							
								Gent Semaj 
							
						 
					 
					
						
						
							
						
						86f17b6525 
					 
					
						
						
							
							Show announcements in server log  
						
						
						
						
					 
					
						2020-12-01 19:59:18 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fed3eca378 
					 
					
						
						
							
							Display area announcement to invoking player as well  
						
						... 
						
						
						
						Also clarified that shard- and world-level announcements will not be
implemented as they are not applicable to our single-shard server. 
						
						
					 
					
						2020-12-01 23:32:45 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						840cba6a9e 
					 
					
						
						
							
							Removed obsolete ASAN suppressions  
						
						... 
						
						
						
						Also added a missing suppression for doDamageNDebuff(). 
						
						
					 
					
						2020-12-01 23:32:20 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb9c4140b6 
					 
					
						
						
							
							Remove redundant namespace specifiers in PlayerManager::init()  
						
						
						
						
					 
					
						2020-12-01 22:24:18 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						657061083e 
					 
					
						
						
							
							Lose aggro and do not take damage if invulnerable  
						
						
						
						
					 
					
						2020-12-01 21:37:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8a86c75747 
					 
					
						
						
							
							Make sure each group member is alive before healing/buffing them  
						
						
						
						
					 
					
						2020-12-01 21:37:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						046e7bb6f1 
					 
					
						
						
							
							Do not aggro on players with /invulnerable  
						
						
						
						
					 
					
						2020-12-01 21:37:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1e822f7a6c 
					 
					
						
						
							
							Removed redundant checks for a nullptr from PlayerManager::getPlayer()  
						
						... 
						
						
						
						These were written in desparation and never should have been there in
the first place. 
						
						
					 
					
						2020-12-01 21:37:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c43a3d64fb 
					 
					
						
						
							
							Removed the Player pointer from CNSocket  
						
						... 
						
						
						
						It was a leak in the abstraction that we weren't even using that much.
This is technically a de-optimization, but it's okay since it's not a
hot code path. 
						
						
					 
					
						2020-12-01 21:37:34 +01:00 
						 
				 
			
				
					
						
							
							
								Titan 
							
						 
					 
					
						
						
							
						
						7c5d7a70cc 
					 
					
						
						
							
							Fix enter key sending '\n' in passwords  
						
						
						
						
					 
					
						2020-12-01 14:29:21 -05:00 
						 
				 
			
				
					
						
							
							
								Titan 
							
						 
					 
					
						
						
							
						
						c1941654b6 
					 
					
						
						
							
							Basic Implementation of a lair unlock command  
						
						
						
						
					 
					
						2020-12-01 14:19:16 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						d2d6171d04 
					 
					
						
						
							
							Fix gumballs only lasting 1 minute instead of 10  
						
						
						
						
					 
					
						2020-12-01 13:47:54 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						58952be47e 
					 
					
						
						
							
							Added silent unsummoning  
						
						... 
						
						
						
						- summonNano now supports an optional "silent" argument
- gumballs now last 10 minutes.
- fixed comments 
						
						
					 
					
						2020-12-01 13:16:14 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5771cd014a 
					 
					
						
						
							
							Various bugfixes and tweaks  
						
						... 
						
						
						
						- timed missions of all types should work.
- nanos now transmit an unsummon on 0 stamina.
- dying bumps your nanos down to half stamina now.
- enemies use abilities less frequently.
- group recall now works at any distance.
- passive nanos are tweaked to guzzle less stamina.
- cleared out some redundant stuff at the nanoPower handler. 
						
						
					 
					
						2020-12-01 13:16:14 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						c9754902b9 
					 
					
						
						
							
							Instance fusion lair NPCs, remove non-mob fusions, stub non-mob paths  
						
						
						
						
					 
					
						2020-12-01 06:07:10 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						c508016ca3 
					 
					
						
						
							
							Play nano mission animation for nearby players  
						
						
						
						
					 
					
						2020-11-30 20:36:20 -05:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						4863d29590 
					 
					
						
						
							
							Fix /unsummonW crash on non-mob NPCs  
						
						
						
						
					 
					
						2020-11-30 10:53:34 -05:00 
						 
				 
			
				
					
						
							
							
								CakeLancelot 
							
						 
					 
					
						
						
							
						
						128aad89d3 
					 
					
						
						
							
							Update tdata ref to include all overworld mobs  
						
						
						
						
					 
					
						2020-11-29 19:31:50 -06:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						858fbf40be 
					 
					
						
						
							
							Do not strip newlines from email bodies  
						
						
						
						
					 
					
						2020-11-29 21:31:54 +01:00 
						 
				 
			
				
					
						
							
							
								Gent S 
							
						 
					 
					
						
						
							
						
						1d7f8bd133 
					 
					
						
						
							
							Mob abilities cleanup  
						
						
						
						
					 
					
						2020-11-28 12:41:00 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a9ad399bc2 
					 
					
						
						
							
							Various Tweaks to Mob skill behavior  
						
						... 
						
						
						
						- Fixed enemy abilities playing after death
- Nerfed frequency further
- Heal on retreat correctly
- Nerfed damage and corruption skill damage 
						
						
					 
					
						2020-11-28 11:41:32 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						963205fad6 
					 
					
						
						
							
							Added Nullptr check + Made mob abilities less frequent  
						
						
						
						
					 
					
						2020-11-28 11:41:21 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b836952356 
					 
					
						
						
							
							Restructured Arrays to Vectors  
						
						
						
						
					 
					
						2020-11-27 19:02:54 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6fb652f642 
					 
					
						
						
							
							Corruption reflection + Extra adjustments  
						
						
						
						
					 
					
						2020-11-27 16:33:22 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2cde3e34f6 
					 
					
						
						
							
							Active skills, Corruption and Eruption  
						
						
						
						
					 
					
						2020-11-27 16:33:18 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1371a6da77 
					 
					
						
						
							
							Base Variadic MobPowers Handler  
						
						
						
						
					 
					
						2020-11-27 16:32:59 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d2e89851d6 
					 
					
						
						
							
							Non-group buffs do not misbehave + Revive nano stamina fix  
						
						
						
						
					 
					
						2020-11-27 15:40:49 -05:00