Jump to content
Eternal Lands Official Forums
Guest afriaen

Compiling: Cmake needs Findnlohmann_json.cmake

Recommended Posts

Guest afriaen

Hello

 

Because I want to fix that nasty tutorial bug I am in the process of compiling with cmake in Linux and up-till now I could find all the necessary programs/dependencies.

But now it seems I have to add Findnlohmann_json.cmake by writing a few lines of code for cmake to pickup and activate this module? If so then where exactly do I need to add those lines? And if I need to add a file to make it work, then in which directory?

Thank you!

aafriaen

Share this post


Link to post
Share on other sites

First off, forget about fixing bugs like the one you described, they are not client side...

 

Second, I have no problems compiling the Git client, certainly no need to modify any cmake files.

You do need some extra header files for the nlohman_json, for me that's a package in the standard

distribution repository (nlohmann_json-devel for openSUSE)

Share this post


Link to post
Share on other sites
Guest afriaen

Hello revi,

Yeah I know my issues are due to my newbie-ness, not the client. The reason I am using cmake is because I could not find out how to compile the whole directory with gpp-compiler in Atom. I only know how to compile individual files in Atom.  I really have not much overview in my mind how to do these things so I follow any path that can give me the solution and learn along the way.

Ok thanks for that package. In fact in the mean while I already downloaded a package but as a folder and but I  think I did not install it properly:

 

[

CMake Warning at CMakeLists.txt:138 (find_package): By not providing "FindHome/space/Eternal-Lands-master/nlohmann_json.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Home/space/Eternal-Lands-master/nlohmann_json", but CMake did not find one. Could not find a package configuration file provided by "Home/space/Eternal-Lands-master/nlohmann_json" with any of the following names: Home/space/Eternal-Lands-master/nlohmann_jsonConfig.cmake home/space/eternal-lands-master/nlohmann_json-config.cmake Add the installation prefix of "Home/space/Eternal-Lands-master/nlohmann_json" to CMAKE_PREFIX_PATH or set "Home/space/Eternal-Lands-master/nlohmann_json_DIR" to a directory containing one of the above files. If "Home/space/Eternal-Lands-master/nlohmann_json" provides a separate development package or SDK, be sure it has been installed. -- Configuring done CMake Error at CMakeLists.txt:277 (add_executable): Target "el.linux.bin" links to target "nlohmann_json::nlohmann_json" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing? -- Generating done CMake Generate step failed. Build files cannot be regenerated correctly.

]

Now if the bug is on server side, am I allowed to study the bug and learn from it and maybe fix it?

Thank you

afriaen

 

Share this post


Link to post
Share on other sites

You can also use the version of nlohmann_json shipped with the client by including "-DLOCAL_NLOHMANN_JSON=On" on the cmake command line.

Share this post


Link to post
Share on other sites
7 hours ago, Guest afriaen said:

Now if the bug is on server side, am I allowed to study the bug and learn from it and maybe fix it?

Probably not, the server is closed source. Perhaps ask @Entropy about it?

Share this post


Link to post
Share on other sites
Guest afriaen

Oh really? So that means we cannot really fix things or create content ourselves... :( Ofcourse I understand the reasons very well and I respect that  the owner wishes to protect his creation, but I am only honest if I say that that would defeat our main purpose of being here and would be a huge disappointment to all of us.

I love this game very much, because it incorporates many things I always want to see in a game, a more old-school 'hard-core' format which makes the world imo more immersive than that of other games that tailor more to convenience/action-oriented gamers.

I was looking forward to getting to know it into intimate detail and give back overtime by helping to perfect it and wanted to educate young people by having them play it and learn them how to fix bugs and create new content.

We would always diligently follow the wishes of the owners and by no means steal anything. We are too idealistic for that kind of behavior. We are not in it for making profit in the first place, but for the love of programming and gaming.

I hope I can get an answer to this soon so that we can look out to use another game, because playing it without any significant hope is not useful for us.


Yours sincerely

Share this post


Link to post
Share on other sites
Guest afriaen
12 hours ago, bluap said:

You can also use the version of nlohmann_json shipped with the client by including "-DLOCAL_NLOHMANN_JSON=On" on the cmake command line.

Thank you bluap!

But I will first wait to see the confirmation whether part of the game will not be accessible for bug fixing...

afriaen

Share this post


Link to post
Share on other sites

You have been told several times already that you need to talk to the game owner, radu (entropy here on forums), for any access to the

server (except for playing the game with the official client, of course). And don't expect him to contact you.

 

Given the number of people who currently have any other kind of access (all of them involved with the game since a long time, over 15 years),

I think your chance is very small. So if you need a game where you are free to hack (in the positive sense of the term), I don't think EL is for you

(or your class).

Share this post


Link to post
Share on other sites
6 hours ago, Guest afriaen said:

Thank you bluap!

But I will first wait to see the confirmation whether part of the game will not be accessible for bug fixing...

afriaen

Keep in mind that many 'bugs' are server side, since the server handles all the important logic, and the Client is mostly an interface to the server and to display 3D images. Even changing a map or map objects requires the server is using the same map & objects or you end up adding bugs.

Share this post


Link to post
Share on other sites

Even people with proven coding expertise who have been here over a decade do not have server access.  I can't imagine why anyone would think they would be able to show up here one day out of the blue, completely unknown to us, and expect immediate "server access" to tinker with (and most likely mess up) a functioning game with players.  Especially if that someone is just learning himself, along with a gaggle of even less competent "students".  :blink:

Share this post


Link to post
Share on other sites
Guest afriaen
1 hour ago, Aislinn said:

Even people with proven coding expertise who have been here over a decade do not have server access.  I can't imagine why anyone would think they would be able to show up here one day out of the blue, completely unknown to us, and expect immediate "server access" to tinker with (and most likely mess up) a functioning game with players.  Especially if that someone is just learning himself, along with a gaggle of even less competent "students".  :blink:

I do not assume anything as self-evident. I am just exploring the possibilities.  I understand that it's not realistic to expect a community to open up just like that for newcomers, but I need to ask it anyway because else how can I know? In the beginning that I came here I saw the dev section and people posting there and answering and from reading the website, I got the idea that open source and community cooperation in service of the game is a thing here. So that's why I assumed that we could have a place in that, if we proved ourselves, because I thought everyone else here had a place in that. Now it seems that I had a wrong image, sorry for that.

There is nothing supernatural about programming competence. It's just a matter of learning an practice and above all perseverance. The last is something we definitely have, and as I see it, there are few limits if one perseveres. But no way to prove it to you, if you expect us to first finish university and then come back. :)

I did not know entropy is the owner, that was not explained to me. And I also do not think he will allow us, and I can understand that too, and that is why I did not ask him.

The fact is that there is a list of bugs waiting to be fixed, so why not involve people who are enthusiastic to do it? I honestly think that it doesn't harm anyone, nor the game, to provide people the means to try it out. If they can do it, so the better.  If they can't at least they learned something and the game has 10 more players for months to come. At this point we cannot even prove our worth, and I think that is sad. I also think it's sad to judge people's worth without knowing them, especially if they are in a situation that doesn't easily allow them to gain the competence you speak of.

But I can not decide in this, and I respect the fact that the owner or the community like to keep things in a certain way. So be it.

At least it is clear now that the tide is to strong to turn it in our favor.

I wish you all good luck and enjoyable times with this lovely game and I find it sad that I will not be able to delve deeper into it.

Take care

Afriaen

Share this post


Link to post
Share on other sites

Far be it for me to pour water on your enthusiasm....
But you turn up here - knowing nothing about the game, not even how to program - and expect to be given access to the server.....

 

When several people here have explained EXACTLY to you what is involved, and where the developers here (Grum / Bluap) have been kind enough to assist you and go out of their way to give you help and assistance.

 

And in response, you now throw your toys out of the pram and flounce off.

 

Grow up - the world is not there to give you stuff on a plate - you have to earn respect and in doing so will be given responsibility.

Share this post


Link to post
Share on other sites

All I can reply to that outburst is:

"Good luck in you next endeavours, you'll need it"

 

And if you are indeed a teacher (as you wer talking about "my students"), well...

Share this post


Link to post
Share on other sites
Guest afriaen

No, no, I did not mean to burst out or run away, I am still here. For sure my message was not meant sarcastically. I am afraid I am not being clear, or not diplomatic enough in my wordings. I simply realized that what I was looking for was not realistic, that my expectations were not realistic. And I do not want to bother you more with it as you seemed annoyed by it. (I do not mean this sarcastically!)

I just do not see how I can learn enough if the server can not be accessed. That's not a complaint or whining, it just means that I think I have to find other learning tools. Or maybe I have an incomplete understanding of programming which makes me have such inflexible ideas. My aim was to find a game that is 100% accessible. It's not that i think it's wrong that you do not give this access, I don't. I understand why it is not possible, and I have no complains about it.

Now if you mean that you find it a pity that we would not remain, then maybe explain me that it isn't necessary to have that kind of access, in order to learn, and that you are actually happy if we would be here.

I did not meant to come over as: 'if I do not get what I want, I am out'. It's just that I am not achieving my aims of finding a 100% accessible game. Maybe the only means to have that is to  use a game that is not sustained by a community but that I can pull from git myself and individually experiment on.

I just do not feel good about investing much time here if I do not have a clear idea of what I will be getting out of it and certainly not if I  irritate people with my beginner fantasies. I do not want to be a burden to you.

This does not mean 'I never want to play this game anymore' because I'd feel rejected. I don't have such a feeling at all. I have the same positive feeling about the game and about you guys as I had before. I am not angry! It's just that I like to focus my attention on what will work because time is already so short. I do not see how I can help fixing things if the essential code cannot be altered. That means that the game is fore-mostly meant to be played and that I can partake mainly as a player, but I think that isn't sufficient to learn a lot.

Text messages are not well able to communicate feelings like they are felt by the writer, and I already wonder how I should have written it better.

Again: I did not intend to turn my back in any way. I just want to get on with my work.

To reply:  am not a professional teacher, but the people nevertheless seem to be very happy because they keep coming every day.

Afriaen

Share this post


Link to post
Share on other sites

Alright, it seems tempers may have risen a bit too much, and people may have read too much in what was actually written.

 

I am not in charge of the server, only radu (a.k.a. entropy) is. But I will tell you that it is extremely unlikely that he will grant you access to the server source code. There are reasons for that, that you, I, or anybody may agree or disagree with, but that is entirely irrelevant as this is Radu's code and he gets to decide with whom he wants to share it.

 

In addition to that, from your posts I get the feeling that neither you nor the rest of your team are ready to handle programming the server yet. Bear in mind that a mistake in the server affects *everyone* in the game, and such mistakes can be costly. A mistake in the client code can be annoying,but it does not make you lose your achievements in the game. A server bug can. Or it can wipe out the stats of everyone that logged in in the last week. Or send links to funny cat pictures to everyone in the game at random intervals. You get the picture. Sure, you might be able to learn from studying the server code. But the decision on whether to open the source code for the server is not ours to make, and quite frankly, from what I have seen so far, were I to be responsible for the server, I would not accept a patch from your team without *extensive* study on whether it is correct.

 

I do appreciate your efforts to make this game better, and I am happy you are not turning your back on the game. By all means, if you find a server bug, report it in the forums. But if you expect to be able to solve those kinds of bugs yourself, you will be disappointed.

Share this post


Link to post
Share on other sites
Guest afriaen

Hello Grum, thank you for your kind answer.

I might underestimate the difficulty of engaging with the software. I am aware that I am inexperienced and I imagined not that we would directly play with the active game (client/server) but maybe within a copy of the parts that are bugged, and that it then could be checked and tested by more experienced people as to see whether we did it correctly, before it they would replace the original code in that area with the corrected copy.

 

But maybe I am naive about how easy this can be done.

 

I have never learned anything in regards to computers in school, and the way I learn is mostly to throw myself in the water and then learn swimming purely through my will not to drawn but conquer. Until now it has served me well. I have learned the stuff that I do know in an entirely organic manner. That explains my approach. I like making my hands very dirty, like those kids who open the TV until the last screw and then scramble to assemble it again before the parents return home. :D

I am not saying this in the hope to convince anyone but simply to explain the reasoning behind my behavior.

Share this post


Link to post
Share on other sites

Grum said it very well.   In addition I would add that, as you know, the client code is open and suitable contributions are welcome.  Both Grum and I have contributed code to the client for many years.  There is always plenty to do, especially if you play the game and imagine improvements or read these forum and listen to suggestions.  Server changes are rarely needed and in the past Radu/Entropy has worked closely with the client developers to cover those cases.

 

Today both Grum and I have commit permission to the client source, but that was granted after a long period, making many contributions that others reviewed before committing. Even with commit permissions, review is still done where possible as we always learn from each other and more minds make better code.  This is how open source works and what makes it fun.

Share this post


Link to post
Share on other sites
Guest afriaen

Ok, but it seemed to me that, after hearing that the tutorial bug can't be fixed without server access, that every bug will be partly server? I mean it's a bug in the questing sequence, isn't it? Some condition that became fulfilled by me or my friend triggered it. To me that seems a straightforward 'front-end' thing, not some abstract back-end thing that needs server interaction. Then if that bug is indeed server related then what kind of bugs are client only? As my beginners mind perceives it, the front-end of the game, namely the character doing things in an instantly and constantly generating world, would be approachable from the client. If that is not so then there is something terribly wrong with my understanding and then I come to fear near every other bug is server related and thus: unfix-able.

 

If the server is rarely involved, which, when I chose this game, I thought was the case, then how can be such a seemingly simple bug be server related and not all the other simple bugs client only?

If it is true that the server is rarely needed for bug fixing then I don't see it as a problem to not to have access to it.

 

But I really am in need an understanding as to how that bug is server related.

Thanks

Share this post


Link to post
Share on other sites
Guest afriaen

Also, if it turns out that indeed that bug is a rare case of server interaction that needs fixing, then I also don't mean that I must be the one having access to the server, to try that myself. If someone else does that, someone who is established here and gets permission to fix it that's just as well for me, and then I would be happy to hear how this person did it and what was exactly going wrong. I would just like to get to see progress and help to make the game ever more perfect.

It was just worrying and demotivating for me to think that maybe the owner isn't much involved anymore and that it just wouldn't be possible to correct it because of that, even after mentioning it and waiting for a long time, because of these server restrictions and no-one available who gets the green light from him to do it regardless of those limitations.

 

It's hard for me to dedicate myself wholeheartedly to the game if I see a glaring bug that seems easy to solve. And that then there is like a glass wall that can not be permeated and that results in the bug sitting there glaring at us, in defiance, invulnerable, unsolvable.. :)

I'd just love that the owner would send in an agent with his seal to get that job done and after that to report to the marketplace with his logbook. :)

Share this post


Link to post
Share on other sites
Guest aafriaen

I cant correct as guest, therefor this addition: I meant that the agent could come with his logbook to explain and teach what he did, not the owner... My grammar was faulty...

Share this post


Link to post
Share on other sites

I was trying to explain that you can do lots of improvements to the client that do not required server changes.  There are also client only bugs that can be investigated and fixed completely client side.

 

In this particular case, if there is a bug with progressing though the tutorial quest, then it is almost 100% likely to be a server bug.  All the conversations with NPCs use the same method from the client perspective.  The dialogue window is generic.  When you click on an NPC to open the dialogue, the client sends information to the server about the NPC you clicked.  The server sends the client the dialogue text and the options for the dialogue.  The client displays this information in the dialogue window.  When you click an option in the dialogue window, the client sends the server which option you clicked.  The server then works out the response and sends the client the response text and any further options. The interaction continues in this way.  In all of this the client simply displays the text and returns the option the player chooses.  All the logical flow of how the chat progresses is done by the server.

 

Many aspects of this game, like most others like it, are controlled by the server.  This is necessary to enable the multi-player aspects of the game such as the shared world.  It also prevents many aspects of cheating by people that would modify the client.  For example, you cannot change the client to give your character additional exp or skills, or add items to your inventory.  The client displays things depending on where the server tells it you are located.  The client sends things like movement requests to the server, but the server works out if that movement is valid before sending the client information about your new location.

Share this post


Link to post
Share on other sites
Guest afriaen

Ok bluap, thank you very much for explaining! I knew that the server does all the multiplayer stuff but it wasn't entirely clear what functions belonged to that category. I also see how anti-cheat makes it necessary to program certain things at server side that in theory could also be programmed at client side

Now, what do you guys do in case of server related bugs? Is it the creator.owner alone who fixes those, or are there others too who have this permission? How much time does that that take overall?
 

afriaen

Share this post


Link to post
Share on other sites
10 hours ago, Guest afriaen said:


Now, what do you guys do in case of server related bugs? Is it the creator.owner alone who fixes those, or are there others too who have this permission? How much time does that that take overall?

 

You can post an entry in the Bugs section if the bug hasn't been reported yet.  There isn't a good answer as to when or if the bug will be fixed.  If enough people show interest in forum in getting a server bug fixed, it might get entropy's attention but there is no guarantee.  For many bug entries it's only very few players bringing any attention to them.  Speaking more generally, in my opinion, the player communty itself isn't organized enough enough drive change on the server side. There are a few people that do put a lot of effort into driving some changes (I'm thinking things like map changes and the 1.9.6 release) and if we want to see more change, there's going to be quite a bit of effort required.

