Commit Graph

42 Commits

Author SHA1 Message Date
dongresource 90191fd494 Add academy.json loading to TableData
This is where the permanent Academy-exclusive NPCs and mobs will be
loaded from. Resurrect 'Ems work now.
2020-12-23 13:50:12 -05:00
dongresource bc7f4883a2 Add Academy defaults to the config file 2020-12-23 13:50:12 -05:00
dongresource e3561e9d15 Change the default ports to match OG and Retro
The default monitor port can stay on 8003 for now.
2020-12-18 00:24:24 +01:00
CakeLancelot 51c3e01062
Tweak default viewdistance value in config.ini
Having it at 25600 caused client performance issues in areas with a lot of mobs, 12800 was too short, but after testing 16000 on the public server I feel this is a sensible default.
2020-12-14 10:36:02 -06:00
Kamil 05f4746af4 "Created" meta column + cleanup 2020-12-13 19:51:09 -05:00
dongresource 46552307cd Disable monitor by default in config file 2020-12-04 17:30:21 +01:00
dongresource c8b011913a Make monitor parameters configurable 2020-12-02 23:42:33 +01:00
dongresource c9f9b093f4 Bugfixes.
* Add newly created chunks to nearby players and NPCs. This fixes the
slider/static path mob pop-in problem.
* Update a player's chunks when resurrecting. This fixes a mob desync
problem.
* Use a private instance for the Time Lab
* Spawn a slider for every stop
* Fix mobs in private lairs using the template chunk mobs's current
health for their max health
* Don't call into the JSON lib in the loop in aggroCheck(). This is an
optimization found after using gprof.
* Don't print NPC deletions to console. This stops the spam when a
private instance is deleted.
* Changed default view distance to half the length of a map tile, so
chunks are aligned to map tiles
* Update tdata reference
2020-10-21 02:38:30 +02:00
dongresource 3ce8cf2129 Cleaned up item drop logic.
* Replaced bad exception logic with C-style error returns in ItemManager
* Removed unnecessary instances of objects being passed by value
* Fixed whitespace problems
* Added new config options to the default config.ini
* Updated tabledata reference
2020-10-18 01:30:37 +02:00
dongresource 5784e77654 Misc changes.
The first two fixes were caught by infer. The Big Bug(tm) remains
unfixed.

