Jump to content

How/Where do I learn the basics?


Recommended Posts

I decided that I want to open my own Metin2 server because all the servers I played are repetitve/boring/identical to other and I think I have some good ideas.

I followed a tutorial for opening a server, but the problem is I don't understand what I'm doing exactly, and there are way too many unclear things(like people talking about where they can find a good serverfile, but I can't seem to find anyone telling me what a serverfile precisely is, what it does, what is the difference between 2 serverfiles) and I don't know where to start. So I'd appreciate if someone could answer my ( tons of ) questions or tell me where to look for answers/learn the basics.

My questions are related to what the client is, what does it do, how is it different compared with the serverfiles, is there any downside(like security) in using public serverfiles, why people use FreeBSD for servers, what are the basic commands to it, how to  modify data in the database ( I tried changing the lvl, name etc of the lvl1 dog inside the database, nothing changed ingame, what is wrong with my approach?) , what programming languages should I focus on( I know a little C++ and even less Python),  how do you figure which files to modify if you want to implement a new system ( for example, I saw a tutorial for doubling the size of shop space, and the guy said you have to add/change code in a few different files , how did he exactly know which files to modify? ), and finally do you actually need to have a full understanding of how the game was created and how every single file/line of code works if you want to change it, or you can do fine without even reading it? (asking because I got lost in the tons of functions I didn't understand, making probably easy code unintelligible to me)

Link to comment
Share on other sites

  • Premium

Serverfiles are a all the same, bunch on quests, maps and mobs.

You dont download and use serverfiles, thats what newbies are recommending to you still.

 

First step is to make your own serverfiles structure, clean of all quests, drops, etc. So that you have a good working ground.

With that you also should use a client as untouched as possible.

 

In topic:

Difference between serverfiles is their game / db binaries and their share folder.

Game / db binaries may contain different or modified systems from serverfile to serverfile.  This you solve by compiling and doing your own set of game / db.

Share folder contains the mob drops, quests, maps. Here you should start from 0 quests and add them as needed, so you really know whats there.

It can really be insecure to use serverfiles from people, as most wannabes will add malware to it. This happens because almost everyone will tell you to extract "tar.gz" in hardcoded folders, instead of teaching you how to make it from scratch.

A note: When someones tell you to install mysql by extracted its mysql folder into /var/db/mysql, you know that person is an absolute 0 and most likely just a tutorial follower.

 

People use freebsd because metin2 game / db was built in it. You can adapt it to for example ubuntu, now you will find freebsd to be a real mature and overall good OS.

 

For database edits, you can use Navicat or Mysql Workbench, those are the most used for easy visual databse editing. Regarding your specific edit, most probably your serverfiles were using the mob_proto from .txt files and replicating it to the databse, in that case all changes made on database are ignored and replaced by .txt ones. So you need to edit the .txt file instead (select all, paste into empty excell document is the easiest as it will auto adapt all columns) OR make your server read information from database.

 

Python is for the client, as you are starting you dont need such a big knowledge of it as there are well structured tutorials for it. Its more a common understanding of programming, with time you will see what does what.

C++ is needed for the server and client sources, but again like python, learn programming. If you know how to program, you can code in any language, its just a matter of learning that language specific syntax (thats what documentation exists for).

 

Regarding doubling the space of shop, lets pretend i have no clue where it is:

1 - I will try to find identify the function / functions that open shop for example

2 - I will trace the variables it uses

3 - I will check the variable types in this case, as different variable types can have different maximum / minimum sizes.

For finding and following things, visual studio and its search + intellisense its a wonder

 

Complete full understanding of the game, you will not have now.

With time and practice you will memorize what comes from, its normal in every project

 

 

  • Love 7
Link to comment
Share on other sites

  • 2 years later...
  • Premium
On 12/28/2019 at 6:04 PM, tierrilopes said:

Serverfiles are a all the same, bunch on quests, maps and mobs.

You dont download and use serverfiles, thats what newbies are recommending to you still.

 

First step is to make your own serverfiles structure, clean of all quests, drops, etc. So that you have a good working ground.

With that you also should use a client as untouched as possible.

 

In topic:

Difference between serverfiles is their game / db binaries and their share folder.

Game / db binaries may contain different or modified systems from serverfile to serverfile.  This you solve by compiling and doing your own set of game / db.

Share folder contains the mob drops, quests, maps. Here you should start from 0 quests and add them as needed, so you really know whats there.

It can really be insecure to use serverfiles from people, as most wannabes will add malware to it. This happens because almost everyone will tell you to extract "tar.gz" in hardcoded folders, instead of teaching you how to make it from scratch.

A note: When someones tell you to install mysql by extracted its mysql folder into /var/db/mysql, you know that person is an absolute 0 and most likely just a tutorial follower.

 

People use freebsd because metin2 game / db was built in it. You can adapt it to for example ubuntu, now you will find freebsd to be a real mature and overall good OS.

 

For database edits, you can use Navicat or Mysql Workbench, those are the most used for easy visual databse editing. Regarding your specific edit, most probably your serverfiles were using the mob_proto from .txt files and replicating it to the databse, in that case all changes made on database are ignored and replaced by .txt ones. So you need to edit the .txt file instead (select all, paste into empty excell document is the easiest as it will auto adapt all columns) OR make your server read information from database.

 

Python is for the client, as you are starting you dont need such a big knowledge of it as there are well structured tutorials for it. Its more a common understanding of programming, with time you will see what does what.

C++ is needed for the server and client sources, but again like python, learn programming. If you know how to program, you can code in any language, its just a matter of learning that language specific syntax (thats what documentation exists for).

 

Regarding doubling the space of shop, lets pretend i have no clue where it is:

1 - I will try to find identify the function / functions that open shop for example

2 - I will trace the variables it uses

3 - I will check the variable types in this case, as different variable types can have different maximum / minimum sizes.

For finding and following things, visual studio and its search + intellisense its a wonder

 

Complete full understanding of the game, you will not have now.

With time and practice you will memorize what comes from, its normal in every project

 

 

Thank you!

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Similar Content

  • Activity

    1. 8

      ZycloniusMT2 Server from Australia still around

    2. 60

      Inbuild GR2 Animation

    3. 2

      wait() function bug

    4. 0

      Remove Party Role Bonuses

    5. 1

      Fix CBar3D

    6. 2

      set_quest_state not working

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.