First commit
3
.dockerignore
Normal file
@ -0,0 +1,3 @@
|
||||
.git
|
||||
SabrehavenServer.tar.gz
|
||||
ZnoteAAC.tar.gz
|
BIN
SabrehavenServer-arm64.tar.gz
Normal file
BIN
app/SabrehavenServer.tar.gz
Normal file
25
app/SabrehavenServer/.gitignore
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
vc14/.vs/theforgottenserver/v15/Browse.VC.db
|
||||
vc14/.vs/theforgottenserver/v15/ipch/ba8106b03bee8153.ipch
|
||||
<<<<<<< HEAD
|
||||
*.lastbuildstate
|
||||
*.tlog
|
||||
*.ipch
|
||||
=======
|
||||
vc14/.vs/theforgottenserver/v15/Browse.VC.opendb
|
||||
*.ipch
|
||||
vc14/x64/
|
||||
>>>>>>> stored_players
|
||||
*.exe
|
||||
vc14/theforgottenserver.vcxproj.user
|
||||
vc14/.vs/
|
||||
*.pdb
|
||||
*.dll
|
||||
/.vs
|
||||
/vc14/Debug
|
||||
/vc14/UpgradeLog.htm
|
||||
/TibianusOTClientEncrypted
|
||||
/vc14/UpgradeLog2.htm
|
||||
/Sabrehaven.zip
|
||||
/theforgottenserver.7z
|
||||
/theforgottenserver.zip
|
||||
/SabrehavenOTClient/tibianus.log
|
56
app/SabrehavenServer/CMakeLists.txt
Normal file
@ -0,0 +1,56 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
|
||||
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
|
||||
|
||||
project(tfs)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(cotire)
|
||||
|
||||
add_compile_options(-Wall -Werror -pipe -fvisibility=hidden)
|
||||
set(CMAKE_CXX_FLAGS_PERFORMANCE "${CMAKE_CXX_FLAGS_RELEASE} -march=native")
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
add_compile_options(-fno-strict-aliasing)
|
||||
endif()
|
||||
|
||||
include(FindCXX11)
|
||||
include(FindLTO)
|
||||
|
||||
# Find packages.
|
||||
find_package(Crypto++ REQUIRED)
|
||||
find_package(GMP REQUIRED)
|
||||
find_package(PugiXML REQUIRED)
|
||||
find_package(MySQL)
|
||||
find_package(Threads)
|
||||
|
||||
# Selects LuaJIT if user defines or auto-detected
|
||||
if(DEFINED USE_LUAJIT AND NOT USE_LUAJIT)
|
||||
set(FORCE_LUAJIT ${USE_LUAJIT})
|
||||
else()
|
||||
find_package(LuaJIT)
|
||||
set(FORCE_LUAJIT ${LuaJIT_FOUND})
|
||||
endif()
|
||||
option(USE_LUAJIT "Use LuaJIT" ${FORCE_LUAJIT})
|
||||
|
||||
if(FORCE_LUAJIT)
|
||||
if(APPLE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000")
|
||||
endif()
|
||||
else()
|
||||
find_package(Lua REQUIRED)
|
||||
endif()
|
||||
|
||||
find_package(Boost 1.53.0 COMPONENTS system filesystem iostreams REQUIRED)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_executable(tfs ${tfs_SRC})
|
||||
|
||||
include_directories(${MYSQL_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${GMP_INCLUDE_DIR} ${Crypto++_INCLUDE_DIR})
|
||||
target_link_libraries(tfs ${MYSQL_CLIENT_LIBS} ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${Boost_FILESYSTEM_LIBRARY} ${PUGIXML_LIBRARIES} ${GMP_LIBRARIES} ${Crypto++_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
set_target_properties(tfs PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "src/otpch.h")
|
||||
set_target_properties(tfs PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
||||
cotire(tfs)
|
1
app/SabrehavenServer/New Text Document.txt
Normal file
@ -0,0 +1 @@
|
||||
next: 17743
|
13321
app/SabrehavenServer/README.md
Normal file
22
app/SabrehavenServer/SabrehavenOTClient/LICENSE
Normal file
@ -0,0 +1,22 @@
|
||||
OTClientV8 is made available under the MIT License
|
||||
|
||||
Copyright (c) 2010-2017 OTClient <https://github.com/edubart/otclient>
|
||||
Copyright (c) 2018-2021 OTClientV8 <https://github.com/OTCv8/otclientv8>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
99
app/SabrehavenServer/SabrehavenOTClient/README.md
Normal file
@ -0,0 +1,99 @@
|
||||
# OTClientV8
|
||||
|
||||
OTClientV8 is highly optimized, cross-platform tile based 2d game engine built with c++17, lua, physfs, OpenGL ES 2.0 and OpenAL.
|
||||
It has been created as alternative client for game called [Tibia](https://tibia.com/), but now it's much more functional and powerful.
|
||||
It works well even on 12 years old computers. In April 2021 it reached 290k unique installations, including 80k android installations.
|
||||
|
||||
Supported platforms:
|
||||
- Windows (min. Windows 7)
|
||||
- Android (min. 5.0)
|
||||
|
||||
On Windows you may need to install https://aka.ms/vs/16/release/vc_redist.x86.exe to make it work.
|
||||
|
||||
### Forum: http://otclient.net
|
||||
### Discord: https://discord.gg/feySup6
|
||||
### Website: http://otclient.ovh
|
||||
### Wiki: https://github.com/OTCv8/otclientv8/wiki
|
||||
|
||||
## Version for developers
|
||||
|
||||
In this repository, you can find clean, always up-to-date, ready to use version of OTClientv8. Most commits from version 3.0 are automatic using GitHub Actions. If you want to help with development, please visit repository for developers - https://github.com/OTCv8/otcv8-dev
|
||||
|
||||
## FEATURES
|
||||
- Rewritten and optimized rendering (60 fps on 11 years old computer)
|
||||
- Better DirectX9 and DirectX11 support
|
||||
- Adaptive rendering (automated graphics optimizations)
|
||||
- Rewritten and optimized light rendering
|
||||
- Rewritten path finding and auto walking
|
||||
- Rewritten walking system with animations
|
||||
- HTTP/HTTPS lua API with JSON support
|
||||
- WebSocket lua API
|
||||
- Auto updater with failsafe (recovery) mode
|
||||
- New filesystem
|
||||
- File encryption and compression
|
||||
- Automatic diagnostic system
|
||||
- Refreshed interface
|
||||
- New crash and error handler
|
||||
- New HTTP login protocol
|
||||
- Ingame shop
|
||||
- Updated hotkey manager
|
||||
- Updated and optimized battle list
|
||||
- Crosshair, floor fading, extra health/mana bars and panels
|
||||
- Much more client options
|
||||
- Removed a lot of useless and outdated things
|
||||
- Advanced bot
|
||||
- Linux version
|
||||
- Full tibia 11.00 support
|
||||
- Layouts
|
||||
- New login server (with ingame account and character creation)
|
||||
- Support for proxies to lower latency and protect against DDoS (extra paid option)
|
||||
- Bot protection (extra paid option)
|
||||
|
||||
### And hundreds of smaller features, optimizations and bug fixes!
|
||||
### Check out [Wiki page](https://github.com/OTCv8/otclientv8/wiki) to see how activate and use new features
|
||||
|
||||
### Old tools, like updater and tutorials has been moved to: [OTCv8/otcv8-tools](https://github.com/OTCv8/otcv8-tools)
|
||||
### There's github repo of tfs 1.3 with otclientv8 features: [OTCv8/otclientv8-tfs](https://github.com/OTCv8/forgottenserver)
|
||||
|
||||
## Quick Start for players
|
||||
|
||||
Download whole repository and run one of binary file.
|
||||
|
||||
## Quick Start for server owners
|
||||
|
||||
Open `init.lua` and edit:
|
||||
|
||||
```
|
||||
-- CONFIG
|
||||
APP_NAME = "otclientv8" -- important, change it, it's name for config dir and files in appdata
|
||||
APP_VERSION = 1337 -- client version for updater and login to indentify outdated client
|
||||
DEFAULT_LAYOUT = "retro"
|
||||
|
||||
-- If you don't use updater or other service, set it to updater = ""
|
||||
Services = {
|
||||
website = "http://otclient.ovh", -- currently not used
|
||||
updater = "http://otclient.ovh/api/updater.php",
|
||||
news = "http://otclient.ovh/api/news.php",
|
||||
stats = "",
|
||||
crash = "http://otclient.ovh/api/crash.php",
|
||||
feedback = "http://otclient.ovh/api/feedback.php"
|
||||
}
|
||||
|
||||
-- Servers accept http login url or ip:port:version
|
||||
Servers = {
|
||||
OTClientV8 = "http://otclient.ovh/api/login.php",
|
||||
OTClientV8proxy = "http://otclient.ovh/api/login.php?proxy=1",
|
||||
OTClientV8classic = "otclient.ovh:7171:1099",
|
||||
OTClientV8cwithfeatures = "otclient.ovh:7171:1099:25:30:80:90",
|
||||
}
|
||||
ALLOW_CUSTOM_SERVERS = true -- if true it will show option ANOTHER on server list
|
||||
-- CONFIG END
|
||||
```
|
||||
|
||||
Also remember to add your sprite and data file to data/things
|
||||
|
||||
That's it, you're ready to use OTClientV8.
|
||||
|
||||
DirectX version requires 3 dlls: libEGL.dll libGLESv2.dll d3dcompiler_47.dll
|
||||
|
||||
If it can't start (missing dlls) then user need to install visual studio 2019 redistributable x86: https://aka.ms/vs/16/release/vc_redist.x86.exe
|
@ -0,0 +1,13 @@
|
||||
Cursors
|
||||
target:
|
||||
image: targetcursor
|
||||
hot-spot: 9 9
|
||||
horizontal:
|
||||
image: horizontalcursor
|
||||
hot-spot: 9 4
|
||||
vertical:
|
||||
image: verticalcursor
|
||||
hot-spot: 4 9
|
||||
text:
|
||||
image: textcursor
|
||||
hot-spot: 4 9
|
After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 238 B |
@ -0,0 +1,6 @@
|
||||
Font
|
||||
name: cipsoftFont
|
||||
texture: cipsoftFont
|
||||
height: 8
|
||||
glyph-size: 8 8
|
||||
space-width: 2
|
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,6 @@
|
||||
Font
|
||||
name: sans-bold-16px
|
||||
texture: sans-bold-16px_cp1252
|
||||
height: 20
|
||||
glyph-size: 24 24
|
||||
space-width: 3
|
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1,7 @@
|
||||
Font
|
||||
name: small-9px
|
||||
texture: small-9px
|
||||
height: 9
|
||||
glyph-size: 9 9
|
||||
space-width: 3
|
||||
spacing: 1 0
|
BIN
app/SabrehavenServer/SabrehavenOTClient/data/fonts/small-9px.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
@ -0,0 +1,8 @@
|
||||
Font
|
||||
name: terminus-10px
|
||||
texture: terminus-10px
|
||||
height: 12
|
||||
y-offset: 0
|
||||
glyph-size: 16 16
|
||||
fixed-glyph-width: 6
|
||||
space-width: 6
|
After Width: | Height: | Size: 3.1 KiB |
@ -0,0 +1,8 @@
|
||||
Font
|
||||
name: terminus-14px-bold
|
||||
texture: terminus-14px-bold
|
||||
height: 16
|
||||
y-offset: 2
|
||||
glyph-size: 16 16
|
||||
fixed-glyph-width: 8
|
||||
space-width: 8
|
After Width: | Height: | Size: 3.8 KiB |
@ -0,0 +1,7 @@
|
||||
Font
|
||||
name: verdana-11px-antialised
|
||||
texture: verdana-11px-antialised_cp1252
|
||||
height: 14
|
||||
glyph-size: 16 16
|
||||
space-width: 4
|
||||
default: true
|
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 9.8 KiB |
@ -0,0 +1,6 @@
|
||||
Font
|
||||
name: verdana-11px-monochrome
|
||||
texture: verdana-11px-monochrome_cp1252
|
||||
height: 14
|
||||
glyph-size: 16 16
|
||||
space-width: 3
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 3.6 KiB |
@ -0,0 +1,8 @@
|
||||
Font
|
||||
name: verdana-11px-rounded
|
||||
texture: verdana-11px-rounded_cp1252
|
||||
height: 16
|
||||
glyph-size: 16 16
|
||||
y-offset: -2
|
||||
spacing: -1 -3
|
||||
space-width: 4
|
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 9.7 KiB |
@ -0,0 +1,8 @@
|
||||
Font
|
||||
name: verdana-9px-bold
|
||||
texture: verdana-9px-bold
|
||||
height: 12
|
||||
glyph-size: 13 13
|
||||
space-width: 4
|
||||
spacing: 0 0
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@ -0,0 +1,6 @@
|
||||
Font
|
||||
name: verdana-9px-italic
|
||||
texture: verdana-9px-italic
|
||||
height: 12
|
||||
glyph-size: 13 13
|
||||
space-width: 3
|
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,7 @@
|
||||
Font
|
||||
name: verdana-9px
|
||||
texture: verdana-9px
|
||||
height: 13
|
||||
glyph-size: 13 13
|
||||
space-width: 3
|
||||
spacing: 0 -4
|
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 442 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 158 B |
After Width: | Height: | Size: 518 B |
After Width: | Height: | Size: 372 B |
After Width: | Height: | Size: 359 B |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/de.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/en.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/es.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/pl.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/pt.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
app/SabrehavenServer/SabrehavenOTClient/data/images/flags/sv.png
Normal file
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 669 B |
After Width: | Height: | Size: 300 B |
After Width: | Height: | Size: 474 B |
After Width: | Height: | Size: 271 B |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 255 B |
After Width: | Height: | Size: 255 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 283 B |
After Width: | Height: | Size: 283 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 385 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 333 B |
After Width: | Height: | Size: 319 B |
After Width: | Height: | Size: 386 B |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 335 B |
After Width: | Height: | Size: 397 B |
After Width: | Height: | Size: 373 B |