Membru Începător
Membru Începător
Mesaje: 6
Membru din: 25 Aug 2026, 13:26
  • Reacții: 24
  • Mesaje utile: 0
  • Status: Work
    Server: Project Polaris
  • Regat: Shinsoo
  • [ID Discord]
  • Contact:

    Medalii

    PROJECT POLARIS
    TECHNICAL OVERVIEW

    Modernized Metin2 source with updated client, server, Python, rendering and development tools
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    SERVER SOURCE
    • FreeBSD 14+ AMD64
    • MariaDB 10+
    • Native 64-bit server environment
    • Cleaned and updated server source
    • Improved Core and DB handling
    • Improved server and network communication
    The server runs fully on AMD64 instead of the old 32-bit setup usually found in older Metin2 sources.

    A lot of old code has also been cleaned or replaced where it was causing unnecessary problems.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    BINARY SOURCE
    The client source has received a large amount of work and cleanup.
    • Full AMD64 / x64 client
    • Modernized C++ client source
    • Old Granny dependency removed
    • Granny replaced with OpenGR2
    • Custom animation system
    • SpeedTree dependency removed
    • Old runtime dependencies removed
    • Rendering and resource code cleaned
    • Unused and outdated client code removed
    The main goal is to remove old dependencies that make the source harder to maintain or extend.

    The client no longer depends on Granny or SpeedTree for its main systems, giving much more control over the source itself.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    NATIVE VULKAN RENDERER
    The main Direct3D 8 rendering system has been replaced with the native Polaris Vulkan renderer.

    This is not a D3D8 → Vulkan wrapper.

    The renderer now handles Vulkan directly inside the client.

    OLD
    • Direct3D 8 device
    • D3D8 render states
    • Direct3D textures and buffers
    • Direct3D shaders
    • Old render targets
    CURRENT
    • Native Vulkan device handling
    • Native Vulkan buffers and textures
    • Vulkan graphics pipelines
    • Vulkan shader modules
    • Native render targets
    • Native terrain rendering
    • Water rendering with its own shader
    • Sky rendering moved to Vulkan
    • Per-pixel lighting
    • Native shadows
    • Models, particles and effects moved to Vulkan
    There are still some old rendering parts left temporarily for compatibility.

    These will also be replaced as the Vulkan work continues.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    PYTHON 3.14
    The client has been fully moved from the old Python runtime to CPython 3.14.
    • CPython 3.14
    • Modern PyConfig initialization
    • Updated C++ / Python integration
    • Old Python initialization removed
    • Updated Python execution
    • Updated traceback and error handling
    • Several crashes during long sessions fixed
    • Many internal Python modules can be loaded directly from the executable
    The client folder has also been cleaned so fewer unnecessary runtime files are needed.
    CURRENT CLIENT STRUCTURE

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 1
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    NETWORK & PACKETS
    The networking code has also been cleaned and improved.
    • Packet structures reviewed and cleaned
    • Old unnecessary packet processing removed
    • Safer packet validation
    • Client/server packet handling improved
    • Send and receive code cleaned
    • Better handling of queued data
    • Better handling of fragmented data
    • Packet sizes and structures cleaned where needed
    A lot of this code comes from a much older architecture, so parts that made no sense anymore were cleaned instead of being kept just because they still worked.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    BUFFERS & MEMORY
    Buffer and memory handling have also been worked on, especially in code that runs often.
    • Buffer handling cleaned
    • Unnecessary memory copies reduced
    • Better control over buffer growth
    • Safer incoming data handling
    • Better memory lifetime handling
    • Old fixed-size handling replaced where needed
    • Unnecessary allocations reduced
    • GPU buffer reuse improved
    The idea is simple: avoid allocating, copying or keeping memory around when it is not needed.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    PERFORMANCE & CLEANUP
    Performance work was done across different parts of the project instead of focusing on only one area.
    • Old problems and unused code cleaned
    • Repeated work reduced
    • Unnecessary allocations reduced
    • Unnecessary memory copies reduced
    • Frequently used code cleaned
    • Network processing improved
    • Resource handling improved
    • Old dependencies removed
    • Client runtime files reduced
    • Rendering code moved away from Direct3D 8
    There is still more work planned, especially around Vulkan, loading, resources and general cleanup.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    VULKAN BEFORE / AFTER
    BEFORE — DIRECT3D 8

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 2

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 3

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 4

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 5


    CURRENT — NATIVE VULKAN

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 6

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 7

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 8

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 9

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 10
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    TOOLS INCLUDED
    The package also includes tools made specifically for POLARIS.
    • Custom C++ packer
    • Custom C++ unpacker
    • Custom item_proto compiler
    • Custom item_proto decompiler
    • Custom mob_proto compiler
    • Custom mob_proto decompiler
    These are included with the source and do not need to be purchased separately.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    POPULAR QUESTIONS
    What if I have a problem with the source?
    Bug fixes and improvements related to the source are provided free of charge.

    I am also available to help when something needs to be checked or explained.

    How long does it take to receive the files after payment?
    The files normally only need to be prepared and uploaded, so delivery usually takes around 1 hour.

    Why should I buy POLARIS instead of cheaper files?
    The price is based on the amount of work done to the source and the support that comes with it.

    Metin2 is an old and complicated project, so no source is magically free from every possible problem.

    The important part is that the source is still being maintained, bugs are fixed when they are found, and the project keeps receiving updates instead of being sold and forgotten.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    POLARIS — PRICE
    COMPLETE POLARIS SOURCE FILES

    300€
    The price includes the current Client, Binary, Python and Server Source together with the POLARIS tools and everything listed above.
    • Client
    • Binary Source
    • Python Source
    • Server Source
    • Native Vulkan renderer
    • CPython 3.14
    • OpenGR2 + custom animation system
    • Custom item_proto / mob_proto compiler & decompiler
    • Custom C++ packer & unpacker
    • Current fixes and improvements
    • Future bug fixes and improvements
    • Direct support when needed
    • Free first installation and full setup through AnyDesk
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    PAYMENT METHODS
    • Revolut
    • PayPal
    • Bank Transfer
    • Paysafecard
    CONTACT

    Discord: systempolaris

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 1 - Imagine 11
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    CLEAN SOURCE FILES

    POLARIS comes without added gameplay systems or a large amount of unnecessary features.

    The source is kept clean on purpose, so you can build your own server on top of it without having to remove unwanted systems first.

    For questions, technical details or payment information, contact me directly on Discord.
    Membru Începător
    Membru Începător
    Mesaje: 6
    Membru din: 25 Aug 2026, 13:26
  • Reacții: 24
  • Mesaje utile: 0
  • Status: Work
    Server: Project Polaris
  • Regat: Shinsoo
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Începător
    Membru Începător

    Mesaj de SystemPolaris »

    PROJECT POLARIS
    UPCOMING VULKAN UPDATE

    Native Vulkan Renderer • Currently in Beta Testing
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    NATIVE VULKAN RENDERER

    I also want to give a small preview of something i've been working on lately

    The client is almost done moving from DirectX 8 to a native Vulkan renderer

    This is not a wrapper or a D3D8 translation layer, the old DirectX rendering parts are being replaced directly inside the client

    WHAT IS BEING REPLACED

    A lot of the old rendering code was built around things like
    • IDirect3DDevice8
    • IDirect3DTexture8
    • IDirect3DVertexBuffer8
    • IDirect3DIndexBuffer8
    • SetRenderState
    • SetTextureStageState
    • SetTexture
    • SetTransform
    • DrawPrimitive
    • DrawIndexedPrimitive
    Those parts are being replaced with Vulkan equivalents like
    • VkDevice
    • VkBuffer
    • VkImage
    • VkImageView
    • VkPipeline
    • VkDescriptorSet
    • VkCommandBuffer
    • Vulkan swapchain and synchronization
    The renderer is no longer depending on the old DirectX state based rendering system

    Instead of constantly doing things like
    Code:
    SetRenderState(...)
    SetTexture(...)
    SetTransform(...)
    DrawIndexedPrimitive(...)
    
    the Vulkan side now handles the pipelines, resources and rendering commands directly

    WHY VULKAN

    The point is not just to replace DirectX 8 with something newer

    I want a renderer that i can actually continue building on without being limited by such an old graphics API

    This gives me a much better base for things like
    • Modern shaders
    • Better lighting
    • Better shadows
    • PBR materials
    • GPU based rendering features
    • Better control over rendering and memory
    • Future platform support
    CURRENT STATUS

    The Vulkan version has already been in beta testing for over a week

    A large part of it is already working but i'm still testing maps, effects, characters, UI rendering and older rendering paths that still need to be cleaned or replaced

    Because of that it's not ready for release yet

    I don't want to release something this big just because it launches and renders the game

    WHAT COMES NEXT

    Once the base Vulkan renderer is finished the work doesn't stop there

    The next step is to start using the new renderer as a base for improving the graphics of the game itself

    That means things like better shaders, lighting, shadows, materials and other rendering improvements can finally be built on top of something modern instead of continuing to work around DirectX 8

    PRICE AFTER RELEASE

    The current price will stay the same while Vulkan is still in testing

    Once the native Vulkan renderer is finished and included in the main files the price of PROJECT POLARIS will increase

    This is not just another system added to the game

    It's a replacement of one of the most important parts of the client and has required a lot more work, testing and changes to the engine itself
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    CURRENTLY IN BETA — NOT YET PART OF THE RELEASE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    PROJECT POLARIS — TECHNICAL UPDATE
    CLIENT STRUCTURE CLEANUP

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 2 - Imagine 1
    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 2 - Imagine 2

    What changed:
    • Unused runtime files removed
    • The amount of legacy DLLs reduced
    • Runtime configuration and game resources kept in a cleaner structure
    Why:

    The original Metin2 client accumulated a large number of runtime files and dependencies over the years, many of which are not even necessary anymore

    Keeping the client minimal makes dependency management easier, reduces deployment problems and makes it much clearer which components are actually required by the binary

    VCRUNTIME140.DLL REMOVED

    The client no longer needs to ship a separate VCRUNTIME140.dll next to the executable

    What changed:
    • VCRUNTIME140.dll removed from the client distribution
    • Runtime configuration changed so the client no longer relies on that locally distributed DLL
    Why:

    This removes another unnecessary external runtime file and keeps the client structure cleaner

    Instead of keeping legacy runtime DLLs in the client folder simply because they were previously required, i'm going for a cleaner and more modern runtime setup

    PYTHON MODULES FROZEN INTO THE BINARY

    A large part of the Python runtime modules are now frozen directly into the client binary instead of being loaded as separate Python files

    How it works:
    Code:
    Before:
    
    metin2client.exe
        ↓
    filesystem
        ↓
    Python modules
        ↓
    import / execute
    
    
    Now:
    
    metin2client.exe
        ↓
    frozen modules
        ↓
    Python import
    
    Advantages:

    This keeps the Python side of the client much cleaner

    There are fewer loose files to deal with, less dependency on the exact folder structure and the whole client becomes easier to recompile and move around

    A good part of the internal Python modules are now already included inside the executable so they can be loaded directly from there instead of depending on separate files in the client

    The client still uses CPython 3.14, this just changes the way a large part of the internal modules are handled and loaded
    Membru Începător
    Membru Începător
    Mesaje: 6
    Membru din: 25 Aug 2026, 13:26
  • Reacții: 24
  • Mesaje utile: 0
  • Status: Work
    Server: Project Polaris
  • Regat: Shinsoo
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Începător
    Membru Începător

    Mesaj de SystemPolaris »

    PROJECT POLARIS
    NATIVE VULKAN RENDERING UPDATE

    The main Direct3D 8 rendering system has been replaced with native Vulkan
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    RENDERING SYSTEM
    The main Direct3D 8 rendering system has now been replaced with the native Polaris Vulkan renderer.

    There are still some old rendering parts left in the client, but these are temporary and will also be moved to Vulkan in the next updates.

    OLD
    • Direct3DCreate8
    • Direct3D 8 device handling
    • D3D8 render states
    • Direct3D GPU resources
    CURRENT
    • Native Vulkan instance
    • Vulkan physical and logical device
    • Native Vulkan queue handling
    • DrawList / DrawCommand rendering
    • Native render states, resources and pipelines
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    LIGHTING & MATERIALS
    The old Direct3D lighting and material code has been replaced with my own shader and lighting system.

    REMOVED / REPLACED
    • D3DMATERIAL8
    • D3DLIGHT8
    • SetMaterial / SetLight
    • SaveMaterial / RestoreMaterial
    • FlushLight / RestoreLight
    CURRENT
    • Polaris material system
    • Native scene lighting
    • Shader-based actor lighting
    • Per-pixel lighting
    • Improved normal handling for models
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    SHADOWS & RENDER TARGETS
    The old Direct3D render-target system has also been replaced.

    OLD
    • Direct3D render-target textures
    • Render-target surfaces
    • Depth surfaces
    • Manual render-state backup
    CURRENT
    • Native reusable render targets
    • FrameCapture
    • SaveState / RestoreState
    • Native character-shadow rendering
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    TERRAIN & ENVIRONMENT
    Terrain rendering has been moved to the native NativeTerrain system.
    • Native terrain rendering
    • Native terrain shadows
    • Marked-area rendering now uses the native renderer
    • DetailedColor support
    • NormalRoughness support
    Water and sky rendering were also updated to use the new Vulkan renderer.
    • Water now uses the Vulkan renderer and its own shader
    • Sky rendering was moved to Vulkan
    • Cloud movement was improved
    • Added a new day and night system
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    GPU RESOURCES
    The old Direct3D resource system has been replaced across the renderer.

    OLD → CURRENT
    • Direct3D vertex buffers → Polaris::BufferStorage
    • D3DFORMAT index buffers → Polaris::IndexFormat
    • Direct3D textures → TextureStorage
    • Old image upload system → Native image decoding and GPU upload
    • Direct3D render targets → Native render-target storage
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    VULKAN SHADERS
    The old Direct3D shader system has been removed.

    REMOVED FILES
    Code:
    GrpVertexShader.cpp
    GrpVertexShader.h
    GrpPixelShader.cpp
    GrpPixelShader.h
    
    OLD
    • CVertexShader
    • CPixelShader
    • CreateVertexShader
    • CreatePixelShader
    CURRENT
    • Native Vulkan shader modules
    • Native Vulkan graphics pipelines
    • Polaris shader / pipeline system
    • Shader data handled per draw
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    MODELS, EFFECTS & UI
    Model, effect and UI rendering now go through the new Vulkan renderer.
    • Models now render through the Vulkan renderer
    • Effect meshes through DrawList::Immediate
    • Billboard rendering moved to Vulkan
    • Particle rendering moved to Vulkan
    • Weapon-trace support kept
    • Guild marks moved to the native UI renderer
    • Model previews moved to native render targets
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    TREES & VEGETATION
    The old DirectX8 SpeedTree renderer has been replaced.

    OLD
    Code:
    CSpeedTreeForestDirectX8
    CSpeedTreeWrapper
    
    CURRENT
    Code:
    CPolarisTreeForest
    CPolarisTree
    
    Trees now use the Polaris Vulkan renderer and the new GPU buffer system.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    FIXES & OPTIMIZATIONS
    This update also includes more fixes and optimizations.
    • FIXED Tree lighting could get lost and affect the next render passes
    • IMPROVED GPU buffer reuse and cleanup
    • KEPT The 32 MiB buffer cache limit
    • CHANGED Alpha reference is now sent per draw
    • REDUCED Unnecessary Vulkan pipeline changes
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    NATIVE VULKAN

    NOT A D3D8 → VULKAN WRAPPER

    This is not a wrapper around the old Direct3D 8 renderer.

    The main renderer has been replaced and most of the important rendering systems are already running through Vulkan.

    There are still some old rendering parts left for now, mostly where compatibility is still needed. These are temporary and will be replaced as the Vulkan work continues.

    MORE UPDATES ARE COMING SOON

    There is still more work planned for the renderer, including more old code removal, more Vulkan replacements, fixes and further graphics improvements.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    BEFORE / AFTER

    BEFORE — DIRECT3D 8

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 1

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 2

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 3

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 4

    AFTER — NATIVE VULKAN

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 5

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 6

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 7

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 8

    [VÂND/SELL] PROJECT POLARIS - STABLE AND MODERN - Mesaj 3 - Imagine 9
    See full signature
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Serverfiles de vânzare”

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori

    Discord ID copiat: