Jump to content

[Download]Source (Client / Server / Tools) by Ira


juniorsilva
 Share

Recommended Posts

Olá pessoal.

Bem, hoje venho aqui postar a source do Ira que esta bastante limpa pelo que vi ele removeu tudo que era possível da source Ymir, então vamos lá pra você compilar a source Ira vai precisar baixar no FreeBSD 10.4 \ 11.1:

# pkg install clang38 gmake

Adicionar o Makefile em Ira Work\source\server\source\Makefile e adicionar permissão 777 ao Makefile.

Hidden Content

    Give reaction to this post to see the hidden content.

Comandos:

gmake  libs   - Compila todas as libs

gmake db   - Compila a DB core

gmake game     -  Compila a GAME core

gmake clean   -  Limpa todas as sources

gmake all  -  Compila todas as sources

 

Agora pra você compilar a source do cliente vai precisar baixar o

Hidden Content

    Give reaction to this post to see the hidden content.
.

Hidden Content

    Give reaction to this post to see the hidden content.

Download do Metin2_PT_r40267_Client

Hidden Content

    Give reaction to this post to see the hidden content.

Senha:  tlthings.net

 

Informações sobre a Source Ira:

Spoiler

++ Boost_1.60.0
++ DevIL_1.8.7
++ Lua_5.1
++ googletest_1.7.0 - This dependency has been removed
++ mysql_5.7  (More faster and stable than mysql 5.4)
++ lzo_2.09
++ minilzo_2.09
++ clang++3.8
++ All makefiles was rewrited by me. 
++ C++ 11 features like ( Auto transform , nullptr transform , pass by value , smart pointers )
++ Buffers problem was solved. ( Now you don't need worry about lag problems)
++ Entire network packet's system was revised and unknown packet headers problem was solved.
++ Extern folder has been removed. All dependencies will be installed using pkg.
++ From 350 files.  Now game source have just 250 files. Soo, it's super clean. And useless things removed.
++ You will receive support & updates (i WILL support just source problems/bugs) JUST SOURCE
++ translated 
++ Include guards has been replaced with pragma once
++ Added a little 1 second check to Mount  -> Unmount (horse, mount , etc..)
++ A buffer adjust has been added.
++ Added a IP Check for GM rights
++ GetIpInfo revised (With autodetect public_ip)
++ MapIndex hatoic number has been revised( MapIndex it's now 1 2 3 4 5 6  etc) 
++ Source it's formatted using google formating style

Hidden Content

    Give reaction to this post to see the hidden content.

++ You can compile source under amd64 system.
       A 32-bit process has a 32-bit address space, by definition: “32-bit” means that memory addresses in the process are 32 bits wide,
       and if you have 232 distinct addresses you can address at most 232bytes (4GB). A 32-bit Linux kernel can only execute 32-bit processes.
       Depending on the kernel compilation options, each process can only allocate 1GB, 2GB or 3GB of memory (the rest is reserved for the kernel
       when it's processing system calls). This is an amount of virtual memory, unrelated to any breakdown between RAM, swap, and mmapped files.
       A 64-bit kernel can run 64-bit processes as well as 32-bit processes. A 64-bit process can address up to 264 bytes (16EB) in principle.
       On the x86_64 architecture, partly due to the design of x86_64MMUs, there is currently a limitation to 128TB of address space per process.
       With amd64 compiler now binary can use all resources ,max 128 TB RAM.

       Conclusion: All metin2 p-server use just 4gb ram memory because this is the limit can handle 32bit adress space.
       Advantages: Now you server game and db can handle more than 100gb ram. Gamecore can store more data intro RAM memory, less lag, fast conexions, Dbcore can
       store more data, fast querty execute.  Metin2 use buffers to store data intro ram memory. Sooo ram is critical intro a metin2 server.
++ Public IP is autodetected, you don't need to set BIND_IP anymore. 
++ passpod (LOGIN 4) removed
++ Openid (LOGIN 5) removed
++ GreetMessage removed
++ teen packets (input_teen, teen_desc  etc... mooore) removed
++ Locale Stuff ( Lc_IsYmir , brazil, canada, newCibn, etc..) removed
++ AuctionManager removed
++ block_country removed
++ block_exception removed
++ ip_ban removed 
++ freebsd_filemonitor removed
++ dev_log removed
++ monarch_systm (queslua_monarch , mgmt) removed
++ Threeway_war  (queslua_forked.cpp , castle.cpp) removed
++ SpeedServer ( questlua_speedserver, etc.. all stuff) removed
++ Vcard removed
++ Marble stuff removed
++ auth brazil removed
++ auth japan removed
++ pcbang removed 
++ germany stuff removed
++ xtrap removed
++ checkServer removed
++ hackshield removed
++ billing system ( from YMIR) removed
++ Useless version.txt removed
++ test references ( test.cpp etc..) removed
++ ShopEx function( table) removed
++ panama crypt removed
++ over9refine removed
++ china matrix_card removed
++ limit_time removed
++ Win32 references removed
++ All brazil references removed
++ Canada references removed
++ g_IUseLocale removed
++ Lotto event  (I can add to request) ( lotto_drop etc) removed
++ SpeedServer questlua table removed
++ Forked questlua table removed
++ Monarch questlua table removed
++ Translate.lua file  ( I can add to request) removed
++ Improved_packet removed
++ Header_Version2 (Now it's only version 1) removed
++ Mobile system (I can add to request(But is useless)) removed
++ CRC references (Reload_crc, etc) removed
++ HybridCrypt system (Crypt package. etc) removed
++ All useles #ifdef  and #ifndef removed
++ Server_check ( Server_key) removed
++ FileMonitor freebsd removed
++ Useles logs ( hackshield , vcard , pc_bang, speed hack etccccccc) removed
++ Locale WorldEdition removed
++ China Event_server && china toxification prevent stuff removed
++ Distribution_test_server stuffs removed
++ SyncPosition problems removed
++ Some hack checks removed (Useless , combo , spped, skill etc :D)
++ revive_invisible removed 
++ Database String removed
++ Metin2 Server_IsInvalid stuffs removed
++ Teen _Desc stuff removed
++ Marble_desc  stuff removed
++ GetKey_20050304Myevan()  (I will add to request) removed
++ Auth Japan removed
++ exp_table_euckr removed
++ exp_table_newcibn removed
++ do_frog  ( I can add to request) removed
++ user_horse_ride removed and adapted ctrl + g for mount and horse
++ Check_level_limit korea only removed
++ Over_Time stuffs removed

++ And more, but i don't remember now.. I will edit again.
++ Belt bug fixed
++ war crash fixed
++ mount/unmount with full inventory fixed
++ dice crash fixed
++ Fixed all warnings
++ Korean commands, backdoors, was removed... 
++ Status point fixed, you can set it fron control.h
++ Bonus change on equipped items
++ Empire change bug
++ Scroll bug
++ Horse  skills damage
++ Item swap with full inventory fixed
++ Negative HP fixed
++ 6/7 on costumes fixed
++ All mount can attak fixed

++ Sql injection in messenger fixed
++ sql injection in guid fixed
++ Change empire crash fixed
++ Party invite crash fixed
++ dungeon crash fixed
++ cube crash fixed
++ Affect problems (I maded 3 new functions for refersh affects )
++ Source have over 100 fix but i don't remember all, i try to edit when i have time.
++ Edit soon i don't have time.


#define MAP_ALLOW_LIMIT                            32
#define ITEM_ACCESSORY_SOCKET_MAX_NUM            3
#define CAN_SHOUT_MAX_LEVEL                        15
#define MAX_STATUS_POINT                        100
#define PARTY_CAN_JOIN_MAX_LEVEL                30
#define MAX_ITEM_INTRO_STACK                    200
#define MAX_MEMBER_INTRO_PARTY                    10
#define CAN_RESET_HERE_TIME                        170
#define CAN_RESET_TOWN_TIME                        173
#define MAX_LEVEL_POINT_CAN_STEP                90
#define PORTAL_LIMIT_TIME                        10
#define STONE_INSERT_PERCENT_CHANCE                30

#define __USE_TXT_MODE_FOR_PROTO___
//#define __USE_SQL_MODE_FOR_PROTO___
 

DATABASE CACHE LOG:

++ Billing           removed
++ Auction Manager   removed 
++ Block Country     removed 
++ Block exception   removed 
++ PlayerHB          removed

CLIENT SOURCE LOG:

++ Boost 1.60 
++ Cryptopp 5.6.3
++ granny 2.4
++ python 2.7.11
++ Directx 8b
++ DevIL 1.7.8
++ SpeedTree 1.6
++ MilesSound 2.9b
++ Lzo Professional 8b (10x faster than lzo 2.09) Soon i will update to lz4
++ Level Step bug fixed ( When you 
++ Uknown packet header fixed 100% all
++ All windows copatibility fixed
++ SEQUENCE mismatch all fixed, no more sequence syserr ( This seqeunce kick players )
++ view_equip crash  fixed
++ python 2.7 Long overflow fixed
++ Fixed some visual bugs
++ Source it's formatted using google formating style

Hidden Content

    Give reaction to this post to see the hidden content.

++ Some memory leaks after teleportation fixed
++ OpenID removed
++ Pc_Bang removed
++ HackShield removed
++ NprotectGameGuard removed
++ passpod removed
++ matrix_card removed
++ IsDev removed
++ IsLive removed
++ IsTest removed
++ Application Logo removed
++ MovieMan removed
++ ProcessCrc removed
++ ProcessScanner removed
++ All DLL-s dependecy removed   ( Here it's a print how client look

Hidden Content

    Give reaction to this post to see the hidden content.
)
++ useless #define removed
++ useless #ifdef / #ifndef removed
++  Locale Ymit , newcibn , koreea all thos stuffs removed

++ Compiler Visual Studio 2015 / x86
++ Toolset v140_xp
++ SDL checks activated and compatible
++ Multi process compilation
++ Optimized for favor fast code
++ Whole program optimization
++ Fiber safe optimization activated
++ Omit frame pointers
++ Inline expansion set to any suitable
++ Strip Pooling was enabled 
++ Runtime Library it's /MT (Multi Threading )
++ Struct member alignment  it's set to 8 bytes by default
++ Floating point model set to : FAST (FAST CODE GENERATING )
++ hotpatchable Image enabled
++ Enabled COMDAT flooding set to YES
++ Visual studio now generate a checksum for executable in header
++ Prevent DLL Binding
++ Target Manchine x86 but work fine to x64 too

TOOLS LOG:

1. Python Engine :

++ openid removed
++ passpod removed
++ matrix_card removed
++ IsTest removed
++ IsDev removed
++ IsLive removed
++ Mobile messnger removed
++ All # comments removed :D
++ Locale_ stffs removed ( Is.Ymir , Is.Arabic , Is.NewCibn , Is.Vietnam , etc all those checks.)
++ Translated
++ Ready for use :dependencies
++ Added a new npclist.py ( Now you can't use npclist.txt) If you want i will change to .txt
++ Official root from Metin2RO Official before cython. 
2.Clean navicat tables

++ Compatible with new MySql 5.7
++ All extra useless tables removed
++ Translated
++ MyIsam was changed with InnoDB
3. Dump proto

++ This tool read .txt protos from server and build client protos.
++ This tool read client protos and make .txt too
++ Translated
++ Removed some TYPE/ SUBTYPE useless
++ adapted to the new strncpy_s
4.msa maker

++ This tool create for you .msa files for .gr2 files
++ Work with granny 2.4/2.9
++ Compiler Visual studio 2015
++ Support Accumulation
++ Support multiple .gr2
5. New text protos editor

++ This tool help you to edit .txt server protos.
++ How to use
++ Support search vnum / name / colums
++ Compatible with all windows
++ Compiler visual studio 2015

 

Source Ira testada - Work.

Hidden Content

    Give reaction to this post to see the hidden content.

Edited by juniorsilva
Melhoramento do tópico & Update links
  • Like 19
  • Thanks 6
  • Haha 1
  • Confused 1
Link to comment
Share on other sites

1 hora atrás, juniorsilva disse:

Olá pessoal.

Bem, hoje venho aqui postar a source do Ira que esta bastante limpa pelo que vi ele removeu tudo que era possível da source Ymir, então vamos lá pra você compilar a source Ira vai precisar baixar no FreeBSD10<->11:

# pkg install clang38 gmake

Agora pra você compilar a source do cliente vai precisar baixar o

Hidden Content

    Give reaction to this post to see the hidden content.
.

Hidden Content

    Give reaction to this post to see the hidden content.

 

Source Ira testada - Work.

Hidden Content

    Give reaction to this post to see the hidden content.

 

Fonte:  just4metin.ro

@juniorsilva tem como montar ela em 9.3 ou tem que ter 10 +?

que serverfiles/client recomenda para usar com essa source?

  • Like 2
Link to comment
Share on other sites

Poderia criar um tutorial de como instalar o freebsd 11 para metin2 é que existe umas diferenças do 9xx para o 10 x11.

O vs 2013 não serve para compilar a surce cliente ?

obrigado pela partilha 

que serverfiles e cliente recomenda para elas ?

 

Edited by Caneiras
Link to comment
Share on other sites

27 minutos atrás, Tierri Lopes disse:

Script para compilar (colocar na base da source, como na imagem abaixo, chamei-lhe compile.sh):

Hidden Content

    Give reaction to this post to see the hidden content.

Hidden Content

    Give reaction to this post to see the hidden content.

Que files recomendas para essa surce ? e cliente claro

  • Like 2
Link to comment
Share on other sites

Em 23/09/2017 em 11:54, Luffy disse:

@juniorsilva tem como montar ela em 9.3 ou tem que ter 10 +?

que serverfiles/client recomenda para usar com essa source?

 

Em 23/09/2017 em 12:09, Caneiras disse:

Poderia criar um tutorial de como instalar o freebsd 11 para metin2 é que existe umas diferenças do 9xx para o 10 x11.

O vs 2013 não serve para compilar a surce cliente ?

obrigado pela partilha 

que serverfiles e cliente recomenda para elas ?

 

 

Não sei se o servidor ficaria instável na versão 9.x já que ele removeu o malloc(size_t size)  por isso deixei definido a versão 10 / 11 por segurança e também só tenho o FreeBSD 11 aqui no PC.

Sobre o visual studio teria de recompilar tudo em v120 (libs).

 

  •  Cliente Base (PT) - Postado aqui no fórum , necessário atualizar dlls /libs/packs.
  • ServerFiles 40k (Default).

 

Como configurar sua ServerFiles 40k:

auth/ CONFIG default

db/conf.txt agora é CONFIG.

channel1 / 99 continua default CONFIG.

 

Obs: Recomendo que você altere o latin2 (Main.cpp,ClientManager.cpp) por latin1 (PT/BR). 

 

Link to comment
Share on other sites

Em 23/09/2017 em 14:03, Tierri Lopes disse:

Script para compilar (colocar na base da source, como na imagem abaixo, chamei-lhe compile.sh):

Hidden Content

    Give reaction to this post to see the hidden content.

Hidden Content

    Give reaction to this post to see the hidden content.

Para mostrando gmake not found

Mas já instalei o pkg install clang38 gmake

Link to comment
Share on other sites

Em 24/09/2017 em 18:15, juniorsilva disse:

 

 

Não sei se o servidor ficaria instável na versão 9.x já que ele removeu o malloc(size_t size)  por isso deixei definido a versão 10 / 11 por segurança e também só tenho o FreeBSD 11 aqui no PC.

Sobre o visual studio teria de recompilar tudo em v120 (libs).

 

  •  Cliente Base (PT) - Postado aqui no fórum , necessário atualizar dlls /libs/packs.
  • ServerFiles 40k (Default).

 

Como configurar sua ServerFiles 40k:

auth/ CONFIG default

db/conf.txt agora é CONFIG.

channel1 / 99 continua default CONFIG.

 

Obs: Recomendo que você altere o latin2 (Main.cpp,ClientManager.cpp) por latin1 (PT/BR). 

 

Você tem algum link de serverfiles que sejam compativeis com esse binario?

Link to comment
Share on other sites

Não dá para compilar em FreeBSD 10.4 x64...

No fim de compilar, quando está a dar linking, aparece isto:

Hidden Content

    Give reaction to this post to see the hidden content.

Também acontece com llua, lboost_system, lminilzo e todas as devil

Alguém tem alguma solução?

  • Like 2
Link to comment
Share on other sites

34 minutos atrás, charparodar disse:

Não dá para compilar em FreeBSD 10.4 x64...

No fim de compilar, quando está a dar linking, aparece isto:

Hidden Content

    Give reaction to this post to see the hidden content.

Também acontece com llua, lboost_system, lminilzo e todas as devil

Alguém tem alguma solução?

Sistema  i386 .....

link: 

Hidden Content

    Give reaction to this post to see the hidden content.

 

:FailFish:

Link to comment
Share on other sites

3 minutos atrás, juniorsilva disse:

Sistema  i386 .....

link: 

Hidden Content

    Give reaction to this post to see the hidden content.

 

:FailFish:

 

Em 23/09/2017 em 14:27, juniorsilva disse:

Informações sobre a Source Ira:

Spoiler

++ You can compile source under amd64 system.
       A 32-bit process has a 32-bit address space, by definition: “32-bit” means that memory addresses in the process are 32 bits wide,
       and if you have 232 distinct addresses you can address at most 232bytes (4GB). A 32-bit Linux kernel can only execute 32-bit processes.
       Depending on the kernel compilation options, each process can only allocate 1GB, 2GB or 3GB of memory (the rest is reserved for the kernel
       when it's processing system calls). This is an amount of virtual memory, unrelated to any breakdown between RAM, swap, and mmapped files.
       A 64-bit kernel can run 64-bit processes as well as 32-bit processes. A 64-bit process can address up to 264 bytes (16EB) in principle.
       On the x86_64 architecture, partly due to the design of x86_64MMUs, there is currently a limitation to 128TB of address space per process.
       With amd64 compiler now binary can use all resources ,max 128 TB RAM.

       Conclusion: All metin2 p-server use just 4gb ram memory because this is the limit can handle 32bit adress space.
       Advantages: Now you server game and db can handle more than 100gb ram. Gamecore can store more data intro RAM memory, less lag, fast conexions, Dbcore can
       store more data, fast querty execute.  Metin2 use buffers to store data intro ram memory. Sooo ram is critical intro a metin2 server.

 

Edited by charparodar
Link to comment
Share on other sites

Não testei compilação em 64bit, no entanto, citando:

"  Conclusion: All metin2 p-server use just 4gb ram memory because this is the limit can handle 32bit adress space. "

Gotaria de esclarecer que existe esse limite sim, mas isso é limite por core.

Ou seja, ch1_core1, esse ficheiro game apenas conseguirá utilizar 4GB de ram.

O ch1_core1, esse mesmo ficheiro também apenas conseguirá utilizar 4GB de ram.

Ou seja, a limitação de 4GB de ram é por instância do game, e não no total.

Na realidade nenhum core irá usar 4GB de ram sozinho nem lá perto, se isso acontecer, então existem leaks de memória bastante graves que devem ser resolvidos.

Link to comment
Share on other sites

4 minutos atrás, Tierri Lopes disse:

Não testei compilação em 64bit, no entanto, citando:

"  Conclusion: All metin2 p-server use just 4gb ram memory because this is the limit can handle 32bit adress space. "

Gotaria de esclarecer que existe esse limite sim, mas isso é limite por core.

Ou seja, ch1_core1, esse ficheiro game apenas conseguirá utilizar 4GB de ram.

O ch1_core1, esse mesmo ficheiro também apenas conseguirá utilizar 4GB de ram.

Ou seja, a limitação de 4GB de ram é por instância do game, e não no total.

Na realidade nenhum core irá usar 4GB de ram sozinho nem lá perto, se isso acontecer, então existem leaks de memória bastante graves que devem ser resolvidos.

Estou a tentar instalando no próprio FreeBSD as libs necessárias, já consegui resolver o erro da mysql, utilizando as libs e os includes instalados no sistema e adicionando estas 2 flags: -lssl -lcrypto não deu mais erros na parte do mysql...

 

Link to comment
Share on other sites

Bem, o game também está quase a compilar, falta as libs lua e acho que depois vai dar erro na minilzo.

Erros LUA:

Spoiler

Hidden Content

    Give reaction to this post to see the hidden content.

 

Alguém sabe como resolver isso? Já tentei com lua 5.1 e 5.2, na net não encontro nada sobre isto...

Link to comment
Share on other sites

Em 15/10/2017 em 15:44, juniorsilva disse:

Sistema  i386 .....

link: 

Hidden Content

    Give reaction to this post to see the hidden content.

 

:FailFish:

FreeBSD 32BITS:
(...)
compile war_map.cpp
compile wedding.cpp
compile xmas_event.cpp
linking....
/usr/bin/ld: cannot open output file /root/game/share/game: No such file or directory
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [Makefile:242: /root/game/share/game] Error 1
gmake[1]: Leaving directory '/usr/src/source/server/source/game/src'
gmake: *** [Makefile:19: game] Error 2

Link to comment
Share on other sites

/root/game/share/ não existe

Abre MAKEFILE em

Hidden Content

    Give reaction to this post to see the hidden content.

procura por

Hidden Content

    Give reaction to this post to see the hidden content.

Muda para:

Hidden Content

    Give reaction to this post to see the hidden content.

 

Repete o mesmo processo para a makefile da db

  • Like 2
Link to comment
Share on other sites

13 horas atrás, Tierri Lopes disse:

/root/game/share/ não existe

Abre MAKEFILE em

Hidden Content

    Give reaction to this post to see the hidden content.

procura por

Hidden Content

    Give reaction to this post to see the hidden content.

Muda para:

Hidden Content

    Give reaction to this post to see the hidden content.

 

Repete o mesmo processo para a makefile da db

Depois de mudar o TARGET:
(...)
linking....
/usr/bin/ld: cannot find -lgame
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [Makefile:242: ../game] Error 1
gmake[1]: Leaving directory '/usr/src/source/server/source/game/src'
gmake: *** [Makefile:19: game] Error 2

Link to comment
Share on other sites

9 minutos atrás, Tierri Lopes disse:

Coloca a makefile toda aqui sff, pode ter mais coisas relativos à target

 

Makefile /game/src :
 

Spoiler

Hidden Content

    Give reaction to this post to see the hidden content.

 

Makefile /db/src :
 

Spoiler

Hidden Content

    Give reaction to this post to see the hidden content.

 

Ultimo erro:

linking....
/usr/bin/ld: cannot find -lgame
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [Makefile:242: ../game] Error 1
gmake[1]: Leaving directory '/usr/src/source/server/source/game/src'
gmake: *** [Makefile:19: game] Error 2

Edited by cjunior2011
  • Like 1
Link to comment
Share on other sites

1 minute ago, cjunior2011 said:

 

Makefile /game/src :
 

  Hide contents

Hidden Content

    Give reaction to this post to see the hidden content.

 

Makefile /db/src :
 

  Hide contents

Hidden Content

    Give reaction to this post to see the hidden content.

 

 

Já está correcto

erro do lgame, significa que libgame nao esta compilada,

Vê  esta resposta para criar script para compilar primeiro as libs e de seguida game e db:

https://tlthings.net/index.php?/topic/1093-downloadsource-client-server-tools-by-ira/&do=findComment&comment=4300

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...