* Archive decompression from apollo
* Removed unused object definition fields
* Add more options to IndexedFileSystem
New methods are to read directly to a bytearray rather than allocating a large number of ByteBuffers on server startup for map loading. decompress is from client and will be depre
* Fix opcode 19 of object defs
* Initial commit of loading maps from cache
* Removed deprecated methods
Methods were in IndexedFileSystem for testing to ensure the getFileBytes method worked correctly.
* Some code cleanup to fix packaging.
#TODO review methods in CompressionUtil to use the best Gzip decompression
* map_index loading from cache
* Update pom.xml
Added commons compress dependency from maven for bzip2 decompression
* Renaming some object definition values.
* Update ObjectDefinition.java
Removed rest of unused variables
* Update ObjectDefinition.java
* Object Definitions loading from cache
* Remove dead code
* Remove unneeded files
Maps/Definitions now load from in the cache.
* Firemaking clipping
* Discord Bot Update
Updated JavaCord To Latest
Changed Some Commands To No Longer Be World Specific
Added An "AdminCommands" Command
* Update Some Server Libs
* Added Purge & Pin/Un-Pin To Commands Discord Bot
* Fixed -dev & -no-crc Client Args
* Add Discord User ID Linking Support(Useless For Now)
* Added Support For User's Kicking Own Accounts Through Discord Bot
* Merge Website Integration Stuff Into One Var
* Start Setting Up Second World
Added World Number To Login Message
Added World Number To Login Interface
Made World 2 Listen On Different Port
Made Client Connect To 43597 For World 2
* Small Cleanup For World 2 Support
Calculate Port For World Based On World Number
Use Existing World int For World In Server
* Woops Wrong Ports
* Set Server Port After Loading Config
* Add xpRate Var & Include With XPRate Calculations
* Add -w/-world arg to client
* Add XP Rate Multiplier For Non-Bot Worlds
* More Multi World Stuff
Update Integrations(Discord Bot/Website Stuff) For Multiple Worlds
Added More XP Rate Dialogue Stuff
* Add Kick Command To Discord Bot & Fix Type In ConfigLoader
* Create/Use commandPrefix Var For Discord Bot
* Small Fixup For World 2
Renamed BOT_WORLD to VARIABLE_XP_RATE
Fixed Dialogue/Message grammar
Added a check for VARIABLE_XP_RATES to ::xprate command
* More Discord Commands(GameKick, MoveHome & Update)
*GameKick kicks A player if their client froze but acc stayed logged in
*MoveHome removes the need for ::stuck which removes potential for abuse
*Update schedules A server update
* Minor fixup
* 43597 → 43598
* Fix XP Rate Multiplier & add ::xprate to cooamnds list if enabled
* Use Either VARIABLE_SKILL_RATE OR XP_RATE Not Both
TODO(Convert Player.xpRate Into An Array For Easier Rate Changes)
* Create/Use PLAYER_XP_RATES For Easier Rate Changes
* Fixed Abusive Client Command Privileges & Added myxprate/checkxprate
* Allow Loading VARIABLE_XP_RATES & PLAYER_XP_RATES From Config
* Properly Update Client Title Logo
If The Cache Has Already Been Downloaded You Will Need To Delete It & Let The Client ReDownload It
* Fix Cache CRC Checks For The Client(Allows Cache To Actually Check For Updates)
* Add -no-crc & -dev Arguments To Client
* Fix Naming For Some Vars
* Make CHECK_CRC Description More Descriptive
* Fix More Var Descriptions
* Cleanup Unused GameConstants Vars & Add More Vars To ConfigLoader
Co-authored-by: Danial <admin@redsparr0w.com>
* Merge The File&Game Servers Into One Module
* Make SettingsLoader A GameConstants ConfigLoader
If A Config File Isn't Used, The Server Will Fall Back To The Defaults Set In GameConstants.java
Config Files Can Be Loaded With The "-c/-config configfilelocation.json"
Added A Default Prefilled ServerConfig.json
* Update ConfigLoader
* Bring Back Independant "Secrets" Loader For External Password Stuff
* Added A Bunch More Vars To The ConfigLoader
* Included A Sample "Server Config"
* Also Updated README.md As Parabot Is No Longer Maintained & We No Longer Have A FileServer Module
* Bundle FileServer with Server (docker)
* Remove /udp and http port
* Update .gitignore
* Move FileServer from `org.apollo.jagcached` → `org/apollo/jagcached`
* Tidy GameConstants & Add More Vars To ConfigLoader
* Organised Up GameConstants A Little To Separate ConfigLoader Vars From The Rest
* Added Some More Variables To Be Loaded Through The ConfigLoader
* Fix A Derp Caused By Laziness
* Add -c/-config arg to README.md
* Enable FileServer By Default
Co-authored-by: Danial <admin@redsparr0w.com>
* Started Ripping Plugin System From Astraeus
*Currently only ClickingButtons Support
*Also Started Using The Logout Button Plugin From Astraeus
* NpcFirstClickEvent setup for plugins
also made Man & Women chat work through this
* Server: Add Google Collect Lib
* Server: NpcSecondClickEvent setup for plugins
also handle pickpocketing npc clicking through plugin
* Server: NpcThirdClickEvent setup for plugins
* Server: Remove conflicting action for Secondclicking npc id 3
* Server: ItemFirstClickEvent setup for plugins
Also Handle Yo-Yo First Click Through This
* Server: ItemOnItemEvent setup for plugins
Also Handle Black Candle Lighting With Tinderbox Through this
* Server: ItemOnNpcEvent setup for plugins
* Server: ItemOnObjectEvent setup for plugins
Also Handle Fillable Items Through This
* Server: ItemSecondClickEvent & ItemThirdClickEvent setup for plugins
Also Handle Yo-Yo Actions Through This
* Server: ObjectFirstClickEvent setup for plugins
Also Handle FirstClick Mining Actions Through This
* Server: ObjectSecondClickEvent setup for plugins
Also Handle Stall Thieving Actions Through This
* Server: ObjectThirdClickEvent setup for plugins
* Server: ObjectFourthClickEvent setup for plugins
Also Handle Fourth Click Farming Object Actions Through This
* Server: MagicOnItemEvent setup for plugins
Also Handle SuperHeat Through This
* More mage training arena (#509)
* Fixup points display
* Only allow players to deposit up to 12k at one time
* Apple damage and play animation
* Update order or prices
* Update Telekinetic.java
(cherry picked from commit ab3b1e9731)
Co-authored-by: RedSparr0w <RedSparr0w@users.noreply.github.com>
Co-authored-by: Danial <admin@redsparr0w.com>
* Fixup door/stairs in mage training arena
* Fixup bedsheets, should be worn on head, not weapon slot
* [Mage Training Arena] spawn rewards guardian
* [Mage Training Arena] Add arena teleports (non functioning)
* Just adding some comments
* [Mage Training Arena] Basic mage training arena stuff
* [Mage Training Arena] Allow shop to open and show items correctly
* [Mage Training Arena] Show shop prices when clicked
* noclip
* [Mage Training Arena] Add 2nd option handler (filler)
* [Mage Training Arena] Be able to purchase stuff, lock bones to peaches
* Update MageArena.java
* [Mage Training Arena] setup boundary
* Readability
* Tidy up enchanting
* MageArena -> MageTrainingArena
* Create Alchemy.java
* Update RSInterface.java
* [Mage Training Arena] Spawn entrance npcs
* [Mage Training Arena] Initial Alchemy
* [Mage Training Arena] Add comments
* [Mage Training Arena] Handle alchemy while in arena
* [Mage Training Arena] Show interface for alchemy room
* [Mage Training Arena] Display values, Search cupboards
* [Mage Training Arena] Don't allow the player to wear items from the Alchemy game
* [Mage Training Arena] Announce when items are changing
* Don't allow the player to bring any coins with them
* Sort by values
* [Mage Training Arena] Allow alching items etc
* Update method name
* Show magic tab after using alch even if can't alch
* [Mage Training Arena] Coin collector - temp
* [Mage Training Arena] Give player points, take items, add bonus xp, add bank items
* [Mage Training Arena] Remove items when player leaves the alchemy training area
* Fixup staffs for runes, Tidy up checks
Was missing all Mystic staff
* Fixup Discord links
* Fix required level to chop Dramen tree
* More Discord link fixes
* Show bots as (store)
* Fixup port
move to port 8080 as used by file server
* Fixup report handler
* Some client changes
* minor changes
Show mod status
* Show item value on ground
* Mark stores and players differently on mini map
* Some tidy up
* default to world 1
* Update trade with text
* revert nodeID changes
* Update RS Guide name
* Remove some command aliases
* Log bots and players differently
* Fixup
* minor changes
* Fixup colors
* Update RSInterface.java
* Settings for controlling options
* Add memory command
* Update server skill magic numbers
* Update server skill magic numbers
* Update colors for ground item text
* Update .gitignore
* Update player health value more often
* Add in game item/NPC/object search
* Item amounts and value displayed
* Update examine text
* Start with volume off
* Fixup tab 7 still showing with other interfaces
* Fixup search
* Fixup entering numbers after letter in amounts
* minor fixup
* fix indentation
* change type of value
* Fixup values shown
* Fix when clicking while tab 7 open
* Fixup negative amounts
* Update some method names
* Fixup method name
* tidy up method values
* Initial move for overlays
* Update more method names, variables
* Update debug menu
* Update experience info area
* Update Signlink.java
* more refactoring/deob
* Tidy up
* refresh skills
* Update method name, debug display
* fixup
* Show wrench icon on custom settings tab
* alignment
* Modify zoom
* Use smaller numbers for exp/h
* Update interface command
* tidy up
* Fixup tele location
* Fixup if interface doesn't exist
* Add some interface options
* Update checks
* Open bank interface for item search
TODO:
change title
maybe not display in chat
change options for items?
change command to searchitem - open the bank interface, open a text input interface
* re-fix
* Show open interface ID
* Update bank string shown
* Update search function
* Scroll zooming
* Only fill chat with search if not searching for an item
* add comments
* Change system update message
* Remove fps command
* Increase draw distance
* fixup
* Draw distance option
* [Party Room] Fix party room stairs
* Add new free slots method to check for stackable items counting as a free slot
* [Party Room] Deposit/Withdraw items all working
* [Party Room] Fully working
* [Party Room] Don't spawn balloons on the table
Players cannot pickup the items
* Fixup boundary
* Drop items in random amounts up to 4 stacks
* Update swampy boat to work
* Minor fixup
* Update Game.java
* Move player name up slightly
* Update some naming
* Tidy up
* Add ectoplasm agility shortcuts
* Update ObjectsActions.java
* Ectofuntus stuff
* fixup
* Ectofuntus bone grinder get status
* auto worship
* Allow claiming ecto-tokens
* change variable
* fixup
* Make use of GameConstants.WORLD
* Randomize bot passwords
* Don't show player shops as online
* Update opening oysters
* Update GemCutting.java
* Dragontooth island transport
* Ectofuntus stuff
* More constants
* Bill teach travel to Mos Le'Harmless and back
Also able to explore the whole ship
* Use better looking buttons
* Update .gitignore