Jump to content

Macromango

Inactive Member
  • Posts

    20
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Macromango

  1. At this point I'm afraid to ask, but here I go.

    PLAYER_INDEX DATABASE

    ID stands for the id of the account and this is clear to me
    EMPIRE stands for the kingdom of the account clearly with shinsoo = 1, jinno = 3 etc

    What about those pids?

    They are almost probably associated to each player character per account, but still I don't really get what the values refer to, all information I looked for seemed confusing and non exaustive;
    If someone could point me to something I'll be glad to get deeper into the undestanding of this


    Keep up the good work, cheers

    Macro 🌞
     

  2. Hello fellow devs;

    I was implementing the Bonus Board on my client and despite it looked quite simple, it is actually giving me this confusing error.
    I've tried to rollback the changes and to implement it again, for a second time, with enhanced attention; but despite this the error prompts again.

    SYSERR CLIENT

    Spoiler
    
    0605 15:57:26449 :: Traceback (most recent call last):
    
    0605 15:57:26449 ::   File "ui.py", line 1049, in CallEvent
    
    0605 15:57:26449 ::   File "ui.py", line 88, in __call__
    
    0605 15:57:26449 ::   File "ui.py", line 70, in __call__
    
    0605 15:57:26449 ::   File "uiCharacter.py", line 308, in __ClickExpandButton
    
    0605 15:57:26449 ::   File "uiCharacterDetails.py", line 14, in __init__
    
    0605 15:57:26449 ::   File "uiCharacterDetails.py", line 61, in __LoadScript
    
    0605 15:57:26450 ::   File "uiCharacterDetails.py", line 66, in __Initialize
    
    0605 15:57:26450 :: AttributeError
    0605 15:57:26450 :: : 
    0605 15:57:26450 :: 'module' object has no attribute 'GetApplyPoint'
    0605 15:57:26450 :: 

     

     



    This confuses me a lot.
    Thanks in advance for your time and help;

    Cheers
     

    • Metin2 Dev 1
    • Love 1
  3. On 5/28/2021 at 10:11 PM, WeedHex said:

    You have only 2 cores in the channel?

    What files are you using?

    Do you use any multilang system?

    Thanks again for your interest, @WeedHex;

    Current setup is 2 Channels with 2 Cores per channel;
    The service is rolling on Martysama's 4.9.89 and I'm not using any multilanguage system.

    All processes running good:

    Spoiler

    spacer.png



    Only syserr is:

    load: ANI directory = (null) 


    At the start of every Core at every Channel;
    That's something I've been investigating without any significant progress

     

     

    On 5/29/2021 at 8:33 AM, r00t said:

    About Ch1 Core2 that doesn't start, maybe problem can be in your start script or miss hardlink to gamecore.

    Why do you setup IP in this way? 

    Thank you for joining the post.

    Actually CH1 - Core 2 starts ,and keeps running without any syserrs: that's the strange thing that makes me go mad!
    I've already tried to change the starting script provived with the files, but nothing changed.

    I actually don't use hardlinks, but I do have the actual compiled sources in " game/main/srv1/share/bin "; could be this messing up with something?

    I've actually tried some time before to replace the mentioned files with some valid hardlinks, but the problem persisted.

  4. On 5/25/2021 at 4:31 PM, WeedHex said:

    game.core?

    Hard to help you without seeing the whole FTP struct of server files.

    Thanks for your interest;

    Actually there's no crash of the process, so I'm not getting any game.core file; but here's the ftp struct:
     

    Spoiler

    spacer.png



    The main problem is that it's impossible to use the private chat between players on different cores,
    Also the shouting chat doesn't work as intended, since it's isolated for every core.

    Looks like the cores can't communicate each others in some circumstances.

    I thought about a networking problem and so I double checked my NAT hairpinning, but it was actually fine.
    Important to mention that I've manually set my WAN IP in the "src/game/desc_client.cpp" file and frankly I'm not 100% sure about the implications of this on the cores communication, since there's no trace left to start debugging; f*ck me!!

    This issue is stressing me out from months, I'm not sleeping well because of it.

  5. I'm experiencing the same issue and despite I've managed to add the fix provided in this topic by @SCOOB , nothing has changed.

    I'll keep working on it in these days!

     

    EDIT:

    root/ui.py@class ListBoxExNew

    Spoiler
    
    if app.ENABLE_SEND_TARGET_INFO:
    	class ListBoxExNew(Window):
    		class Item(Window):
    			def __init__(self):
    				Window.__init__(self)
    
    				self.realWidth = 0
    				self.realHeight = 0
    
    				self.removeTop = 0
    				self.removeBottom = 0
    
    				self.SetWindowName("NONAME_ListBoxExNew_Item")
    
    			def __del__(self):
    				Window.__del__(self)
    
    			def SetParent(self, parent):
    				Window.SetParent(self, parent)
    				self.parent=proxy(parent)
    
    			def SetSize(self, width, height):
    				self.realWidth = width
    				self.realHeight = height
    				Window.SetSize(self, width, height)
    
    			def SetRemoveTop(self, height):
    				self.removeTop = height
    				self.RefreshHeight()
    
    			def SetRemoveBottom(self, height):
    				self.removeBottom = height
    				self.RefreshHeight()
    
    			def SetCurrentHeight(self, height):
    				Window.SetSize(self, self.GetWidth(), height)
    
    			def GetCurrentHeight(self):
    				return Window.GetHeight(self)
    
    			def ResetCurrentHeight(self):
    				self.removeTop = 0
    				self.removeBottom = 0
    				self.RefreshHeight()
    
    			def RefreshHeight(self):
    				self.SetCurrentHeight(self.GetHeight() - self.removeTop - self.removeBottom)
    
    			def GetHeight(self):
    				return self.realHeight
    
    		def __init__(self, stepSize, viewSteps):
    			Window.__init__(self)
    
    			self.viewItemCount=10
    			self.basePos=0
    			self.baseIndex=0
    			self.maxSteps=0
    			self.viewSteps = viewSteps
    			self.stepSize = stepSize
    			self.itemList=[]
    
    			self.scrollBar=None
    
    			self.SetWindowName("NONAME_ListBoxEx")
    
    		def __del__(self):
    			Window.__del__(self)
    
    		def IsEmpty(self):
    			if len(self.itemList)==0:
    				return 1
    			return 0
    
    		def __CheckBasePos(self, pos):
    			self.viewItemCount = 0
    
    			start_pos = pos
    
    			height = 0
    			while height < self.GetHeight():
    				if pos >= len(self.itemList):
    					return start_pos == 0
    				height += self.itemList[pos].GetHeight()
    				pos += 1
    				self.viewItemCount += 1
    			return height == self.GetHeight()
    
    		def SetBasePos(self, basePos, forceRefresh = TRUE):
    			if forceRefresh == FALSE and self.basePos == basePos:
    				return
    
    			for oldItem in self.itemList[self.baseIndex:self.baseIndex+self.viewItemCount]:
    				oldItem.ResetCurrentHeight()
    				oldItem.Hide()
    
    			self.basePos=basePos
    
    			baseIndex = 0
    			while basePos > 0:
    				basePos -= self.itemList[baseIndex].GetHeight() / self.stepSize
    				if basePos < 0:
    					self.itemList[baseIndex].SetRemoveTop(self.stepSize * abs(basePos))
    					break
    				baseIndex += 1
    			self.baseIndex = baseIndex
    
    			stepCount = 0
    			self.viewItemCount = 0
    			while baseIndex < len(self.itemList):
    				stepCount += self.itemList[baseIndex].GetCurrentHeight() / self.stepSize
    				self.viewItemCount += 1
    				if stepCount > self.viewSteps:
    					self.itemList[baseIndex].SetRemoveBottom(self.stepSize * (stepCount - self.viewSteps))
    					break
    				elif stepCount == self.viewSteps:
    					break
    				baseIndex += 1
    
    			y = 0
    			for newItem in self.itemList[self.baseIndex:self.baseIndex+self.viewItemCount]:
    				newItem.SetPosition(0, y)
    				newItem.Show()
    				y += newItem.GetCurrentHeight()
    
    		def GetItemIndex(self, argItem):
    			return self.itemList.index(argItem)
    
    		def GetSelectedItem(self):
    			return self.selItem
    
    		def GetSelectedItemIndex(self):
    			return self.selItemIdx
    
    		def RemoveAllItems(self):
    			self.itemList=[]
    			self.maxSteps=0
    
    			if self.scrollBar:
    				self.scrollBar.SetPos(0)
    
    		def RemoveItem(self, delItem):
    			self.maxSteps -= delItem.GetHeight() / self.stepSize
    			self.itemList.remove(delItem)
    
    		def AppendItem(self, newItem):
    			if newItem.GetHeight() % self.stepSize != 0:
    				import dbg
    				dbg.TraceError("Invalid AppendItem height %d stepSize %d" % (newItem.GetHeight(), self.stepSize))
    				return
    
    			self.maxSteps += newItem.GetHeight() / self.stepSize
    			newItem.SetParent(self)
    			self.itemList.append(newItem)
    
    		def SetScrollBar(self, scrollBar):
    			scrollBar.SetScrollEvent(__mem_func__(self.__OnScroll))
    			self.scrollBar=scrollBar
    
    		def __OnScroll(self):
    			self.SetBasePos(int(self.scrollBar.GetPos()*self.__GetScrollLen()), FALSE)
    
    		def __GetScrollLen(self):
    			scrollLen=self.maxSteps-self.viewSteps
    			if scrollLen<0:
    				return 0
    
    			return scrollLen
    
    		def __GetViewItemCount(self):
    			return self.viewItemCount
    
    		def __GetItemCount(self):
    			return len(self.itemList)
    
    		def GetViewItemCount(self):
    			return self.viewItemCount
    
    		def GetItemCount(self):
    			return len(self.itemList)

     

     

  6. I'm in the club too, facing the same issue.

    I managed to resolve the issue by editing the file "locale/skilldesc.txt" in the row referring to the skill number 109 (healing), replacing "STANDING_SKILL" with "STANDING_SKILL|CAN_USE_FOR_ME|NEED_TARGET|ONLY_FOR_ALLIANCE".


    Then, in the database, I emptied the "setFlag" field referring to that 109 skill in "player/skill_proto".

    EDIT: As @Syreldar mentioned above, make sure that in "player/skill_proto" the "setFlag"  field referring to that 109 skill is populated with the "REMOVE_BAD_AFFECT" flag.
    (Thanks to Syreldar for clarifying that: grazie.)

    With this little fix, the Healing skill works just like a regular buff.

     

    Cheers!

     

    • Love 1
  7. Hello fellow devs;

    It's been a while since I'm facing this problem and I've been struggling with it recently so I surrended and now I am seeking for help lol

    My CHANNEL 1 only works on "core1";
    Because whenever the player teleports to a "core2" configured map, he get disconnected with syserr (DESC::~DESC).

    Despite this; my CHANNEL 2 works on 2 cores perfectly.
    Ports are correctly configured through the firewall.


    I tried do put only one single map in CH1 core2 and teleport there but it didn't worked: same logout;
    Process "srv1-ch1-core2" is up and running without any syserrs.


    The "CONFIG" of the two cores on CH1:


    CORE1

    Spoiler
    
    VIEW_RANGE: 10000
    PASSES_PER_SEC: 25
    SAVE_EVENT_SECOND_CYCLE: 180
    PING_EVENT_SECOND_CYCLE: 180
    DB_ADDR: 127.0.0.1
    COMMON_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD common CORRECTPORT
    LOG_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD log CORRECTPORT
    ADMINPAGE_IP1: 18.8.8.8
    ADMINPAGE_PASSWORD: 5894HAHUGAY3H4G8H
    MAX_LEVEL: 120
    CHANGE_ATTR_TIME_LIMIT: 0
    EMOTION_MASK_REQUIRE: 0
    PRISM_ITEM_REQUIRE: 0
    SHOP_PRICE_3X_TAX: 0
    GLOBAL_SHOUT: 1
    ITEM_COUNT_LIMIT: 250
    STATUS_POINT_GET_LEVEL_LIMIT: 120
    STATUS_POINT_SET_MAX_VALUE: 90
    SHOUT_LIMIT_LEVEL: 15
    DB_LOG_LEVEL: 1
    EMPIRE_LANGUAGE_CHECK: 0
    PLAYER_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD player CORRECTPORT
    HOSTNAME: srv1-ch1-core1
    CHANNEL: 1
    MAP_ALLOW: 1 21 41 3 23 43 61 62 63 64 107 217 301 302 303 304
    PORT: 30003
    P2P_PORT: 30004
    DB_PORT: 30000

     

     

     

    CORE2

    Spoiler
    
    VIEW_RANGE: 10000
    PASSES_PER_SEC: 25
    SAVE_EVENT_SECOND_CYCLE: 180
    PING_EVENT_SECOND_CYCLE: 180
    DB_ADDR: 127.0.0.1
    COMMON_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD common CORRECTPORT
    LOG_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD log CORRECTPORT
    ADMINPAGE_IP1: 18.8.8.8
    ADMINPAGE_PASSWORD: 58948HAHUGAY8H84G
    MAX_LEVEL: 120
    CHANGE_ATTR_TIME_LIMIT: 0
    EMOTION_MASK_REQUIRE: 0
    PRISM_ITEM_REQUIRE: 0
    SHOP_PRICE_3X_TAX: 0
    GLOBAL_SHOUT: 1
    ITEM_COUNT_LIMIT: 250
    STATUS_POINT_GET_LEVEL_LIMIT: 120
    STATUS_POINT_SET_MAX_VALUE: 90
    SHOUT_LIMIT_LEVEL: 15
    DB_LOG_LEVEL: 1
    EMPIRE_LANGUAGE_CHECK: 0
    PLAYER_SQL: 127.0.0.1 CORRECTUSERNAME CORRECTPASSWORD player CORRECTPORT
    HOSTNAME: srv1-ch1-core2
    CHANNEL: 1
    MAP_ALLOW: 65 66 67 68 69 70 71 72 73 206 104 193 207 208 216
    PORT: 30005
    P2P_PORT: 30006
    DB_PORT: 30000

     



    Thank to all of you for your precious time and help!

    MACRO

  8. 23 hours ago, Braxy said:


    Hi, i just want to give you a tip for a better usage of the states. You can use the "enter" event for handlings such as initializing missions or sending letters, that way it won't require relog for players in order to receive their letters or to continue the missions.


    Thanks for such a wonderful tip, @Braxy!

    Since I've never programmed in "Lua" language, I'm basically learning it from checking the original Metin2 quest files and making my own scripts for testing the various mechanisms.

    It's actually intuitive if you have some general programming knowledge, but tips like the one you've pointed me to, are a plus!

    Thanks again!

  9. On 1/4/2021 at 11:22 PM, mast210 said:

    Make sure they have different names of top of the quest file:

     

    
    
    quest collect_quest_lv30  begin
    
    
    quest collect_quest_lv40  begin

     

    Make new character to test if it works fine of shutdown ur server and check in database player->table quest if you dont have set __status for your character in those quests.

    Thanks for your prompt reply @mast210!

    After a good night of sleep I managed to undestand what was the issue: as I said, it was something stupid!

    I've completely forgot the fact that I've tested the quests one by one when I did acquired it, some weeks ago.
    So the quest flags were still active on my testing character and when I did upload all the package, obviously, this triggered all those unfinished quests.

    Checking on the DB under the table "quest" allowed me to delete all those flags and after resetting the service, everything worked like a charm!


    Thank you very mutch for your support!

    This issue is happily #SOLVED : kindly requesting to close it

  10. Hello to everyone!

    First of all: thanks for your time and support, this forum is such a massive useful resource!
    I'm writing this post because I could not find anything regarding my problem; it's been some days since I'm having to deal with it.

    The problem occurs when I'm tryng to import and compile the originals "collect_quest_lv**": the ones from the biologist.


    I started with uploading "collect_quest_lv30", compiled it; everything works fine, the quest gets working.
    Then I've uploaded "collect_quest_lv40" and I've compiled it: this get activated even if I didn't finish the first one!

    I started to check the quests and they seem good to me:

    This is collect_quest_lv30 at its end

    		when ***  begin
    			
    			**
    			**
    			**
    
    			clear_letter()
    			set_quest_state("collect_quest_lv40", "run") --**THIS SHOULD ACTIVATE THE NEW QUEST @ "RUN" STATE
    			set_state(__complete)
    		end



    This is collect_quest_lv40 at its beginning

    	state start begin
    	end --** START STATE CORRECTLY EMPTY 
    	state run begin --** RUN STATE MUST BE THE POINT WHERE IT GETS ACTIVATED BY THE LAST QUEST
    		when login or levelup with pc.level >= 40 begin
    			set_state(information)
    		end
    	end




    There must be something stupid I'm missing.
    I'll be glad if someone could address me to the undestanding of the issue!

    Cheers!


     

  11. 1 hour ago, regal said:

    Hello there!

    You need to put the 6th skill in special.active_skill_list in order for this to work.

    You can find it in locale/xx/quest/questlib.lua usually.

    It should be something like this:

    
    
    special.active_skill_list = {
        {
            { 1, 2, 3, 4, 5, 6},
            { 16, 17, 18, 19, 20, 21},
        },
        {
            {31, 32, 33, 34, 35, 36},
            {46, 47, 48, 49, 50, 51},
        },
        {
            {61, 62, 63, 64, 65, 66},
            {76, 77, 78, 79, 80, 81},
        },
        {
            {91, 92, 93, 94, 95, 96},
            {106, 107, 108, 109, 110, 111},
        },
    }
    

     

    Thank you my friend @regal!

    After adding the missing 6th skills vnums in the "special.active_skill_list", my quest script recognized the skills and prompted me their vnum.

    I managed to associate that orphan vnums with some translated strings:
    Looking around in locale.lua I noticed that every skill vnum is paired with a translated string found in translate.lua, so I just created new strings to match the said orphan vnums and everything worked like a charm!

    Your help was precious, thank you very mutch, mate!
    Good things to you!

     

     

    1 hour ago, Finnis said:

    I think you forgot to add the skill id in function active_skill_list from questlib.lua.

    Edit: Sorry, didn't see that someone answered already.

    No need to worry @Finnis;
    Your answer was still valuable!

    Thank you for helping and good things to you too!

    MACRO

    (This post can be closed, solution was found)

    • Love 2
  12. Hello devs;
    I searched days for solutions to this problem, but still got no luck; I'm pretty sure that I'm missing something!

    I'm trying to figure out what's happening in my lua script, that should list all skills at "M" level; in order to upgrade them.
    It works fine for every skill of every race except the 6th skill of ninja archer "Spark" and also the 6th skill of the mental warrior "Sword Orb":

    So I'm assuming this is a "6th skill problem".

    I have those 6th skills set in my db, they upgrade successfully with in game console command ("/setskillother name 51 21"), and they work perfectly in game.

    I assume there must be something that I'm missing from my function to add them in the variable "skill_list", here's the function:

     

    		function BuildMasterSkillList(job, group) -- FUNC LIST SKILLS FROM M1 TO M10
    			MASTER_SKILL_LEVEL = 20
    			GRAND_MASTER_SKILL_LEVEL = 30
    
    			local skill_list = special.active_skill_list[job+1][group]
    			local ret_vnum_list = {}
    			local ret_name_list = {}
    
    			table.foreach(skill_list, 
    			function(i, skill_vnum) 
    			local skill_level = pc.get_skill_level(skill_vnum)
    
    			if skill_level >= MASTER_SKILL_LEVEL and skill_level < GRAND_MASTER_SKILL_LEVEL then
    				table.insert(ret_vnum_list, skill_vnum)
    				local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
    				
    				if name == nil then name=skill_vnum end
    					table.insert(ret_name_list, name)
    				end
    			end)
    			return {ret_vnum_list, ret_name_list}
    		end -- function BuildMasterSkillList

     

     

     

     

     

    Also I'll post the "output" part of the same script, but I'm sure the problem isn't here:

     

     

    			local menu_list = {}
    			table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
    			table.insert(menu_list, gameforge.locale.cancel) 
    
    			local s=select_table(menu_list)
    			
    			if table.getn(menu_list) == s then
    				return
    			end





    Thanks for your time and your precious help;

    Greetings!

  13. 29 minutes ago, TMP4 said:

    Can you tell me if your dedicated VM have internal ip (192.168.x.x or 10.x.x.x)?

    It should not have but everything can happen.

    I'm not a BSD expert but maybe type "ifconfig" and check there the adresses.

     

    If so, try to put BIND_IP: 1.2.3.4 (your vps PUBLIC IP) to your channel's cores, and auth CONFIG file.

     

    BTW if your vps have internal ip then it's not really a vps, bad hosting :D

    Thanks again for supporting, mate!

    Actually this VM is for testing purposes, it runs on a server of mine (in my attic) that is virtualizing it with ESXI, so actually yes, since I fully manage this network I can tell you with accuracy that the internal IP of that machine is 192.168.1.xxx.

    I tried to add "BIND_IP: WAN_IP" in all the CONFIG files in the various cores, but when starting the service i get prompted this:

    SYSERR: Apr 26 16:53:48 :: socket_bind: bind: Can't assign requested address


    This make me think that maybe must be another place where i have to configure the WAN IP (?).

  14. 6 hours ago, TMP4 said:

    There were some sh*tty "Public IP Fix" releases what made home-root server works without the "MC Starter" but ruined it in a normal environment (=vps).

    Just as you wrote.

     

    Maybe that's the case? Did you get a changelog with your source to check?

     

    Are you able to try your server in home-root (virtualbox) to check if it's works there? if it's works there, that's the case.

    Thank you very mutch for your relpy!

    As suggested, I tryed to log in the game from the LAN where the server is running.
    Actually it was successful and the player was correctly spawned inside the map!

    This leads the research of the solution totally to another direction.
    Perhaps I should edit something in the source that manages the external connections?

    Greetings

  15. Buonasera everyone!

    As always, after posting this question I've smashed the search button and i rolled painfully trough the third Google search page; if I'm forced to write this is because that research I made didn't produce satisfyng results and let me stuck in my condition (it just made me laugh by reading some bullshit like: "delete the map folder and replace it with another to see if something changes").

    Here's the thing:
    The scenario it's a dedicated VM rolling on FreeBSD 12.2 x32 and MySQL 5.6; on this VM it was compiled from source (and fully integrated) the revision 41023 of the gamefiles, along with the proper generation of its database.
    Everything worked like a charm, the syserr log files were empty afer several reboots of both the machine and the game service.
    I've manually created thorugh Navicat my account for the application, without any player character. just an empty account.

    Time was for me to switch on the client side: together with the files I was provided with a compatible client (wich I like due to the fact that it's without any mods) so after configuring it for a proper access, I ran it and I was able to successfully perform the login, finding me at the character creation screen.
    I entered the nickname of the character wich was successfully generated, then I proceeded to uncork the champagne and finally started the game while sipping my glass.

    The result was actually embarrassing: in fact, once the player was selected, after the animation; I was sent back to the login screen.

    I put the sparkling wine straight back in the refrigerator and started digging in the log files, which I attach here:

     

    SYSERR: Apr 25 13:19:28 :: PlayerCreateSuccess: InputDB::PlayerCreateSuccess: cannot find server for mapindex 0 51830 x 166571 (name NAME)

    I therefore thought it was some problem related to the loading of the map and the consequent spawn position, crealy invalid: "mapindex=0" immediatly sounded like bullshit to me.
    Therefore I chose to try to set the player position by manually editing the "player" database in the "player" table in a position like: "somewhere in the happy village of Shinsoo":
    x=640 | y =540 | map_index = 3

    At this point I tried to restart all the thing and I felt confident in my login: the result was the same logout that produced the following logs:

    SYSERR: Apr 25 14:01:37 :: GetServerLocation: location error name NAME mapindex 0 640 x 540 empire 1
    SYSERR: Apr 25 14:01:37 :: GetServerLocation: cannot find server for mapindex 0 469300 x 964200 (name NAME)

    The next attempt I made was to create another account, with another player, in a different kingdom than Shinsoo; but the result was the same logout after the selection, and the same logs with invalid mapindex.
    On the several hours that followed I searched the meanderings of various forums out there in search for some key concepts that could make me understand what I was dealing with, but in the end I find myself here writing this post.
     

    I noticed precisely that the variable "mapindex" continued to be  equal to zero, although I had manually set it to three; I can imagine that there is some inconsistency in the management of the maps.

    I also attach the CONFIG file of core1 in ch1:

     

    Spoiler
    
    VIEW_RANGE: 10000
    PASSES_PER_SEC: 25
    SAVE_EVENT_SECOND_CYCLE: 180
    PING_EVENT_SECOND_CYCLE: 180
    DB_ADDR: 127.0.0.1
    COMMON_SQL: 127.0.0.1 user password common 3306
    LOG_SQL: 127.0.0.1 user password log 3306
    ADMINPAGE_IP1: 192.168.1.10x
    ADMINPAGE_PASSWORD: 58948HG83H4G8H84x
    MAX_LEVEL: 120
    CHANGE_ATTR_TIME_LIMIT: 0
    EMOTION_MASK_REQUIRE: 0
    PRISM_ITEM_REQUIRE: 0
    SHOP_PRICE_3X_TAX: 0
    GLOBAL_SHOUT: 1
    ITEM_COUNT_LIMIT: 250
    STATUS_POINT_GET_LEVEL_LIMIT: 120
    STATUS_POINT_SET_MAX_VALUE: 90
    SHOUT_LIMIT_LEVEL: 15
    DB_LOG_LEVEL: 1
    EMPIRE_LANGUAGE_CHECK: 0
    PLAYER_SQL: 127.0.0.1 user password player 3306
    HOSTNAME: srv1-ch1-core1
    CHANNEL: 1
    MAP_ALLOW: 1 21 41 3 23 43 4 24 44 5 25 45 108 109 112
    PORT: 30003
    P2P_PORT: 30004
    DB_PORT: 30000

     


    And also  the "index" file in the "map" folder of the local, which obviously does not show any "0" value.
     

    Spoiler
    
    1 metin2_map_a1
    3 metin2_map_a3
    4 metin2_map_guild_01
    5 metin2_map_monkey_dungeon_11
    6 metin2_guild_village_01
    21 metin2_map_b1
    23 metin2_map_b3
    24 metin2_map_guild_02
    25 metin2_map_monkey_dungeon_12
    26 metin2_guild_village_02
    41 metin2_map_c1
    43 metin2_map_c3
    44 metin2_map_guild_03
    45 metin2_map_monkey_dungeon_13
    46 metin2_guild_village_03
    61 map_n_snowm_01
    62 metin2_map_n_flame_01
    63 metin2_map_n_desert_01
    64 map_n_threeway
    65 metin2_map_milgyo
    66 metin2_map_deviltower1
    67 metin2_map_trent
    68 metin2_map_trent02
    69 metin2_map_WL_01
    70 metin2_map_nusluck01
    71 metin2_map_spiderdungeon_02
    72 metin2_map_skipia_dungeon_01
    73 metin2_map_skipia_dungeon_02
    81 metin2_map_wedding_01
    100 metin2_map_fielddungeon
    101 metin2_map_resources_zon
    103 metin2_map_t1
    104 metin2_map_spiderdungeon
    105 metin2_map_t2
    107 metin2_map_monkey_dungeon
    108 metin2_map_monkey_dungeon2
    109 metin2_map_monkey_dungeon3
    110 metin2_map_t3
    111 metin2_map_t4
    112 metin2_map_duel
    113 metin2_map_oxevent
    114 metin2_map_sungzi
    118 metin2_map_sungzi_flame_hill_01
    119 metin2_map_sungzi_flame_hill_02
    120 metin2_map_sungzi_flame_hill_03
    121 metin2_map_sungzi_snow
    122 metin2_map_sungzi_snow_pass01
    123 metin2_map_sungzi_snow_pass02
    124 metin2_map_sungzi_snow_pass03
    125 metin2_map_sungzi_desert_01
    126 metin2_map_sungzi_desert_hill_01
    127 metin2_map_sungzi_desert_hill_02
    128 metin2_map_sungzi_desert_hill_03
    181 metin2_map_empirewar01
    182 metin2_map_empirewar02
    183 metin2_map_empirewar03
    200 gm_guild_build
    208 metin2_map_skipia_dungeon_boss
    216 metin2_map_devilcatacomb
    217 metin2_map_spiderdungeon_03
    301 Metin2_map_CapeDragonHead
    302 metin2_map_dawnmistwood
    303 metin2_map_BayBlackSand
    304 metin2_map_Mt_Thunder
    351 metin2_map_n_flame_dungeon_01
    130 natural_map
    131 deep_underwater_cave
    132 plechito_owl_map

     

     

     

    #UPDATE#
    By logging in the game from the local network where the server runs, the login proceeds smoothly and the character is correctly loaded into the map.

    This should move the search for the solution in a completely different direction.

    I performed a further test, opening all the incoming and outgoing ports to the server both on the router and on the firewall, then tryed to log in from the external network, but the result was always negative.

     

    I realize that I am in the domain of competence of the game itself, my competence here is equal only to what I can understand as a programmer, so before I start moving by breaking everything, I think it is better to appeal to those who have more experience than me and probably can direct me to what I have to do to solve this technical issue and finally be able to sip my fucking champagne in front of the village of Shinsoo.

    As always, I thank you in advance and remind you to wash your hands!.

    Love

    - MACROMANGO

  16. Greetings from pizzaland, my dudes! ??

    I'm "internationally known and locally respected" with the alias of MACRO;
    I'm a huge IT fan, I started as a young weirdo stealing old hardware from rubbish dumps at night, then testing the components and assembling the good ones, making "frankenstein-looking-like" home servers to keep my files safe on RAID and do my weirdo stuff (lots of testing and lots of blowing up), closed in my attic at night.
    I also offered IT support to my school friends for a little money, using those "reconditioned" components to fix their terminals, that made me save the amount of money I needed to buy me latest generation hardware for my pc as well as a used DELL PowerEdge server (I have a thing for DELL), that made me deeply enthusiast on real server managing stuff, I was fascinated about the virtualization and spent a lot of time playing around with VmWare in order to become familiar with all its potentialities: that made me go "MAMMA MIA!"

    I enjoyed Metin2 on my teens, it was a lovely back in time since there wasn't all that "bullshit" that we have today and people was kinda nicer; it was more about chilling around.
    I always was a full buff shaman because I'm a comfy one and my role is definetely the supporter.
    I remember starting one lame pserver on a "frankenstein-looking-like" machine (closed, just for me and a friend of mine) back in the days, with a .vdi image of the 2011 server files: the "franzi" ones; we played on it for like a year straight every night feeling like two gods in a desert planet: modding items, exploring the maps, duelling, spawning A TON of mobs just to make the thing crash and mainly chatting and enjoying our shiny modded characters: the comfy way you kno!

    I'm back as an adult now, I'm a 22yrs old financially stable weirdo living in it's own house; and I'm here because I truly would like to master my knowledge about the managing of both the server side and client side of Metin2 pserver because I'll like to pull out one of my never fulfilled desires: open my own pserver to the public, running on machines I have physical contact with.
    My vision about this is a fully clean experience with no bullshit.

    I'm not, as we say in Italy: "One that likes the baby food ready"; meaning that I'm not a person who avoids the fatigue and wants all the stuff "ready to eat", like a baby.
    If the effort is related to a personal archievement I'm in first line doing wathever I have to do with a big ass smile on my face!

    My knowledge in IT is completely self-taught, and it's propelled by pure passion, so there is literally nothing that doesn't amuse me when it comes to "make the thing work".

    For this reason I'm in no hurry with my project, as I said my schedule is to first master my knowledge, messing things up with some tests and deeply understand how this systems work.

    Again, as we say in Italy: "Those who do it themselves, do it like three people" (If you want something done, do it by yourself); nothing more true than this, especially when you are a meticulous autistic like me!

    This place is a well of knowledge and I'm glad to have the chance to dive into it!




    Many pizza-flavored greetings from Italy!
    See you around! (Wash you hands!)

    MACRO

    • Love 6
×
×
  • 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.