Neler yeni

Foruma hoş geldin, Ziyaretçi

Metin2Lobby.com Metin2 Private Server Tanıtım Advertising Ve Geliştirme Forumudur.Metin2 pvp serverler,1-99,1-105,1-120,55-120 global serverları paylaş yada ara.
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Yeni Nesil Build - FreeBSD 12.1 - GCC10 - 32 Bit

  • Konbuyu başlatan Admin
  • Başlangıç tarihi
  • Cevaplar 0
  • Görüntüleme 34

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Konular
50,325
Mesajlar
50,638
Tepkime puanı
87
M2 Yaşı
3 yıl 11 ay 26 gün
Trophy Puan
48
Konum
Web sitesi
M2 Yang
509,284
Ticaret : 1 / 0 / 0
Ticaret Oranı : 100%
Merhaba TurkMMO ;

Bugün yapacağım paylaşım aslında sonra paylaşacağım daha detaylı bir altyapı için ön hazırlık niteliğinde tabii ihtiyacı olan veya build makinesini geliştirmek isteyen arkadaşların da işine yarayacağına şüphem yok.

NOT : Bu VDI sadece source build etmek için hazırlanmıştır, oyun sunucusu olarak kullanmanızı tavsiye etmiyorum.

Makine Özellikleri

Kod:
/* NOT : */ GEREKLİ TÜM PAKETLER VDI İÇİNDE YÜKLÜDÜR, VİRTUALBOX İLE LOCAL SUNUCU KURARKEN İNTERNET ERİŞİMİ VERMENİZE GEREK YOKTUR. /* İŞLETİM SİSTEMİ BİLGİLERİ */ Sürüm : FreeBSD 12.1 / 32 Bit ( Sunucuyu kurarken maksimum 3 GB Ram verebilirsiniz, unutmayın ! ) /* İŞLETİM SİSTEMİ BİLGİLERİ */ /*---------------------------*/ /* YÜKLÜ OLAN PAKET BİLGİLERİ */ GCC 10.0.1 ( Clang tercih etmememin sebebi ; Metin2'nin GCC kullanılarak derlenmesidir, orijinale sadık kalmak istedim ayrıca Clang daha üst düzey kod bilgisi gerektirdiği için sistem eklerken başınızı ağrıtabilir. ) Boost 1.72 GDB 9.1 Subversion 1.13 Makedepend 1.0.6 Lzo 2.10 DevIL 1.7.8 Meson 0.54 MySQL 5.5 ( root - mt2dev ) (/*libsql için gerekli*/) Cryptopp 8.2 /* YÜKLÜ OLAN PAKET BİLGİLERİ */ /*----------------------------*/ /* LOCAL SUNUCU GİRİŞ BİLGİLERİ */ Giriş : root Şifre : mt2dev /* LOCAL SUNUCU GİRİŞ BİLGİLERİ */ /*------------------------------*/ /* SON OLARAK pkg info YAZARAK GÖREBİLECEĞİNİZ MAKİNEDE YÜKLÜ OLAN TÜM PAKETLERİN LİSTESİ, İNCELEMEK İSTEYENLER İÇİN */ aalib-1.4.r5_13                ASCII art library apr-1.7.0.1.6.1_1              Apache Portability Library autoconf-2.69_3                Automatically configure source code on many Un*x platforms autoconf-wrapper-20131203      Wrapper script for GNU autoconf automake-1.16.1_2              GNU Standards-compliant Makefile generator bash-5.0.16                    GNU Project's Bourne Again SHell binutils-2.33.1_2,1            GNU binary tools bison-3.5.4,1                  Parser generator from FSF, (mostly) compatible with Yacc boost-all-1.72.0               The "meta-port" for boost libraries boost-docs-1.72.0              Documentation for libraries from boost.org boost-jam-1.72.0               Build tool from the boost.org boost-libs-1.72.0_1            Free portable C++ libraries (without Boost.Python) ca_root_nss-3.51.1             Root certificate bundle from the Mozilla Project check-0.14.0                   Unit test framework for C cmake-3.17.1                   Cross-platform Makefile generator ctags-5.8                      Feature-filled tagfile generator for vi and emacs clones curl-7.69.1_1                  Command line tool and library for transferring data with URLs db5-5.3.28_7                   Oracle Berkeley DB, revision 5.3 devil-1.7.8_25,1               Full featured cross-platform image library dialog4ports-0.1.6             Console Interface to configure ports expat-2.2.8                    XML 1.0 parser written in C freeglut-3.0.0_2               open source implementation of the GLUT library gcc10-devel-10.0.1.s20200412   GNU Compiler Collection 10 gdb-9.1                        GNU GDB of newer version than comes with the system gdbm-1.18.1_1                  GNU database manager gettext-runtime-0.20.1         GNU gettext runtime libraries and programs gettext-tools-0.20.1_1         GNU gettext development and translation tools gmake-4.2.1_3                  GNU version of 'make' utility gmp-6.2.0                      Free library for arbitrary precision arithmetic gnupg-2.2.20                   Complete and free PGP implementation gnutls-3.6.13                  GNU Transport Layer Security library help2man-1.47.13               Automatically generating simple manual pages from program output icu-66.1,1                     International Components for Unicode (from IBM) ilmbase-2.4.1_1                ILM Base libraries a.k.a. Half, IlmThread, Imath, and Iex indexinfo-0.3.1                Utility to regenerate the GNU info page index jasper-2.0.16_1                Implementation of the codec specified in the JPEG-2000 standard jbigkit-2.1_1                  Lossless compression for bi-level images such as scanned pages, faxes jpeg-turbo-2.0.4               SIMD-accelerated JPEG codec which replaces libjpeg jsoncpp-1.9.2                  JSON reader and writer library for C++ lcms-1.19_6,1                  Light Color Management System -- a color management library libGLU-9.0.1                   OpenGL utility library libICE-1.0.10,1                Inter Client Exchange library for X11 libSM-1.2.3,1                  Session Management library for X11 libX11-1.6.9_1,1               X11 library libXau-1.0.9                   Authentication Protocol library for X11 libXdamage-1.1.5               X Damage extension library libXdmcp-1.1.3                 X Display Manager Control Protocol library libXext-1.3.4,1                X11 Extension library libXfixes-5.0.3_2              X Fixes extension library libXi-1.7.10,1                 X Input extension library libXmu-1.1.3,1                 X Miscellaneous Utilities libraries libXrandr-1.5.2                X Resize and Rotate extension library libXrender-0.9.10_2            X Render extension library libXt-1.2.0,1                  X Toolkit library libXxf86vm-1.1.4_3             X Vidmode Extension libarchive-3.4.2,1             Library to create and read several streaming archive formats libassuan-2.5.3                IPC library used by GnuPG and gpgme libdrm-2.4.99,1                Userspace interface to kernel Direct Rendering Module services libedit-3.1.20191231,1         Command line editor library libepoll-shim-0.0.20200223     Small epoll implementation using kqueue libffi-3.2.1_3                 Foreign Function Interface libgcrypt-1.8.5                General purpose cryptographic library based on the code from GnuPG libgpg-error-1.37              Common error values for all GnuPG components libiconv-1.14_11               Character set conversion library libidn2-2.3.0_1                Implementation of IDNA2008 internationalized domain names libksba-1.3.5_1                KSBA is an X.509 Library liblz4-1.9.2_1,1               LZ4 compression library, lossless and very fast libmng-1.0.10_3                Multiple-image Network Graphics (MNG) reference library libnghttp2-1.40.0              HTTP/2.0 C Library libpciaccess-0.16              Generic PCI access library libpthread-stubs-0.4           This library provides weak aliases for pthread functions libtasn1-4.16.0                ASN.1 structure parser library libtextstyle-0.20.1            Text styling library libtool-2.4.6_1                Generic shared library support script libunistring-0.9.10_1          Unicode string library libunwind-20170615_1           Generic stack unwinding library libuv-1.37.0                   Multi-platform support library with a focus on asynchronous I/O libxcb-1.13.1                  The X protocol C-language Binding (XCB) library libxml2-2.9.10                 XML parser library for GNOME libxshmfence-1.3               Shared memory 'SyncFence' synchronization primitive libxslt-1.1.34_1               The XSLT C library for GNOME llvm80-8.0.1_3                 LLVM and Clang lua52-5.2.4                    Small, compilable scripting language providing easy access to C code lzo2-2.10_1                    Portable speedy, lossless data compression library m4-1.4.18_1,1                  GNU M4 makedepend-1.0.6,1             Dependency generator for makefiles mesa-libs-18.3.2_4             OpenGL libraries that support GLX and EGL clients meson-0.54.0                   High performance build system mpc-1.1.0_2                    Library of complex numbers with arbitrarily high precision mpfr-4.0.2                     Library for multiple-precision floating-point computations mysql55-client-5.5.62_3        Multithreaded SQL database (client) mysql55-server-5.5.62_3        Multithreaded SQL database (server) nasm-2.14.02,1                 General-purpose multi-platform x86 and amd64 assembler nettle-3.5.1_1                 Low-level cryptographic library ninja-1.10.0,2                 Ninja is a small build system closest in spirit to Make npth-1.6                       New GNU Portable Threads nvidia-texture-tools-2.0.8.1_14 Texture Tools with support for DirectX 10 texture formats openexr-2.4.1_1                High dynamic-range (HDR) image file format p11-kit-0.23.20                Library for loading and enumerating of PKCS#11 modules p5-Locale-gettext-1.07         Message handling functions p5-Locale-libintl-1.31         Internationalization library for Perl p5-Text-Unidecode-1.30         Text::Unidecode -- US-ASCII transliterations of Unicode text p5-Unicode-EastAsianWidth-12.0 East Asian Width properties pciids-20200324                Database of all known IDs used in PCI devices pcre-8.43_2                    Perl Compatible Regular Expressions library perl5-5.30.2                   Practical Extraction and Report Language pinentry-1.1.0_6               Collection of simple PIN or passphrase entry dialogs pinentry-tty-1.1.0             Console version of the GnuPG password dialog pkg-1.14.2                     Package manager pkgconf-1.6.3,1                Utility to help to configure compiler and linker flags png-1.6.37                     Library for manipulating PNG images portmaster-3.19_25             Manage your ports without external databases or languages py27-setuptools-44.0.0         Python packages installer py37-Babel-2.8.0               Collection of tools for internationalizing Python applications py37-CommonMark-0.9.1          Python parser for the CommonMark Markdown spec py37-Jinja2-2.10.1             Fast and easy to use stand-alone template engine py37-MarkupSafe-1.1.1          Implements XML/HTML/XHTML Markup safe string for Python py37-alabaster-0.7.6           Modified Kr Sphinx theme py37-asn1crypto-1.3.0          ASN.1 library with a focus on performance and a pythonic API py37-certifi-2020.4.5.1        Mozilla SSL certificates py37-cffi-1.14.0               Foreign Function Interface for Python calling C code py37-chardet-3.0.4_3           Universal encoding detector for Python 2 and 3 py37-cryptography-2.6.1        Cryptographic recipes and primitives for Python developers py37-cython-0.29.15            Compiler for Writing C Extensions for the Python Language py37-docutils-0.15.2           Python Documentation Utilities py37-future-0.18.2             Clean single-source support for Python 3 and 2 py37-idna-2.8                  Internationalized Domain Names in Applications (IDNA) py37-imagesize-1.1.0           Python image size library py37-openssl-19.0.0            Python interface to the OpenSSL library py37-pycparser-2.19            C parser in Python py37-pygments-2.5.2            Syntax highlighter written in Python py37-pysocks-1.7.1             Python SOCKS module py37-pystemmer-2.0.0.1         Snowball Stemming Algorithms for Information Retrieval py37-pytz-2019.3,1             World Timezone Definitions for Python py37-recommonmark-0.5.0_1      CommonMark bridge for docutils and Sphinx py37-requests-2.22.0           HTTP library written in Python for human beings py37-setuptools-44.0.0         Python packages installer py37-six-1.14.0                Python 2 and 3 compatibility utilities py37-snowballstemmer-1.2.1     Snowball stemming library collection for Python py37-sphinx-1.6.5_2,1          Python documentation generator py37-sphinx_rtd_theme-0.4.3    Mobile-friendly py-sphinx theme py37-sphinxcontrib-websupport-1.1.2 Sphinx API for Web Apps py37-urllib3-1.25.7,1          HTTP library with thread-safe connection pooling, file post, and more python27-2.7.17_1              Interpreted object-oriented programming language python37-3.7.7                 Interpreted object-oriented programming language readline-8.0.4                 Library for editing command lines as they are typed rhash-1.3.9                    Utility and library for computing and checking of file hashes scons-3.1.1                    Build tool alternative to make sdl-1.2.15_14,2                Cross-platform multimedia development API serf-1.3.9_4                   Serf HTTP client library source-highlight-3.1.9_1       C/C++ and Java sources to HTML converter sqlite3-3.31.1,1               SQL database engine in a C library subversion-1.13.0_1            Version control system swig30-3.0.12_1                Generate wrappers for calling C/C++ code from other languages texinfo-6.7_2,1                Typeset documentation system with multiple format output tiff-4.1.0                     Tools and library routines for working with TIFF images tpm-emulator-0.7.4_2           Trusted Platform Module (TPM) emulator trousers-0.3.14_2              Open-source TCG Software Stack utf8proc-2.4.0                 UTF-8 processing library wayland-1.18.0_3               Wayland composite "server" wayland-protocols-1.20         Wayland protocols xcb-proto-1.13_1               The X protocol C-language Binding (XCB) protocol xorg-macros-1.19.2             X.Org development aclocal macros xorgproto-2020.1               xorg protocol headers xtrans-1.4.0                   Abstract network code for X // GÜLE GÜLE KULLANIN //


ÖNEMLİ NOT !

Bu makine ile source build edebilmeniz için source üzerinde değişiklik yapmanız şarttır aksi halde kesinlikle hata alırsınız ! Gerekli işlemleri durda'nın aşağıdaki konusunda bulabilirsiniz artı olarak birde panherr adlı arkadaşımızın paylaştığı çok detaylı bir uyarlama konusu var bu iki konuda bütün adımları bulabilirsiniz.



Son Sözler

VDI sıfırdan benim tarafımdan oluşturulup upload edilmiştir, başka mecralarda paylaşırsanız MT2Dev'den alıntıdır yazmanızı rica ediyorum, teşekkürler.


İNDİRME LİNKLERİ

RaR Şifresi : mt2dev


-




SUNUCUYA ERİŞİM SAĞLAYAMAYANLAR BUNU YAPMALI ;


Yeni Nesil Build - FreeBSD 12.1 - GCC10 - 32 Bit

FreeBSD işletim sistemi, özellikle sunucu tarafında yüksek performans ve güvenlik sunmasıyla bilinen, Unix tabanlı bir sistemdir. Özellikle Metin2 gibi oyun sunucularının barındırılması için tercih edilen bu platform, doğru derleme ve yapılandırma ile daha verimli çalışabilir. Bu makalede, FreeBSD 12.1 sürümü üzerinde GCC10 kullanarak 32 bit mimariye uygun yeni nesil bir derleme süreci ele alınacaktır.

FreeBSD 12.1 sürümü, daha eski sürümlere göre daha fazla donanım desteği ve güvenlik güncellemeleri sunmaktadır. Ancak bazı projeler hâlâ 32-bit destek gerektirebilir. Bu durumda, derleme araçları da buna uyumlu olmalıdır. GCC10 gibi modern derleyicilerin kullanımı, hem kod optimizasyonunu artırır hem de yeni standartlara uygun yazılım geliştirilmesini sağlar.

Derleme Ortamının Hazırlanması

Öncelikle sistemin gerekli paketleri içerdiğinden emin olmalısınız. FreeBSD üzerinde gerekli derleme araçlarını yüklemek için pkg veya ports sistemlerini kullanabilirsiniz. GCC10 derleyicisini yüklemek için aşağıdaki komut kullanılabilir:

pkg install gcc10

Ardından, sistemde 32-bit kütüphanelerin mevcut olduğundan emin olun. Eğer eksikse, compat32 paketi ile 32-bit uyumluluk kütüphaneleri eklenebilir:

pkg install compat32

GCC10 ile 32 Bit Derleme Ayarları

GCC10, varsayılan olarak 64-bit mimariyi hedef alır. 32-bit derlemeler için özel bayraklar kullanmak gerekebilir. Örneğin, makefiles veya configure betikleri sırasında aşağıdaki gibi argümanlar eklenebilir:

-m32 -L/usr/lib32 -I/usr/include

Bu ayarlar sayesinde, derlenen uygulamalar 32-bit mimariye uygun olarak oluşturulur. Özellikle Metin2 gibi eski oyun sunucularında, bazı bağımlılıklar hâlâ 32-bit sistemlerle uyumlu olabilir.

Boost ve Diğer Bağımlılıklar

Metin2 sunucuları genellikle Boost, MySQL, OpenSSL gibi kütüphanelere bağımlıdır. Bu kütüphaneler de 32-bit derlemelerle uyumlu olacak şekilde yüklenmelidir. FreeBSD ports sistemi sayesinde bu kütüphaneleri 32-bit destekli şekilde derleyebilirsiniz.

Örnek olarak Boost kütüphanesini derlemek için:

cd /usr/ports/devel/boost-all && make WITH_ARCH=i386 install clean

Derleme Sonrası Yapılandırma

Derleme tamamlandıktan sonra, sunucu yapılandırması önemlidir. FreeBSD üzerinde jail sistemleri sayesinde izole ortamlarda sunucularınızı çalıştırmak, güvenlik açısından büyük avantaj sağlar. Ayrıca pf gibi güvenlik duvarları ile gelen trafiği yönetmek, sunucu güvenliğini artırmak için önerilir.

Sonuç

FreeBSD 12.1 üzerine GCC10 ile 32-bit derleme yapmak, özellikle eski sistemlere uyumlu uygulamalar geliştirmek isteyenler için önemli bir adımdır. Doğru yapılandırmalarla FreeBSD, Metin2 gibi oyun sunucuları için güçlü ve kararlı bir ortam sunabilir. Daha fazla bilgi ve destek için Metin2 Lobby sitesini ziyaret edebilirsiniz.


Next Generation Build - FreeBSD 12.1 - GCC10 - 32 Bit

FreeBSD is a Unix-based operating system known for its high performance and security, especially on the server side. It is frequently preferred for hosting game servers such as Metin2. Correct compilation and configuration can make this platform more efficient. In this article, we will discuss how to perform a next-generation build process on FreeBSD 12.1 using GCC10 for 32-bit architecture.

FreeBSD 12.1 offers more hardware support and security updates compared to older versions. However, certain projects may still require 32-bit support. In such cases, the compilation tools must also be compatible. Using modern compilers like GCC10 increases code optimization and enables development according to newer standards.

Setting Up the Compilation Environment

Firstly, ensure your system includes necessary packages. You can use pkg or ports systems to install required build tools on FreeBSD. To install the GCC10 compiler, you can use the following command:

pkg install gcc10

Then, make sure that 32-bit libraries are available on the system. If missing, 32-bit compatibility libraries can be added using the compat32 package:

pkg install compat32

Configuring GCC10 for 32-Bit Compilation

By default, GCC10 targets 64-bit architecture. Special flags may be needed for 32-bit builds. For instance, during makefiles or configure scripts, you can add arguments like:

-m32 -L/usr/lib32 -I/usr/include

With these settings, applications are compiled to be compatible with 32-bit architecture. Particularly in older game servers like Metin2, some dependencies might still be compatible with 32-bit systems.

Dependencies Like Boost

Metin2 servers generally depend on libraries such as Boost, MySQL, and OpenSSL. These libraries should also be installed in a way that supports 32-bit compilation. With FreeBSD’s ports system, you can compile these libraries with 32-bit support.

As an example, to compile the Boost library:

cd /usr/ports/devel/boost-all && make WITH_ARCH=i386 install clean

Post-Build Configuration

After compilation, server configuration becomes important. FreeBSD’s jail systems allow running your servers in isolated environments, which significantly enhances security. Additionally, using firewalls like pf to manage incoming traffic is recommended to increase server security.

Conclusion

Building with GCC10 on FreeBSD 12.1 for 32-bit architecture is an essential step for those looking to develop applications compatible with older systems. With proper configurations, FreeBSD can provide a robust and stable environment for game servers like Metin2. For more information and support, visit Metin2 Lobby.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kaydol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Üye ol
Giriş Yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş Yap

Tema düzenleyici

Tema özelletirmeleri