This is a fork of https://github.com/Mateuzkl/forgottenserver-downgrade-1.7-8.60/ and https://github.com/MillhioreBT/forgottenserver-downgrade. Analyzed and optimized by JohncoreX.
Version: TFS 1.7 | Protocol: 8.60
- This downgrade is not download and run distribution, monsters and spells are probably not 100% correct.
- You are welcome to submit a pull request though.
Don't want to compile? No problem! You can download the latest pre-compiled binaries from AppVeyor:
-
Visit the AppVeyor builds page:
-
Select the latest successful build:
- Click on the most recent build with a โ green checkmark
- Example: https://ci.appveyor.com/project/Mateuzkl/forgottenserver-downgrade/builds/53194264
-
Download the artifacts:
- Click on the "Artifacts" tab at the top
- Scroll down to find the "zips" folder
- Click on "tfs.zip" to download
-
Extract and replace:
- Extract the downloaded
tfs.zipfile - Copy all
.dllfiles andtheforgottenserver-x64.exefrom the zip - Paste them into your server folder (replace existing files)
- Extract the downloaded
-
Run the server:
- Double-click
theforgottenserver-x64.exeto start your server - Done! ๐
- Double-click
Note: This method is perfect for quick testing or if you don't have a compiler installed.
sudo apt install git cmake build-essential libluajit-5.1-dev libmysqlclient-dev libboost-system1.74-dev libboost-iostreams1.74-dev libboost-filesystem1.74-dev libboost-locale1.74-dev libpugixml-dev libfmt-dev libssl-dev libspdlog-dev -ygit clone -b Revscrypt-full --single-branch https://github.com/Mateuzkl/forgottenserver-downgrade-1.7-8.60.git revscrypt-project
cd revscrypt-project
mkdir build && cd build
cmake ..
make -j$(nproc)sudo apt install git cmake build-essential libluajit-5.1-dev libmysqlclient-dev libboost-system1.83-dev libboost-iostreams1.83-dev libboost-filesystem1.83-dev libboost-locale1.83-dev libpugixml-dev libfmt-dev libssl-dev libspdlog-dev -ygit clone -b Revscrypt-full --single-branch https://github.com/Mateuzkl/forgottenserver-downgrade-1.7-8.60.git revscrypt-project
cd revscrypt-project
mkdir build && cd build
cmake ..
make -j$(nproc)If you are using OTCv8 client, you need to enable the correct game features for version 860.
Add the following code to your client's modules/game_features/game_features.lua file:
if(version >= 860) then
g_game.enableFeature(GameAttackSeq)
g_game.enableFeature(GameBot)
g_game.enableFeature(GameExtendedOpcode)
g_game.enableFeature(GameSkillsBase)
g_game.enableFeature(GamePlayerMounts)
g_game.enableFeature(GameMagicEffectU16)
g_game.enableFeature(GameOfflineTrainingTime)
g_game.enableFeature(GameDoubleSkills)
g_game.enableFeature(GameBaseSkillU16)
g_game.enableFeature(GameAdditionalSkills)
g_game.enableFeature(GameIdleAnimations)
g_game.enableFeature(GameEnhancedAnimations)
g_game.enableFeature(GameSpritesU32)
g_game.enableFeature(GameExtendedClientPing)
g_game.enableFeature(GameChangeMapAwareRange)
endNote: Make sure to check your OTCv8 client version and adjust the version check accordingly.
To use the extended sprites feature, you need to extract the sprite files from the provided .rar archive:
- Download the sprite archive: Download 860-otcv-revisado2.rar
- Note: This file is specifically revised for OTCv8 only.
- Extract the files: Extract the
.sprand.datfiles from the archive - Copy to OTCv8: Place the extracted
.sprand.datfiles into your OTCv8 client directory - Enable the feature: Make sure
g_game.enableFeature(GameSpritesU32)is enabled in yourgame_features.luafile (already enabled above) - Enjoy: Start your client and use the extended sprites!
Important: The .spr and .dat files must match the client version (860) for proper functionality.
๐ฅ Download Client (v8.60 with DLL & Mounts)
If you are using the custom Client with DLL injection (for Mounts and other extensions), you MUST configure your server correctly to avoid player disconnections (kicks).
The DLL requires the server to send a periodic verification packet ("DLL Check"). If disabled, the client will disconnect.
Required config.lua settings:
-- DLL Check Configuration
-- Sends the DLL verification packet. REQUIRED 'true' for the DLL Client to work.
dllCheckKick = true
-- Time in seconds between checks.
-- CRITICAL: Must be set to 5 seconds to match the DLL's internal heartbeat.
dllCheckKickTime = 5This custom version includes several enhanced systems and features:
- Items can have Tier and Classification attributes
- Tier system allows for item upgrades and progression
- Classification system for categorizing items
- Fully integrated with Lua scripting API
- Reward Boss system similar to Global Tibia
- Tracks player contribution (damage done, damage taken, healing done)
- Distributes rewards based on contribution score
- Supports multiple contributors with proportional loot distribution
- Rewards are stored in reward containers (ID: 21518) and reward chests (ID: 21584)
- Configurable reward rates via config manager
- Train skills while offline using beds
- Available skills: Sword, Axe, Club, Distance, Shielding, and Magic Level
- Premium account required
- Commands:
!train <skill>- Select skill to train (sword, axe, club, distance, shielding, magic)!sleep- Start offline training (must be near a bed inside a house)
- Automatically calculates training time based on logout duration
- Maximum training time: 12 hours per session
- Guild Leaders and Vice-Leaders can purchase guild halls
- Guild halls are purchased using guild bank balance
- Only one guild hall per guild
- Guild halls support all house features (doors, beds, etc.)
- Commands:
!buyhouse- Purchase a guild hall (Leader/Vice-Leader only)!leavehouse- Leave/abandon a guild hall (Leader/Vice-Leader only)
- Per-house protection system (not global)
- House owners can enable/disable protection for their specific house
- When protection is enabled, only the owner and authorized guests can move items
- When protection is disabled, anyone can move items
- Protection state persists across server restarts
- Commands:
!protecthouse on- Enable protection for your house!protecthouse off- Disable protection for your house!protecthouse- Check current protection status!houseguest add <name>- Add a player to the protection guest list!houseguest remove <name>- Remove a player from the protection guest list!houseguest list- List all protection guests
- Guild Halls: Leaders and Vice-Leaders can use protection commands
- Normal Houses: Only the owner can use protection commands
- Door messages show house ownership when clicking on house doors
- Enhanced decay system for better performance
- Optimized item decay processing
- Improved decay state management
- Better handling of decay timers and item removal
- Stream your gameplay for other players to watch
- Works with both OTCv8 and CIP 8.60 clients
- Spectators can chat in the Live Cast channel
- Cast EXP Bonus: Earn extra experience while streaming (configurable)
- Commands:
!cast- Start live casting!cast- Stop live casting/commands- View spectator commands (in cast channel)/spectators- View current spectators/kick <name>- Kick a spectator/mute <name>- Mute a spectator/ban <name>- Ban a spectator
config.lua settings:
-- Cast EXP Bonus
castExpBonus = true
castExpBonusPercent = 5Pull requests are welcome. Just make sure you are using english/spanish language.
If you find any bug and believe it should be fixed, submit an issue in issues section, just please follow the issue template.