-
Posts
1112 -
Joined
-
Last visited
-
Days Won
20 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by TMP4
-
-
1 hour ago, .NyanCat said:
I experienced that exact samr peoblem as well yesterday
On login. Auth crashes.
Well I just went for https://cryptopp.com/cryptopp840.zip (8.5.0 works too but I have 8.4.0 in the clientside so I choose that)
Unzip it in your freebsd then cd there then gmake then gmake install or point to that directory in your MakeFIle.
(Be sure to remove cryptopp before if you have already installed via pkg or from ports)Still don't know why the pkg and the port version not working tho, but honestly I don't care at this point,
at least the downloadable version works-
1
-
-
14 hours ago, SmyleMDFK said:
At new version i have this error:
Process: FDWATCH: peer null in event: ident 21
I think that is independent from any update, it can happen in every serverfile. Mostly when you shut down your server or your core crash.
But please give me more info where you get it (db probably) and when you get it.----------------------------------
A little announcement, I'm working on migrating the project to FreeBSD13, I can release it soon,
maybe todaytomorrow If I'll have time after work, but expect soon-
4
-
2
-
-
11 minutes ago, Denizeri24 said:
etc/make.conf
CFLAGS += -march=x86-64
CXXFLAGS += -march=x86-64
rebuild crpytopp (pkg delete crpytopp --> make clean --> make install) and game.
If the error is not resolved, search this;
Program terminated with signal SIGILL, Illegal instruction. Privileged opcode.
Yep I rebuilt cryptopp, game, db too. When I rebuilt cryptopp I saw it was compiled with clang++-devel so that part is ok.
I have benn looked for SIGILL, Illegal instruction for hours yesterday, I know what it means but I don't know why I get that when I built crytopp from ports and not manually.
-
22 minutes ago, Denizeri24 said:
etc/make.conf
CC = clang-devel
CXX = clang++-devel
Freebsd has changed default compiler (gcc to clang).
The devel version is the developer version and the devel version does not come by default in operating systems.
Clang-Devel --> Version 12 or 13
Clang --> Version 8
I see your point and I did it, now the port version compiled with clang++-devel too.
However it's still the same, auth crash and I getting lost my faith. -
8 minutes ago, Denizeri24 said:
whats your compiler? gcc or clang? and what versions?
and when you compile from ports, what you using compiler? The reason for getting errors in cryptopp is usually compiler diffs (optimizations) and c++ versions..
clang for the project (game,db) clang++-devel
"and when you compile from ports, what you using compiler?"
Can we choose? I just give cd /usr/ports/security/cryptopp && make install clean command. -
12 minutes ago, Denizeri24 said:
dont use pkg.
use make install (install from ports)
pkg and the port version is the same, but I tried, same result, auth crash.
What is weird is that when I installs it manually by download it from: https://cryptopp.com/#download and gmake & gmake install it works fine, auth does not crash. There is some difference in the port version and in the cryptopp.com version. As I said the lib (libcryptopp.a) size are different, but that mostly because of compression.
To sum it up:
- cd /usr/ports/security/cryptopp && make install clean (or via pkg) --> auth crash
- Installing it by downloading & unzipping this: https://cryptopp.com/cryptopp850.zip and gmake and gmake install --> it works fine
The result should be the same in either way, but it's not.
-
6
-
1
-
Hi,
When I compile my game with Crypto++ 8.5.0 (current version from pkg install cryptopp) the game compiles fine but when I try to log in, the auth crash.
GDB:
Core was generated by `./auth'. Program terminated with signal SIGILL, Illegal instruction. Privileged opcode. #0 KeyAgreement::~KeyAgreement (this=0x213dd780) at cipher.cpp:100 100 virtual ~KeyAgreement() {} [Current thread is 1 (LWP 100565)] (gdb) bt #0 KeyAgreement::~KeyAgreement (this=0x213dd780) at cipher.cpp:100 #1 0x006024a0 in Cipher::Prepare (this=0x213cea2c, buffer=0xffbfb35d, length=0xffbfb354) at cipher.cpp:159 #2 0x00542329 in DESC::SendKeyAgreement (this=0x213ce700) at desc.cpp:731 #3 0x00564fc6 in CInputProcessor::Handshake (d=0x213ce700, c_pData=0x22023400 "\377\243*\251\300/l\002", this=<optimized out>) at input.cpp:212 #4 CInputHandshake::Analyze (this=0x213ce72c, d=0x213ce700, bHeader=255 '\377', c_pData=0x22023400 "\377\243*\251\300/l\002") at input.cpp:646 #5 0x00564697 in CInputProcessor::Process (this=0x213ce72c, lpDesc=0x213ce700, c_pvOrig=0x22023400, iBytes=13, r_iBytesProceed=@0xffbfb9cc: 0) at input.cpp:103 #6 0x00541c55 in DESC::ProcessInput (this=0x213ce700) at desc.cpp:313 #7 0x00633524 in io_loop (fdw=0x213be520) at main.cpp:1059 #8 0x00633229 in idle () at main.cpp:948 #9 0x00631ef5 in main (argc=<optimized out>, argv=0xffbfecbc) at main.cpp:609 (gdb)
GDB Full: https://pastebin.com/jwLNHPGn (it's long so I used pastebin)
If you want to have a look in the source files:
(It's the same as https://metin2.dev/topic/27610-40250-reference-serverfile-client-src-15-available-languages/ just removed hackshield because hs lib wasen't compatible)Any idea how to make it work?
Edit: When I install cryptopp manually from https://cryptopp.com/cryptopp850.zip it works fine. I have no clue what's happening
The file sizes are different in the lib folder when I install it via pkg and when I install it manually, but maybe just compression.Thanks in advance,
TMP4-
17
-
1
-
2
-
1
-
6
-
-
Hi,
Thank you for the prepared FreeBSD13 vm what you provided for me in DM.
After I removed hackshield the game compiled just fine:
You can owerwrite it because I did not change other things just commented out hackshield lines, but you can use notepad++ compare plugin or similar.
I couldn't solve it without removing the hackshield, but since we are not using that, it is okey to remove.-
16
-
1
-
1
-
1
-
-
6 hours ago, narcisxb said:
Welp it turns out your backup command creates a src folder but does not backup the actual source files. As I just deleted a months worth of work on the source now I m just going to go fkin kill (shot or hang - not decided as of yet -) myself in the livingroom.
It is a lie, sorry.
Backup.sh do nothing but a tar -cf metin2.tar.gz metin2 command to make tar archives.
The tar gz archives what are in mega are created with the backup.sh, and it does include src.
If your metin2/src folder are empty, it wasent existed there when you did the backup.sh.
SpoilerNot to mention not doing any backup for months... It's better I not comment on this.
-
He is right, .patch files are the correct way but since the changes are so tiny I didn't feel the need. But I may include them in the future.
-
2
-
-
16 minutes ago, narcisxb said:
I literally don t have any syserr or syslog in any of them. I can t even start the server, as soon as I type start and select channel number it dumps stuff in var/crash and reboots freebsd. Any ideea what I m doing wroing? It worked great until last night and this morning I got this crash.
I added a bunch of stuff (mainly malis and p3nger) but I always did a lot of testing and made sure everything worked. Last night I had 0 errors but this morning I just started getting this crash.
I get this:
... savecore 560 - - reboot after panic: ffs_write: type 0x19307360 0 (0,57) savecore 560 - - writting core to /var/crash/vmcore.0 Writing crash summary to /var/crash/core.txt.0 ...
Then it is a FreeBSD error most likely. To make things easy I would make a backup via backup.sh then redownload the vdi and restoring your backup.
-
7 minutes ago, narcisxb said:
How do I read a crash core? I get some files in var/crash (core.txt.0 and vmcore.0) but nothing in ch1/ch2/etc. and my server keeps rebooting after start command. (sorry for newbie questions)
But did you edit the game-db? It really shouldn't crash with default things.
-
3 minutes ago, CjMt2 said:
1. this project NOT RUN on updated x86 machine
2. this project NOT COMPILE on updated x86 machine
3. If your goal is to run forever in x86 machine must be a joke in 2021, please see news from last 10 years from, intel, amd.
I also tested in the virtual machine and on the real physical server before deciding to say about this files, both on the image downloaded here and on 12.2 i386, 12.2 amd64, 13 i386, 13 amd64.
The only way to compile files is to use 12.0 i386 from this vdi WITHOUT ANY UPDATE. Why is must to make a game or db with all these vulnerabilities and then put it on a live server?
I'm not gonna repeat myself. There is something you are right about, there is something you are not. Thank you for the feedback.
-
@ Draveniou1 I hope you don't take it as an insult, I just want to explain this itemshop problem to you.
The non-item_award item_shop's problem are not coming from the DB, but the itemshop(.php) itself.
To solve the problem you have to do 2 things:- Checking your item id range in db/conf.txt
- Inserting with a random id BUT outside of that vnum range in your itemshop.php
Doing that way, you'll never have id conflict even if you skip item_award.
Official chinese/hongkong server actually did this long time ago before item_award was a thing. (M2H conversation about this.)Item_award was made to solve this problem, so I really not understand people who want to skip using it.
---------------------------------------------------------------------------------------
19 hours ago, ASIKOO said:Hi,
The condition is empty, it should be deleted, right?
He didn't delete it because there is an else right after that and he probably didn't know what to do in this situation so he left it blank.
His code would look like this in the right formatting:void CItemCache::OnFlush() { if (m_data.vnum != 0) // not equal instead of equal { [...] // this is the former else statement content! } [...] }
But as I said, the problem lies in the itemshop.php, not in the db, so I do not advise to edit this.
-
2
-
1
-
4
-
1 hour ago, 4peppe said:
What?
Basicly he objects to 2 things:
- The source does not have x64 port
- The VM is FreeBSD12.0, not 12.2 / 13.0
My answers:
- Porting the source to the x64 platform was never a goal for this project. Please have a look here if you want a project with an x64 port.
- It can run fine on x64 system, you just need to compile it in a x32 system. Sum it up, you can run it even in a FreeBSD13 x64 VPS, you just can't compile there.
- VM should be used for localhost testing, not live environement. (What if I wouldn't even include a VM?)
Updating the VM is in my todo list btw. But do not except x64 port.
---------------------------
1 hour ago, CjMt2 said:I won't get involved here at least until I see that it's a major update
It's like going to a free shop and saying you won't buy anything in the future again for free from here until you see improvent of the free shop service.
-
4
-
On 11/14/2021 at 12:56 PM, TMP4 said:
But I may update the ClientVS19 to 22 sooner since as I said there wasen't that many change in the client
New update
:
2021.11.14: - Added ClientVS22.zip so you can use Visual Studio 2022 from now (optional). Every changes I made in ClientVS19 have been done in ClientVS22. Special thanks for Mali for providing the base source! - Fixed dump_proto, there was some missing empty subtype and while it wasen't a problem with Visual Studio 2019, it crashed with Visual Studio 2022. (ItemCSVReader.cpp)
ClientVS22 is optional, you can still use ClientVS19
and I will most likely maintain and keep it in the Mega drive. So you can choose what would you like to use.If you find any bug with VS22 please report it to me. It's new for me too and I couldn't test it for hours and days.Special thanks to @ Mali for his updated & clean sources. If he never released his sources probably I would never released this whole serverfile.
-
2
-
2
-
2
-
2
-
-
2 minutes ago, GoldCash said:
Yes When i redownload Mali's VS Now its work, i dont know why, but work
Probably because the old one was made for the Preview (beta) visual studio 22, not for the Release visual studio 22.
Anyway you have to apply the changes I made in the vs19 to the vs22.But I may update the ClientVS19 to 22 sooner since as I said there wasen't that many change in the client
-
23 minutes ago, GoldCash said:
When i try build client i got this error
Building Client What is wrong? I didn't change anything, I tried to build a client
ClientVS19 does not have discord rich presence, so I'm not sure what are you doing there.
You may work with Metin2-Client-Build-With-VS2022-master.zip because that have it, but that is totally untouched as I mentioned in the Readme.txt, I just left the archive there if anyone needs it and provide credit to Mali. In case you work with it, you may want to redownload it because Mali just updated it yesterday:
It's planned that I upgrade the ClientVS19 to 22 sometimes in the future. If you not wait for it, you have to do the changes on your own by checking the whole Changelog.txt, but in the client there wasen't that many change.
-
Start your investiagtion in uiinventory.py:
def RefreshBagSlotWindow(self): getItemVNum=player.GetItemIndex getItemCount=player.GetItemCount setItemVNum=self.wndItem.SetItemSlot for i in xrange(player.INVENTORY_PAGE_SIZE): slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i) itemCount = getItemCount(slotNumber) # itemCount == 0ŔĚ¸é ĽŇÄĎŔ» şńżî´Ů. if 0 == itemCount: self.wndItem.ClearSlot(i) continue elif 1 == itemCount: itemCount = 0 itemVnum = getItemVNum(slotNumber) setItemVNum(i, itemVnum, itemCount)
-
1
-
-
6 minutes ago, GoldCash said:
This not working for me i got error from SSH
This ErrorYou need python2.7 for your vps. Pkg install python will not install 2.7 but 3.x.
pkg install python2.7
then
cd /usr/metin2/server/share/locale/english/quest && python2.7 make.py
------------------------------------------------------------------------------
New update:
2021.11.13: - Changed the default bind_ip from 0 to 127.0.0.1 in db/ClientManager.cpp to prevent attackers to make a fake auth and join to your db when it's port publicly available. - Fixed player/object_proto table to silence syserr. I used Shogun's version previously. I took the reg_x original values now but since it is hard to place objects with them (that's why Shogun edited it), I divided them by two. If you need full original table I left it as object_proto_original. - Fixed LoadMonsterAreaInfo syserr, it is a feature for WorldEditor, not the client, so I wrapped the call for it with #ifdef WORLD_EDITOR [...] #endif in MapOutdoorLoad.cpp. - Added Extensions folder to the Mega drive what contains: 4 Inventory tutorial, 6th skill tutorial and a Firewall script to use. Those are optional.
About the object_proto: Previously I used Shogun's version what had all reg_1-4 values -10 and 10. With that you could place objects in your guild land very close to each other but the game's sectree manager does not liked that values so it had syserrs. With the original reg_1-4 values it is a pain to place objects, like if you place a guild house, you can't place anything near to it, but the syserr is empty. So I divided the original values by 2 and it looks like that's ok for the sectree manager and placing objects are not as a pain as with original values. I left an object_proto_original table with the original reg_1-4 values in case you need that.
About the Extension folder: Since I did not want to include 4 inventory and 6th skills for warrior and assassin but lots of people wanted it, I made a tutorial for them. I didn't just took a random tutorial and saying here they are and solve yourself but I made them dedicated to this release, so you'll not encounter an error at installing, everything prepared and checked. Currently the Extension folder have:
- 4 Inventory tutorial
- 6th skill tutorial
- An ipfw script prepared to use
I Included all 15 languages for the 4Inventory and 6th skills, even for the skillbooks. While I tested the tutorial I am grateful for any feedback.
SpoilerPs: if you didn't read but just checking this img, 4 inventory and 6th skills are just extensions, not pre-installed!
-
9
-
2 minutes ago, backtop said:
You lost your range somewhere
110000~99 Roher Drachendiamant 110000~99 ĂÖÇĎ±Ţ ŔĎąÝ ąé·ćĽ® ITEM_DS DS_SLOT1 1 ANTI_SELL | ANTI_SAFEBOX NONE NONE 0 0 0 0 0 TIMER_BASED_ON_WEAR 86400 LIMIT_NONE 0 APPLY_CON 1 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
110000~99 --> 110000~110099
You probably used the reverse/ProtoReaderNew.exe because that do this, however you are not supposed to use it, it is for a situations where you lost your txt protos.
If you want to edit the clientside proto, download protos from the serverside and dump it with the dump_proto.exeI'll probably remove the reverse/ProtoReaderNew.exe since that is not needed for this release and just confuses people what it is.
-
1
-
2
-
-
1 minute ago, backtop said:
I just added some costumes to the proto... I try to revert and dumped again but the problem is still there
Upload your protos and your dump_proto too if you edited it.
I'll check it because i'm free now, but this probably an unique error.
-
4 minutes ago, backtop said:
Id is 110000
I'm not sure because it's working fine for me. I swtiched to DE language and /i 110000.
Did you edit the protos? Try to revert and redump with dump_proto for a test.
Or give me more info to track this problem down. -
2 minutes ago, backtop said:
Do someone know a fix for Dragonsoul?
See Screenshot here
https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif
Can you tell me the id of that ds item?
[40250] Reference Serverfile + Client + Src [15 Available Languages]
in Binaries
Posted · Edited by TMP4
New Update:
This is the hidden content, please
-
Sign In
- or
-
Sign Up
2021.11.22: - Project migrated to FreeBSD13.0. CryptoPP (8.4.0) included in the /usr/metin2/src/etc folder, and placed all non-main project folders to that 'etc' folder like libmysql, libdevil, teen etc. Here is a patch file if you need: https://pastebin.com/ZtnmEuvP - Hackshield commented out from the source, it's lib was not compatible and it was unused anyway. - Googletest code commented out, it was totally unnecessary and mostly unused. (main.cpp) - Changed a return null to return false in bool DSManager::ExtractDragonHeart. (DragonSoul.cpp) - ClientVS19.zip removed, please use ClientVS22.zip and update your Visual Studio to 2022. - Fixed EterLib/NetStream.cpp, if you enable _PACKETDUMP it will work now. - 71051 & 71052 clientside description was swapped, fixed it in itemdesc.txt.
The game & db compiled in FreeBSD13 may not run in FreeBSD12.
If you don't want to update your VPS to FreeBSD13, I suggest you to compile the source in FreeBSD12.2 x32.
If you install these packages via pkg the source should compile without an issue in FreeBSD12.2 x32 too:
-mysql55-server -mysql55-client -python27 -devil (1.7.8) -boost-all (1.72.0) -llvm-devel -cmake -gmake -makedepend -gdb
Please report bugs, it was a big milestone for the project so bugs can happen.