Commit graph

50 commits

Author SHA1 Message Date
Fate-JH e9daae5802
More Experience Fixes (#1163)
* revenge experience now rate down and capped; fixed issue with the tail of an empty list

* fixed column name difference between database and persistence objects
2024-01-17 23:32:54 -05:00
Fate-JH d3392ecab2 QoL changes; event chat messages for exp when in debt; different calculations for sep; timestamps for progress system start and clear; hopefully proper cleanup for progress system 2023-10-30 23:53:43 -04:00
Fate-JH e9dbd5f259 importing controlled implementation changes from original exp-for-kda branch; assist kill experience rewarded
importing controlled implementation changes from original exp-for-kda branch; code for contributions from prior activity, but will be adjusting to new contribution methods

kill contributions should work; even if they don't, need to put this away for now

extensivwe changes to the way OwnableByPlayer manages owner user information due to uniqueness, that changes a lot of vehicle and deployable code; fleshing out experience calculation procedure for future testing

events for mounting and dismounting of both passenger and cargo; id'ing the installation of an amenity (vehicle or facility); separation of kill/assist experience and support experience calculations; retention of kill record which allows for the calculation of menace

support experience accumulates and is given to the user in gradual provisions

rewarding facility capture through cep; not fully tested yet; math sucks

sort of cep to bep consditions for squad facility capture; bep deposit for ntu silo activity

early reivision for v010; recording ongoing shots fired and landed

restored bep from ntu deposits into resource silos; updating statistics in the database regarding kills and related stats including weapons; updated history management; basic experience calculation changes

all rewarded support events are accounted for

command experience calculations upon facility capture or resecure

corrected database migrations

most of the code for the play or progress system

statistics window updates for exosuits to report kills; killing an llu runner gives cep; moving play or progress functionality to a bang command rather than piggybacking setbr; bep is no longer too high by error
2023-10-17 14:06:21 -04:00
Fate-JH 90c507eaca before this, changed table on trigger without fixing function called by trigger 2023-10-11 17:50:08 -04:00
Fate-JH 5b806f8912 i am blind sometimes maybe 2023-10-08 13:34:31 -04:00
Fate-JH 6582e90499 no WHERE clause in trigger; moved that into called function body 2023-10-08 12:52:19 -04:00
Fate-JH 8d0b8648a2 removing the OF statement in a trigger 2023-10-08 12:20:20 -04:00
Fate-JH 0b0b23d99c
PostgreSGL 10 Standards (#1127)
* attempting to resolve pg14->pg10 issues

* unidon't

* rev 1

* rev 2

* rev 3

* rev 4
2023-10-08 11:52:50 -04:00
Fate-JH c9a14527ea
Merge pull request #1123 from Resaec/add_launcher_and_token_functionality
Add support for launcher login via tokens and file verification
2023-08-01 01:37:13 -04:00
Resaec 7f792d63d4 Add support for launcher login via tokens and file verification
Added code to LoginActor to handle client authentication via login token
Added code to LoginActor to generate the password used by the launcher to authenticate with the API
Changed code in LoginActor to replace deprecated bcrypt functions
Changed code in Account to add the field password, token and tokenCreated
Added database migration V009 containing table changes on account, new tables launcher and filehash and a trigger/function combo to update the tokenCreated column.
2023-08-01 00:33:14 +02:00
Fate-JH dc89fa6b3f plsql tables for a future kda update 2023-07-31 16:21:15 -04:00
Fate-JH 626366996b restored kamon; fixed deployment state MatchError due to unexpected states; attempt to resolve broken model state of vehicle 2023-05-21 00:45:35 -04:00
Jakob Gillich 1b367c455f
formatting 2023-04-15 19:02:46 +00:00
Jakob Gillich ea91251002
update sbt & dependencies
removed kamon because it is not being used
2023-04-14 14:12:50 +00:00
Fate-JH 630c2809cb
Shortcut to Grenade (#1010)
* routine that finds, equips, and draws a grenade if the user has it; moved handling of ObjectHeldMessage from SessionActor to PlayerControl; placed a arm movement restriction condition

* loading of, and adding and removing of shortcuts to/from both the database and the client hotbar

* player-driven sanity tests to reload otherwise unavailable hotbar shortcuts; revamp to CreateShortcutMessage
2022-10-24 18:16:08 -04:00
Fate-JH 1369da22f0
Login Location Persistence (#1009)
* database tables and persistence entities; attempt to retrieve values from database and apply them to the player avatar character; resolve spawn options in sanctuary in different manner

* minor database table field adjustments; saving to database when account persistence ends; properly loading from and initializing with data queried from the database; suicide better supported

* converting the zoning method/status tokens; better support of zoning handling of persistent locations; messages that explain the consequences of login-spawning into an invalid location

* adding triggers for the 'saved char' message, both those prompted by game activity and a 'reassurance' message; also, actually save the char data sometimes

* intervals for timing charsaved message set by configuration file now

* corrections to spawn tests and tables

* random sanctuary spawn in more places than one
2022-10-11 11:16:12 -04:00
Fate-JH 190a897dd5
Enemies (No Friends) (#1008)
* database, transfer objects and storage objects for lists of good friends, and of friends that you want to ignore

* friends and ignored players get added to lists, to the database, load in appropriate states, and update at basic appropriate times

* ignoring players and being ignored by players cuases loss of communication avenues, especially tells, and visibility

* modified the [friend list, ignored player list] x avatar query for better performance as the sizes of the results increases using joins and using targeted column selection

* obligatory fixes to tests that come with every update
2022-09-20 13:05:05 -04:00
Fate-JH ced228509c
Intercontinental Gaslighting (#998)
* diversified building management by injecting behavior; allocated entries for the intercontinental lattice and have begun connecting warp gate entities along the intercontinental lattice; beginnings of warp gate broadcast operations; disabled free merit commendations

* allow transit across a predetermined warp gate path, i.e., proper zone-to-zone gating

* game variables for modifying warp gate behaviors; moved choice of building game logic into overloaded constructor; only handle the capitol fore dome in more realistic conditions; warp gate state restored primarily b y internal game logic; changes to which and how gates are declared inactive or broadcast at startup

* initial work on WarpgateLinkOverrideMessage, even if the packet doesn't seem to do anything; added basic service for rotating cavern zone locks via the galaxy messaging service; moved error checking for lattice connectedness

* cavern closing warning messages queued

* starting to set up ChatActor for /zlock command, and added /setbaseresources; conditions for correcting broadcast conditions of a locking warp gate pair; system for rotating through locking and unlocking cavern zones only uses two timers now and has an advance command that speeds to the next closing warning or cavern opening

* expedited cavern rotations available via '/zonerotate' and '!zonerotate [-list]'; '/zonelock' should work for caverns, though distorting the rotation order to accommodate the cavern being unlocked; configuration arguments exist for the setup of cavern rotations and for the rotation itself

* populated cavern lattice connections for a specific rotation order; warp gates will properly activate and deactivate and modify their neighborhood information based on which stage of the rotation; fed up with the blockmap going wrong; added a sanity test for the cavern lattice; Spiker damage calculation changes

* adjusted local variable requirements of BuildingActor to integrate retained actors more closely with the Behavior; on the other hand, another value is passed around the logic

* bug fixes observed from issues found in logs since 20220520; halved the spawn height when gating to a cavern warpgate

* cavern benefits are now represented by enumeration classes rather than additive binary numbers; when facilities change state, benefits are evaluated; when caverns rotate, benefits are evaluated; cavern facility logic added; attempted handling for inventory disarray conditions (untested)

* broke down tabs for easier navigation; added test to stop spawning of cavern equipment when not otherwise permitted

* code comments, everywhere; correcting issues with cavern rotation timing reports

* but is it flying?
2022-06-14 02:21:24 -04:00
Jason_DiDonato@yahoo.com a6b09faa84 replaced EvaluatorFilter with custom regex-based filter and removed non-dependency 2021-07-02 07:30:29 -04:00
Fate-JH 7b840719be
Merge pull request #865 from Mazo/env-config
Load config with ConfigSource.default to allow environment variables or java opts to override config values
2021-06-15 18:58:38 -04:00
Fate-JH 7c64b23e1f
Persistent Vehicle Loadouts (#863)
* persisting vehicle loadouts in between sessions, saving to db and loading from db

* reusing refactored code for clob; initial loadout without empty entries; reverting method of stopping session child actors
2021-06-15 18:32:12 -04:00
Mazo 0bb681babc Load config with ConfigSource.default to allow environment variables or java opts to override config values 2021-06-13 15:36:02 +01:00
NickPSF 830ce27551
Update game_objects0.adb.lst 2021-05-31 09:56:51 -05:00
NickPSF 6e23f560bc
Update game_objects0.adb.lst 2021-04-25 18:54:20 -05:00
NickPSF 2c54e8013e
Update game_objects0.adb.lst 2021-04-25 15:41:33 -05:00
NickPSF 12c988912e
Update game_objects0.adb.lst 2021-04-22 21:17:19 -05:00
NickPSF a2231d70d3
Update game_objects0.adb.lst 2021-04-21 17:35:52 -05:00
NickPSF f66ed5015d
Update game_objects0.adb.lst 2021-04-21 14:46:41 -05:00
Jason_DiDonato@yahoo.com dfd8201683 fixed message duplicate cooldown filter 2021-04-17 07:43:41 -04:00
Fate-JH f5ef0a9674
A Bad Filter (#763)
* comment out most of apply-cooldown-to... filter to find out which part of it causes issues with the PR

* fixed resource silo tests

* everything but starting the scheduled task

* shutdown now

* cleaning schedule managed by simple time check
2021-04-15 08:38:31 -04:00
NickPSF ba1c4ce957
Update game_objects32.adb.lst 2021-04-12 01:54:07 -05:00
NickPSF edfdf0f7e6
Update game_objects32.adb.lst 2021-04-12 01:49:56 -05:00
NickPSF 546f6b75a0
Update game_objects31.adb.lst 2021-04-12 01:34:35 -05:00
NickPSF 1245e6ffc4
Update game_objects31.adb.lst 2021-04-12 01:19:23 -05:00
NickPSF 3321d630b7
Update game_objects30.adb.lst 2021-04-12 01:12:09 -05:00
NickPSF b05f9ae3f2
Update game_objects32.adb.lst 2021-04-12 00:20:25 -05:00
NickPSF 08d0d29886
Update game_objects31.adb.lst 2021-04-12 00:14:28 -05:00
NickPSF e7b1b17279
Update game_objects30.adb.lst 2021-04-12 00:00:38 -05:00
NickPSF bb6bc4b2a5
Update game_objects29.adb.lst 2021-04-11 23:51:41 -05:00
Jason_DiDonato@yahoo.com eea549707a added other logging filters, include a custom one for suppressing duplicate messages within a time period 2021-03-25 15:15:51 -04:00
Jason_DiDonato@yahoo.com 39d68b537d adjusted logback.xml to facilitate two populated logs for different purposes; brief pass over all instance of log calls 2021-03-23 11:45:28 -04:00
Fate-JH 71ab35ecab
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system

* master was stale

* grouped scheduling for timing orbital shuttle activity

* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway

* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door

* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle

* modification of seat mounting and cargo mounting support entities to expand functionality

* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly

* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone

* swap of shutle from pad to pad control; tests and comments

* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler

* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states

* rebase with master; looks like rebase with merged_master, which is also a commit

* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat

* fixing explosions

* fixed the persistence monitor service potentially using non-printable unicode in actor names

* can not use a droppod to gain access to one's own sanctuary

* removed hart facility update that causing open bay doors and beeping

* PR review changes

* fix for aggravation issues
2021-03-23 09:44:10 -04:00
Jason_DiDonato@yahoo.com f557ecc13d using the boomer trigger now causes boomers to explode and harm targets 2021-01-12 23:01:08 -05:00
Fate-JH babd455753
Yet Another Corpse Fix (#637)
* numeric session ids now restored; LoginActor knows about connection address; corpses are barren unless searched

* session and login id/counter moved under server; function literal definition changed

* corpse channel

* trying to fix docker as per set-env requirement changes; I don't know what I'm doing
2020-11-27 09:30:56 -05:00
Jason_DiDonato@yahoo.com 15ab209975 renovate sentry update changes init params, no longer taking dsn string straight 2020-11-26 08:42:14 -05:00
Jason_DiDonato@yahoo.com 69b3a8a4bf each zone now has access to its own bundle of task resolver objects; primary changes to reflect this has been the simplification of item moving parameters; tests corrected 2020-10-10 09:16:56 -04:00
Jakob Gillich 407429ee21 Networking
The game uses a UDP-based protocol. Unlike TCP, UDP does not guarantee that
packets arrive, or that they arrive in the correct order. For this reason,
the game protocol implements those features using the following:

* All packets have a sequence number that is utilized for reordering
* Important packets are wrapped in a SlottedMetaPacket with a subslot number
* RelatedA packets ae used to request lost packets using the subslot number
* RelatedB packets are used to confirm received SlottedMetaPackets

All of these go both ways, server <-> client. We used to only partially
implement these features: Outgoing packet bundles used SMPs and could be
resent, but not all packets were bundled and there was no logic for requesting
lost packets from the client and there was no packet reordering, which resulted
in dire consequences in the case of packet loss (zoning failures, crashes and many
other odd bugs). This patch addresses all of these issues.

* Packet bundling: Packets are now automatically bundled and sent as
  SlottedMetaPackets using a recurring timer. All manual bundling functionality
  was removed.

* Packet reordering: Incoming packets, if received out of order, are stashed and
  reordered. The maximum wait time for reordering is 20ms.

* Packet requesting: Missing SlottedMetaPackets are requested from the client.

* PacketCoding refactor: Dropped confusing packet container types. Fixes #5.

* Crypto rewrite: PSCrypto is based on a ancient buggy version of cryptopp.
  Updating to a current version was not possible because it removed the
  MD5-MAC algorithm. For more details, see Md5Mac.scala.
  This patch replaces PSCrypto with native Scala code.

* Added two new actors:
  * SocketActor: A simple typed UDP socket actor
  * MiddlewareActor: The old session pipeline greatly simplified into a
    typed actor that does most of the things mentioned above.

* Begun work on a headless client

* Fixed anniversary gun breaking stamina regen

* Resolved a few sentry errors
2020-09-26 23:58:09 +02:00
Jakob Gillich fd1fe134f4 Remove AMS certification requirement 2020-09-08 08:00:17 +02:00
Jakob Gillich 0fdd3a0133 Add unprivileged-gm-commands config option
Also replaced !kick with /worldkick (CMT_KICK)
2020-08-26 06:19:00 +02:00
Jakob Gillich f4fd78fc5d Restructure repository
* Move /common/src to /src
* Move services to net.psforever package
* Move /pslogin to /server
2020-08-26 06:19:00 +02:00