Share this post


Link to post
Share on other sites
10 hours ago, Guest afriaen said:

Ok bluap, thank you very much for explaining! I knew that the server does all the multiplayer stuff but it wasn't entirely clear what functions belonged to that category. I also see how anti-cheat makes it necessary to program certain things at server side that in theory could also be programmed at client side

Now, what do you guys do in case of server related bugs? Is it the creator.owner alone who fixes those, or are there others too who have this permission? How much time does that that take overall?
 

afriaen

In cases of emergencies or Radu asking nicely, I'm still around to help fix bugs in the EL server. Most of the time I just make sure EL keeps running as well as it's Forums since I have other things on my mind.

 

But, any server changes I make I do still send to Radu so he still controls the EL server code.

Share this post


Link to post
Share on other sites
Guest afriaen
1 hour ago, Nogrod said:

 

You can post an entry in the Bugs section if the bug hasn't been reported yet.  There isn't a good answer as to when or if the bug will be fixed.  If enough people show interest in forum in getting a server bug fixed, it might get entropy's attention but there is no guarantee.  For many bug entries it's only very few players bringing any attention to them.  Speaking more generally, in my opinion, the player communty itself isn't organized enough enough drive change on the server side. There are a few people that do put a lot of effort into driving some changes (I'm thinking things like map changes and the 1.9.6 release) and if we want to see more change, there's going to be quite a bit of effort required.

1 hour ago, Learner said:

In cases of emergencies or Radu asking nicely, I'm still around to help fix bugs in the EL server. Most of the time I just make sure EL keeps running as well as it's Forums since I have other things on my mind.

 

But, any server changes I make I do still send to Radu so he still controls the EL server code.

Thank you for both your enlightening replies! I am very happy to understand better now what the limits, pathways and possibilities of the game are...

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×