* Fixed the Leech nano power
* Fixed an unlikely nullptr dereference in ItemManager
* /toggleai now makes mobs retreat immediately, instead of waiting for
their next movement tick
* Static path mobs will now stop in place instead of retreating to
their spawn points when AI is disabled
* Changed the misleading config option name from "chunksize" to
"viewdistance", since it's actually only a third of the chunk size
2020-10-14 23:15:02 +02:00
dongresource d4d0f388c4 Implemented saving gruntwork results to file.
* Monkey Skyway paths are now saved in a format compatible with
paths.json
* flush() is called on every periodic DB save in addition to the /flush
and /mss N export commands
* Monkeys now accept WIP routes
2020-10-06 21:53:21 +02:00
CPunch 884b844d65 minor refactoring 2020-09-28 13:11:13 -05:00
dongresource ba5998d53a Added a config option to disable mob movement and combat.
This will come in handy when gruntwork starts.
Also fixed a bug where the ACCLEVEL setting was read as a boolean.
2020-09-22 20:53:44 +02:00
CakeLancelot adf017b07c
Move from isGM to Account Levels (#106)
Co-authored-by: dongresource <dongresource@protonmail.com>
2020-09-22 04:26:12 +02:00
dongresource 5d8bb7f8a5
Merge pull request #95 from gsemaj/monkeys
Paths framework + Monkey Skyway System framework
2020-09-22 03:54:01 +02:00
Gent 2c8243e136 General MSS fixes + tweaks
Add alert message for unpathed skyway routes
Fix overflow during lerp + add Future routes
Add documentation for MSS
Fix potential MSS registration bug
Minor tweaks + styling
Update packet broadcast
2020-09-21 21:43:39 -04:00
dongresource a768a4f539 Fixed halved NPC distance and renamed config option to chunksize. 2020-09-21 23:30:05 +02:00
CPunch b67a0b6946 removed usewebapi 2020-09-21 14:49:08 -05:00
kamilprzyb 5e0948ea93
Database saving update (#104)
* implemented saving BatteryN and BatteryW

* implemented saving mentor

* moved int64->blob parsing to a separate function

* moved parsing blob->int64 to a separate function

* added functions for parsing int32->blob and vice versa

* added functions for parsing int16->blob and vice versa

* WIP saving quest items and active tasks

* Quest items are stored in inventory table instead of blob

* added sanity check for missionId

* saving active missions works

* removed unneccesary include

* implemented saving warplocationflag, skywaylocationflag and currentmissionid in database

* INFO DB message now shows how many accounts and player characters are in the database

* fixed dbsaveinterval being in [login] instead of [shard]

* fixed mission quit:
- fixed wrong json name, causing qitems not deleting properly
- quitting mission now resets npc kill count

* adjusted saving active missions

* removed blob parsing functions that ended up being unused

* removed accidentaly added include

* removed sending PCStyle2 on Player Enter

* added a sanity check in itemMoveHandler

* removed MapNum from PCLoad, as client doesn't even read it

* set BuddyWarpCooldown to 60s on PCLoad

* fixed a bug causing EXIT DUPLICATE not working

* added creation and last login timestamps to accounts and players

* added a sanity check for P_CL2LS_REQ_PC_EXIT_DUPLICATE

* implemented web api support, toggled by new setting (off by default)

* add usewebapi to config

Co-authored-by: Gent <gentsemaj@live.com>
2020-09-21 14:43:53 -05:00
Gent cb984c029b Add paths JSON file 2020-09-20 15:24:17 -04:00
dongresource f7571607ba Only send live checks when the connection has been silent for a while.
Also:
* Made the timeout configurable
* Removed the stale randomcharacters config option
* Switched to time_t for time values, even though it doesn't really
matter that much
* Halved the keepAliveTimer frequency
2020-09-16 17:45:53 +02:00
dongresource ed86bc9160 Assorted cleanups and fixes.
* Clean up spacing/indentation
* Proper enum formatting
* Fix nano dismissal (for real this time)
* Do not copy Player struct when a pointer is right there
* Stop looking after the trade partner has been found
* Make sure we're shifting unsigned values (and 64-bit when they need to be)
* Look for JSONs in tdata/
* Add a dbsaveinterval to the example config.ini, in the login category
2020-09-14 16:07:05 +02:00
CPunch eb1ad6bb37 switched to dumped XDT & moved to a submodule 2020-09-09 12:06:22 -05:00
CPunch df655dfe29 added mobdata to config 2020-09-07 12:54:40 -05:00
CakeLancelot be4c5a8072
Update config.ini
Add acceptallcustomnames option
Correct comment
2020-09-02 07:12:24 -05:00
dongresource 3b35e0017a Moved all JSON files into a dedicated data directory. 2020-08-28 22:22:24 +02:00
dongresource 4178945abe Decoupled player and NPC view distance. 2020-08-26 04:58:17 +02:00
dongresource 3e5101892b Populated the future with scraped mobs.
This system is temporary; meant to ease testing.
2020-08-26 04:57:59 +02:00
dongresource b79bc56b31 Implement NPC spawning.
Protected by a simplified GM system. Either everyone is a GM (local
servers) or nobody is (public servers).
2020-08-25 04:28:42 +02:00
dongresource 113ce0af07 Load the NPC and warp JSON files according to the config file.
NPC data was being read from the config, but ignored.
2020-08-25 03:45:04 +02:00
dongresource c5dacb4958 Removed CRs from .gitignore and an outdated comment in config.ini. 2020-08-25 00:11:54 +02:00
dongresource e99feb03d5 Add verbosity levels. 2020-08-23 23:09:31 +02:00
CPunch c9bf3d1896 restored default config.ini 2020-08-22 19:27:08 -05:00
CPunch 88953541ef added INITSTRUCT to zero-out data 2020-08-22 19:26:18 -05:00
dongresource 35c622d8a2 Add support for verbose logging. 2020-08-22 19:39:13 +02:00
CPunch 78c493b461 switched default ip in config.ini 2020-08-21 23:37:09 -05:00
CPunch f289c72f6f populated NPCManager 2020-08-21 17:14:11 -05:00
CPunch 1425074ccb edited config.ini default back, better plr pos 2020-08-20 16:59:32 -05:00
CPunch 6857f50c30 added basic NPCManager 2020-08-20 16:43:48 -05:00
CPunch b43628a19d faster player distance check 2020-08-20 13:19:03 -05:00
dongresource 9f3f9bb9c3 Fix grammar. 2020-08-20 17:24:27 +02:00
dongresource 0654500df3 Add default config.ini.
Custom servers will always need one anyway. Might as well give them a
properly documented example to start with.
2020-08-20 17:14:25 +02:00