Page 2 of 2 FirstFirst 12
Results 16 to 28 of 28
Like Tree8Likes

Beware about KO4YOU

This is a discussion on Beware about KO4YOU within the Private Servers forums, part of the Knight Online (ko4life.com) category; Funny how you talk about yourself in 3rd person...
Page: 2


  1. #16
    Banned Senior Member
    Join Date
    Sep 2014
    Location
    PROland
    Posts
    626

    Default

    Funny how you talk about yourself in 3rd person

  2. #17
    Banned Senior Member
    Join Date
    May 2017
    Posts
    69

    Default

    Quote Originally Posted by ImmortalOne View Post
    Funny how you talk about yourself in 3rd person
    If i would be Grobar, He couldn't defend hes self and lies from osman would be accepted, since Kallop would ban already.
    Therefore i'm not Grobar, are you?


    It's prolly last year in 1299 Knight Online for Grobar. The V2 files are almost finished at 100%.

  3. #18
    Senior Member
    Join Date
    Dec 2009
    Posts
    1,805

    Default

    Quote Originally Posted by Masta View Post
    It's prolly last year in 1299 Knight Online for Grobar. The V2 files are almost finished at 100%.
    Hah. I'm suuuuuure that's the case and things don't generally just appear to work at a glance. ^^

    There's a liiiittle more to the source development than making things respond to stuff. Things actually have to do stuff, and do it well enough to not break.
    A lot of people seem to think the source base as I left it publicly was pretty much done for its version, and that's far from true. A lot of it was temp waiting to be cleaned up and implemented properly, for instance.

    Looking at the 'development' to the project since, people seem to think this is fine and working correctly and just add onto it with hackery. It's terrifying.

    There's only a few people in this community capable of pulling off any actual development, and none of them are affiliated with Grobar. So... \o/
    I'm suuuuuuuuuure they're "almost finished". If by "almost finished" you mean in "okay I can run it and people can login and start sending me all the monies", anyway. D:
    UltimatePvP likes this.

  4. #19
    Member
    Join Date
    Nov 2013
    Location
    Jupiter
    Posts
    18

    Default


  5. #20

    Join Date
    Apr 2017
    Posts
    9

    Default

    Quote Originally Posted by Masta View Post
    What Sephiroth saying is basically true.


    Osman is using base MGAME 1298 Ebenezer code without permission, additionally he started SOACS with purchased and *stolen* fixes.
    Osman stole or took the MGAME Code.. The same way as Grobar took the Soacs DLL. [But grobar paid for DLL to possess, Osman didn't pay MGAME to possess]
    Also a lot of things that are in the Soacs DLL was not made by Osmanx purerly, but he bought or took from others and compiled into the SOACS.


    I don't know why Osmanx started a war here with Grobar, but obviously he will lose on the long term since Grobar has nothing to lose with KO4YOU, or KO4LIFE at all.
    However, we can see that only valid complains about server/purchases/chargebacks goes to Osmanx and not to Grobar as he said.


    Regarding code made by others, i think Grobar is using the minimum percent of code made by others without permission, right after ApexKO, which is *taking* USKO Latest patches.


    Next time think before you wanna beef with someone that just appears weak on the forums that is in your favor.
    You seem know everything well about his works.

  6. #21
    Senior Member hellzbellz19's Avatar
    Join Date
    Aug 2008
    Location
    Canada
    Posts
    273

    Default

    I know this is out of the blue and probably not the best place to ask, but what languages do KO files use? I played this game and scrolled this sub for years without ever having any interest for its code.

    3rd year CS student in college and still haven't looked into any complicated game file yet, so I'm just super curious.

  7. #22
    Senior Member
    Join Date
    Dec 2009
    Posts
    1,805

    Default

    Quote Originally Posted by hellzbellz19 View Post
    I know this is out of the blue and probably not the best place to ask, but what languages do KO files use? I played this game and scrolled this sub for years without ever having any interest for its code.

    3rd year CS student in college and still haven't looked into any complicated game file yet, so I'm just super curious.
    C++ for the login/game server + client (although you'll probably work with the client's binaries), Microsoft SQL server for the database server.
    X86 assembly otherwise for reverse engineering official server/client.


    EVT (their own custom format) for quest scripts on older versions, Lua for newer versions (though the implementation is just them using Lua in the same fashion they had quests written in EVT, which is horrible).

  8. #23
    Senior Member hellzbellz19's Avatar
    Join Date
    Aug 2008
    Location
    Canada
    Posts
    273

    Default

    Quote Originally Posted by twostars View Post
    C++ for the login/game server + client (although you'll probably work with the client's binaries), Microsoft SQL server for the database server.
    X86 assembly otherwise for reverse engineering official server/client.
    I could have guessed that

    EVT (their own custom format) for quest scripts on older versions, Lua for newer versions (though the implementation is just them using Lua in the same fashion they had quests written in EVT, which is horrible).

    never heard of both . maybe im just not curious enough. Lua seems pretty straight forward though.
    Why would they use a different language for quest scripts? Portability purposes?

    thanks for answering man

  9. #24
    Senior Member
    Join Date
    Dec 2009
    Posts
    1,805

    Default

    Quote Originally Posted by hellzbellz19 View Post
    never heard of both . maybe im just not curious enough. Lua seems pretty straight forward though.
    Why would they use a different language for quest scripts? Portability purposes?

    thanks for answering man
    EVT was horrible; very difficult to maintain. It was probably a contributing factor, but they also reimplemented how quests in general to work in a more NPC-centric fashion (before a quest script encompassed all NPCs in the whole zone), and tried to automate a lot of the generic stuff, so with having to redo it all anyway, it makes sense to use an actual scripting language this time around.

    Having said that, it didn't stop them from implementing the scripts themselves poorly, mimicking the logic of their old EVT system. Which sucked. Horribly.

    Example of EVT:
    Code:
    EVENT 1001	;
    E RUN_EVENT 1003	; 파멸의 갑옷
    END
    
    EVENT 1003	;유저의 레벨을 체크한다.
    A CHECK_LV 35 120	;유저레벨이 35이상인 경우
    E RUN_EVENT 1005
    END
    
    EVENT 1004	;유저의 레벨을 체크한다.
    A CHECK_LV 0 34	;유저레벨이 35미만일 경우
    E SAY -1 -1 1002 -1 -1 -1 -1 -1	-1 -1 -1 -1
    E RETURN
    END
    
    EVENT 1005	;유저레벨이 35이상인 경우
    E RUN_EVENT 1006	; 이벤트 1007이 일어난 경우
    E RUN_EVENT 1007	; 이벤트 1007이 일어나지 않은 경우
    END
    
    EVENT 1006	;
    A EXIST_COM_EVENT 1007	;이벤트 1007이 일어난 경우
    E RUN_EVENT 1010;
    END
    
    EVENT 1007	;◎이벤트 1007이 일어나지 않은 경우(처음 실행시)
    A NOEXIST_COM_EVENT 1007;
    E SELECT_MSG 14301 1001	1 1008 2 1009 -1 -1 -1 -1 -1 -1	-1 -1 -1 -1 -1 -1 -1 -1	-1 -1	;들어준다/들어주지않는다
    E SAVE_COM_EVENT 1007	;이벤트 번호를 저장한다.
    END
    
    EVENT 1008	;들어준다
    E SAY 1010 1010	1003 1004 1005 1006 1007 -1 -1 -1 -1 -1	;들어준다 상위 확인
    END
    
    EVENT 1009	;들어주지 않는다
    E SAY -1 -1 1008 -1 -1 -1 -1 -1 -1 -1 -1 -1	;상위 확인
    E RETURN
    END
    
    EVENT 1010	; ◎상위, 확인시 이리로 - 메뉴박스(2번이상시)
    E SELECT_MSG 14301 1001	101 1008 102 1011 -1 -1	-1 -1 -1 -1 -1 -1 -1 -1	-1 -1 -1 -1 -1 -1	;대화/퀘스트 아이템
    END
    
    EVENT 1011	;◎퀘스트 아이템 메뉴
    E SELECT_MSG 14301 1015	201 1012 202 1025 203 1038 204 1051 205	1064 206 1077 105 1010 -1 -1 -1	-1 -1 -1 ;NPC	아이디/대사/201	투구 202 상의 203 하의 204 건틀렛 205 부츠 206 벨트 105	메뉴로
    END
    
    EVENT 1012	; ♧투구재료1016
    E SELECT_MSG 14301 1016	103 1013 104 1011 -1 -1	-1 -1 -1 -1 -1 -1 -1 -1	-1 -1 -1 -1 -1 -1 ;103 재료주기 104 아이템 메뉴로
    END
    
    EVENT 1013	;♧투구 받기전 검사
    E RUN_EVENT 1014	;이미 실행
    E RUN_EVENT 1015	;비실행 조건 만족
    E RUN_EVENT 1016	;비실행 조건 비만족
    END
    
    EVENT 1014	;이미 실행
    A EXIST_COM_EVENT 1015	;이미 아이템을 받았는지 확인
    E SAY -1 1011 1022 -1 -1 -1 -1 -1 -1 -1	-1 -1	;이미 있잖은가?!
    END
    (only a small snippet of Moradon's)

    Everything's tied to event #'s. NPCs are tied to types, and those types are tied to base event #'s, which are then called in the script.

    From there the logic flow is just a nightmare. Conditionals are handled by calling different events and checking (checks [lines prefixed with A] are always handled before executed logic [E], no matter the order they're actually specified in the script), so for something like:
    Code:
    if not hasItem(123456789) then
       say(-1, 1011, 1022, -1, ...)
       return
    end
    
    say(-1, 1011, 1023, -1, ...)
    You'd do something like:
    Code:
    EVENT 1
    E RUN_EVENT 2
    E RUN_EVENT 3
    END
    
    EVENT 2
    A CHECK_NOEXIST_ITEM 123456789 1
    E SAY -1, 1011, 1022, -1, ...
    E RETURN
    END
    
    EVENT 3
    E SAY -1, 1011, 1023, -1, ...
    END
    Or thereabouts. It was clunky as hell, especially for convoluted logic. Yuck.
    Really not that great on the eyes, either. Trying to piece together that mess with larger examples ... so much fun.

  10. #25
    Senior Member hellzbellz19's Avatar
    Join Date
    Aug 2008
    Location
    Canada
    Posts
    273

    Default

    Quote Originally Posted by twostars View Post
    EVT was horrible; very difficult to maintain. It was probably a contributing factor, but they also reimplemented how quests in general to work in a more NPC-centric fashion (before a quest script encompassed all NPCs in the whole zone), and tried to automate a lot of the generic stuff, so with having to redo it all anyway, it makes sense to use an actual scripting language this time around.

    Having said that, it didn't stop them from implementing the scripts themselves poorly, mimicking the logic of their old EVT system. Which sucked. Horribly.

    Example of EVT:
    Code:
    EVENT 1001    ;
    E RUN_EVENT 1003    ; 파멸의 갑옷
    END
    
    EVENT 1003    ;유저의 레벨을 체크한다.
    A CHECK_LV 35 120    ;유저레벨이 35이상인 경우
    E RUN_EVENT 1005
    END
    
    EVENT 1004    ;유저의 레벨을 체크한다.
    A CHECK_LV 0 34    ;유저레벨이 35미만일 경우
    E SAY -1 -1 1002 -1 -1 -1 -1 -1    -1 -1 -1 -1
    E RETURN
    END
    
    EVENT 1005    ;유저레벨이 35이상인 경우
    E RUN_EVENT 1006    ; 이벤트 1007이 일어난 경우
    E RUN_EVENT 1007    ; 이벤트 1007이 일어나지 않은 경우
    END
    
    EVENT 1006    ;
    A EXIST_COM_EVENT 1007    ;이벤트 1007이 일어난 경우
    E RUN_EVENT 1010;
    END
    
    EVENT 1007    ;◎이벤트 1007이 일어나지 않은 경우(처음 실행시)
    A NOEXIST_COM_EVENT 1007;
    E SELECT_MSG 14301 1001    1 1008 2 1009 -1 -1 -1 -1 -1 -1    -1 -1 -1 -1 -1 -1 -1 -1    -1 -1    ;들어준다/들어주지않는다
    E SAVE_COM_EVENT 1007    ;이벤트 번호를 저장한다.
    END
    
    EVENT 1008    ;들어준다
    E SAY 1010 1010    1003 1004 1005 1006 1007 -1 -1 -1 -1 -1    ;들어준다 상위 확인
    END
    
    EVENT 1009    ;들어주지 않는다
    E SAY -1 -1 1008 -1 -1 -1 -1 -1 -1 -1 -1 -1    ;상위 확인
    E RETURN
    END
    
    EVENT 1010    ; ◎상위, 확인시 이리로 - 메뉴박스(2번이상시)
    E SELECT_MSG 14301 1001    101 1008 102 1011 -1 -1    -1 -1 -1 -1 -1 -1 -1 -1    -1 -1 -1 -1 -1 -1    ;대화/퀘스트 아이템
    END
    
    EVENT 1011    ;◎퀘스트 아이템 메뉴
    E SELECT_MSG 14301 1015    201 1012 202 1025 203 1038 204 1051 205    1064 206 1077 105 1010 -1 -1 -1    -1 -1 -1 ;NPC    아이디/대사/201    투구 202 상의 203 하의 204 건틀렛 205 부츠 206 벨트 105    메뉴로
    END
    
    EVENT 1012    ; ♧투구재료1016
    E SELECT_MSG 14301 1016    103 1013 104 1011 -1 -1    -1 -1 -1 -1 -1 -1 -1 -1    -1 -1 -1 -1 -1 -1 ;103 재료주기 104 아이템 메뉴로
    END
    
    EVENT 1013    ;♧투구 받기전 검사
    E RUN_EVENT 1014    ;이미 실행
    E RUN_EVENT 1015    ;비실행 조건 만족
    E RUN_EVENT 1016    ;비실행 조건 비만족
    END
    
    EVENT 1014    ;이미 실행
    A EXIST_COM_EVENT 1015    ;이미 아이템을 받았는지 확인
    E SAY -1 1011 1022 -1 -1 -1 -1 -1 -1 -1    -1 -1    ;이미 있잖은가?!
    END
    (only a small snippet of Moradon's)

    Everything's tied to event #'s. NPCs are tied to types, and those types are tied to base event #'s, which are then called in the script.

    From there the logic flow is just a nightmare. Conditionals are handled by calling different events and checking (checks [lines prefixed with A] are always handled before executed logic [E], no matter the order they're actually specified in the script), so for something like:
    Code:
    if not hasItem(123456789) then
       say(-1, 1011, 1022, -1, ...)
       return
    end
    
    say(-1, 1011, 1023, -1, ...)
    You'd do something like:
    Code:
    EVENT 1
    E RUN_EVENT 2
    E RUN_EVENT 3
    END
    
    EVENT 2
    A CHECK_NOEXIST_ITEM 123456789 1
    E SAY -1, 1011, 1022, -1, ...
    E RETURN
    END
    
    EVENT 3
    E SAY -1, 1011, 1023, -1, ...
    END
    Or thereabouts. It was clunky as hell, especially for convoluted logic. Yuck.
    Really not that great on the eyes, either. Trying to piece together that mess with larger examples ... so much fun.
    It doesn't seem too bad, just very procedural, but the structure looks conventional.

    I clearly understand how it can become hard to keep track of, though, with such resembling lines and insignificant variable names.
    Did you learn to code it yourself with KO files or were you taught how to use it? and what's with the mandarin in there?

    also, we'd always hear about how messy KO code is. I just completed a programming design & pattern class this semester .
    how are the game files designed in terms of patterns? does it follow the SOLID principles? is it done professionally?


    thanks for answering again. I know this is not an AMA. like I said, genuinely curious.
    Last edited by hellzbellz19; 06-06-2017 at 10:34 AM.

  11. #26
    Senior Member
    Join Date
    Dec 2009
    Posts
    1,805

    Default

    Quote Originally Posted by hellzbellz19 View Post
    It doesn't seem too bad, just very procedural, but the structure looks conventional.

    I clearly understand how it can become hard to keep track of, though, with such resembling lines and insignificant variable names.
    It's just really bloated and unwieldy, really. There's no good reason for having to write so much code to do a simple task, e.g. perform a simple check.

    Quote Originally Posted by hellzbellz19 View Post
    Did you learn to code it yourself with KO files or were you taught how to use it? and what's with the mandarin in there?
    Myself, predominantly. Also, that's Korean not Mandarin -- mgame + NoahSystem (I think they're all part of the same thing now, I don't know for sure) are Korean companies. It's an except from their official script.

    Quote Originally Posted by hellzbellz19 View Post
    also, we'd always hear about how messy KO code is. I just completed a programming design & pattern class this semester .
    how are the game files designed in terms of patterns? does it follow the SOLID principles? is it done professionally?
    Oh god, no. The original code is a mess. Why do you think they've had so many issues?

    You get recurring issues with things with copied code; death handling/reward logic, for instance, is copied to every single applicable place. Which leads to their inconsistencies and stupid bugs, e.g. with the arena/coin thing that used to happen -- problem was essentially just their code not being synced because it was copied and pasted everywhere. Even the entire skill system is copied, 3 times, to a certain degree. Player vs player / player vs NPC / NPC vs player. Granted, the non PvP implementations were very much neutered, but still, there was absolutely no reason to do this. Why they did it though, was because 1. they didn't share logic between players/NPCs at all (i.e. in the public project I ended up shifting it all into a base Unit class, and had them both derive from it so we could interact with them the same), and 2. AI was in a separate server (which is understandable given server limitations at the time, but the logic could very well still have been reused regardless).

    Even now, they implement things which never cease to amaze me. e.g. Manufacturing:

    Essentially at its core very similar to existing exchange systems, aside from the UI -- could easily have just reused that, as with other things. But nope, they implemented a new system for it which passes the server a STRING containing the item IDs, rather than just the item IDs itself. So the server then has to parse the string, which isn't even in an easy-to-parse format: it's literally just 12345678901231234567890123 etc. Which is fine so far, since it pads them -- BUT then they have new item IDs with 10 digits now. So... um. Good luck with that. :|

    I don't even know what they were thinking, but that goes for most things...

    Quote Originally Posted by hellzbellz19 View Post
    thanks for answering again. I know this is not an AMA. like I said, genuinely curious.
    No problem, but you should probably be PM'ing me 'cause it's kind've off-topic... but at least it's better than the topic's existing content. XD

  12. #27
    Banned Senior Member
    Join Date
    May 2017
    Posts
    69

    Default

    There is a lot of ideas that people can implement by just getting to know how EVT really works. Majority of the 'devs' are implementing just the standard that twostars left them with the guide but there is a lot more that could be done there.
    If one is going to create an unique 1299 server, EVT is something that he should focus a lot.
    It is fun and easy to work with EVT's. Sadly, i don't see any server doing anything more with the EVT other than what Twostars left :/


    A thing on the on the original content of the topic.
    Osmanx said that he can patch security things related to SOACS, but grobar can't?!?
    Zone MYKO is struggeling 14 days due to failure of SOACS, as we see osmanx can't fix it, so he is giving zonemyko some bad suggestions such as changing the host.


    Now it's very funny, that Grobar can - Somehow fix the SOACS exploit, but osmanx can't But hey, osmanx is the guru, just that he lies to ZoneMYKO what real problem is
    And grobar is the one that can't secure server, yet creator of SOACS can't even fix zonemyko security hole lmao.

  13. #28
    God. Moderator Kallop's Avatar
    Join Date
    Aug 2008
    Location
    Above you.
    Posts
    5,750

    Default

    Quote Originally Posted by Masta View Post
    There is a lot of ideas that people can implement by just getting to know how EVT really works. Majority of the 'devs' are implementing just the standard that twostars left them with the guide but there is a lot more that could be done there.
    If one is going to create an unique 1299 server, EVT is something that he should focus a lot.
    It is fun and easy to work with EVT's. Sadly, i don't see any server doing anything more with the EVT other than what Twostars left :/


    A thing on the on the original content of the topic.
    Osmanx said that he can patch security things related to SOACS, but grobar can't?!?
    Zone MYKO is struggeling 14 days due to failure of SOACS, as we see osmanx can't fix it, so he is giving zonemyko some bad suggestions such as changing the host.


    Now it's very funny, that Grobar can - Somehow fix the SOACS exploit, but osmanx can't But hey, osmanx is the guru, just that he lies to ZoneMYKO what real problem is
    And grobar is the one that can't secure server, yet creator of SOACS can't even fix zonemyko security hole lmao.
    Sadly still doesn't change the fact that Osman is the owner of the files and he has the rights to them. If you don't like the files, then don't use them. Most people are using Soacs because they're the best files around. Either way, since nobody has anything to add to the actual topic at hand, I'm locking this topic. The warning has been sent.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. about interwar
    By Pwner in forum General Chat
    Replies: 8
    Last Post: 01-06-2007, 03:32 PM
  2. Replies: 68
    Last Post: 11-05-2006, 04:32 PM
  3. Replies: 0
    Last Post: 09-28-2006, 06:15 PM
  4. Guys something about SOUJIROU.. beware..!!
    By cachorro in forum Diez
    Replies: 0
    Last Post: 09-28-2006, 06:13 PM
  5. about the petitions on rankin
    By JuStShOoTmE in forum General Chat
    Replies: 19
    Last Post: 08-02-2006, 05:03 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •