Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Guest afriaen

C++ version?

Recommended Posts

Guest afriaen

Dear people

 

I am new here, thank you for having me. I am a fan of rpg gaming and a learning programmer. My application for membership is still pending, but it seems I can already ask for help, which is nice :)

I wanted to ask which languages and their versions are needed to help coding Eternal Lands? C++ I have seen somewhere. Is that the only one? And which version is it?

Thank you!

 

Best Regards

 

afriaen

Share this post


Link to post
Share on other sites

The client is coded in a mixture of C++ (C++11, we try to be a bit conservative), and C (with whatever standard the current gcc supplies, which I suppose is C17 at the moment). Most new work work is done in C++ in my experience. You can look at the current client code on Github.

 

Help with the client would certainly be appreciated. Is there anything in particular you would like to do?

Share this post


Link to post
Share on other sites

Just for completeness, this only concerns the EL client. The server is completely separate, and any

access to that code would have to come from the game owner (don't bother :P).

Share this post


Link to post
Share on other sites
Guest afriaen

Hello

Thank you for your fast replies.

I forgot to clarify that I posted in the Linux Forum because I work on Linux systems.

We are actually a group of about 7 students, younger and older, who study (and game) together, and I came to Eternal Lands while searching for an mmorpg that would lend itself for both playing and learning: I preferably wanted a game that is fully open source. Now, in this case (in opposite to most other cases like this one) the game seems to have a closed server and an open client, which is far better from a modding standpoint than a game with an open server and a closed client, like is the case with server emulators like there exist for WoW, Asheron's Call, Star War Galaxies, Everquest etc... At least, when the assets are on client side, which is most of the time the case.

I would really like to do anything, but: let's say I am a creative beginner who isn't afraid to confront stuff I don't yet fully understand, so it should be simple tasks. They may be effort intensive, repetitive, but not too difficult conceptually or I should be able to find the solutions online or in books. It may also be wiki/webdev work: I know html5 and css3 - but I dont know them deeply from the top of my head, I just know their overall functionality and where to get snippets of code and how to connect them. I cannot write faultless code, like, without checking examples.

The other students vary in experience: one knows html and the other knows some Python. And 2 others now notions of Linux system administration and then a few who know nothing yet.

Ok, so we will focus on C++11 and some C17, as needed for Eternal Lands, and we study daily (besides playing too) so we should slowly but surely advance in it.

Hopefully this can be of help.

Thank you

afriaen

Share this post


Link to post
Share on other sites

I suggest you know C/C++ pretty decent before trying to contribute to the client. When that is solid, I'd get a full understanding of how the client works. The client is very complex. Your first challenge if you haven't figured out already is to: pull the repository from Git and compile the client. If that is a relatively easy task for you, I'd say you're on the right track. Anything is possible with dedication :)

Share this post


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

I suggest you know C/C++ pretty decent before trying to contribute to the client. When that is solid, I'd get a full understanding of how the client works. The client is very complex. Your first challenge if you haven't figured out already is to: pull the repository from Git and compile the client. If that is a relatively easy task for you, I'd say you're on the right track. Anything is possible with dedication :)

Thank you very much! Yes I did not expect we could start immediately, for one we want to play the game thoroughly besides learning C++ thoroughly.
We are working through the tutorial at http://www.cplusplus.com/.
After the C++ we also want to study all the aspects of video game / mmorpg programming and scripting and modding etc.


We are doing that step by step and do not continue before we thoroughly understand the step at hand. We study every day but we are not in a hurry. Not lazy but also not hasty.

I will keep you guys aware of our progress.

Cheers

 

afriaen

 

PS How regularly are people moved from the Guest category to the member category?

Share this post


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

PS How regularly are people moved from the Guest category to the member category?

If they follow the instructions, usually rather quickly.

If they don't, it can take a very long time...

 

Speaking as a moderator, I have to point out that you need permission from the game owner

(radu) before you can use a modified client to connect to the game. This is in addition to the

game rules (specifically rule 23) and bot rules which limit what any bot can do.

Also note that a bot has to be approved as well as paid for (20 $/year basic fee).

Share this post


Link to post
Share on other sites
Guest afriaen
12 minutes ago, revi said:

If they follow the instructions, usually rather quickly.

If they don't, it can take a very long time...

 

Speaking as a moderator, I have to point out that you need permission from the game owner

(radu) before you can use a modified client to connect to the game. This is in addition to the

game rules (specifically rule 23) and bot rules which limit what any bot can do.

Also note that a bot has to be approved as well as paid for (20 $/year basic fee).

Ok thanks for letting me know. As of now we do not have the intention to modify anything or use bots. For now we just want to play the game normally on the official server and in the mean time study. After that we would be glad to do some tasks for you, as support to the game and the community. And only after that it might be interesting for us to setup a custom server for ourselves, for the learning experience. But in doing so we will gladly abide by the rules of the community and the wishes of the owner of the game. We are not here to steal/rip the product off of other peoples invested blood, sweat and tears. We are very thankful to have this opportunity and are aware of the generosity the owner bestows on us in sharing his life work.

Share this post


Link to post
Share on other sites
1 hour ago, revi said:

Speaking as a moderator, I have to point out that you need permission from the game owner

(radu) before you can use a modified client to connect to the game.

Strictly speaking, that is true, but it would be impractical to run to Radu for every change one wishes to make. Stick to benign changes, don't add cheats or things to "simplify" game play (macros, autowalk to coordinates, etc.), don't overload the server, and you'll be fine.

 

As for project ideas, I have some, but unfortunately those would require a good graps of C++ and OpenGL. As it seems you are learning as you go, I would propose that you study the client source code to get a feel for how it is organised, perhaps make some little changes (change UI colors, something else stupid but harmless), to see if you can get it to work. See if you understand the format of a map file, and how its pieces are drawn (there's a lot of rendering code to wade through, but in essence the map format is pretty simple).

 

Have a look at the issues, see if you can fix one, and create a pull request. E.g. #128 looks like an issue that should not be to difficult to resolve.

 

I read you have some expertise with HTML in your team. One thing that would be nice to have is a good looking mobile version of the game's homepage. I am not sure who you would have to contact for that, I presume Radu, but I may be wrong. Perhaps someone more familiar with the website could chime in?

 

Share this post


Link to post
Share on other sites
Guest afriaen

Ok you guys have already given us 5 tasks :)

- pull the repository from Git and compile the client. (Shyne)
- study the client source code to get a feel for how it is organised (Grum)
- perhaps make some little changes (change UI colors, something else stupid but harmless), to see if you can get it to work. See if you understand the format of a map file, and how its pieces are drawn (there's a lot of rendering code to wade through, but in essence the map format is pretty simple). (Grum)
- Have a look at the issues, see if you can fix one, and create a pull request. E.g. #128 looks like an issue that should not be to difficult to resolve. (Grum)
- a good looking mobile version of the game's homepage. (Grum)

- I also saw an error in the wiki page, which could be a 6th task? ->
 

[Whoops! The default skin for your wiki, defined in $wgDefaultSkin as elwiki, is not available.

Your installation seems to include the following skins. See Manual: Skin configuration for information how to enable them and choose the default.

  • monobook / MonoBook (disabled)
  • timeless / Timeless (disabled)
  • vector / Vector (disabled)
If you have just installed MediaWiki
 
You probably installed from git, or directly from the source code using some other method. This is expected. Try installing some skins from mediawiki.org's skin directory, by:
Doing this should not interfere with your git repository if you're a MediaWiki developer.
If you have just upgraded MediaWiki
 
MediaWiki 1.24 and newer no longer automatically enables installed skins (see Manual: Skin autodiscovery). You can paste the following lines into LocalSettings.php to enable all installed skins:
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
If you have just modified LocalSettings.php
 
Double-check the skin names for typos.]

In the mean time I am having an influx of new learners: both teenagers and adults. I am living in a third world country atm because my wife is from here and the lockdown has got us stuck for the time being and there are a lot of friends here who want to elevate their position through studying programming. I was a bit conservative when I said 7 students, right now we are up to 13. Now a few of them first need to expand their English before they can even touch computing and a few others are really still half kids and I suspect with them we will more be playing the game for now. I also do not know yet who has sufficient intellectual capacity and who does not, or whether all of them will still enjoy it once they get a basic understanding about what it is. There is one pilot group of older teenagers who know well English and are already doing Linux command line and Vim and working with virtual box and of which one knows html and css.

In regards to the tasks you give me I got to follow the rhythm of the students because I am teaching them the whole day and have little time else. SO I would like to do all such things during our 'lessons', which also means that all of the persons in one group should be more or less similarly knowledgeable for the task at hand. I try to put them together according to level of understanding. All of this may obviously take a while, before we can really get to do the tasks. Like I said the pilot group are pretty knowledgeable already and I suspect with them we can do it in not too long. But I first want to go through all of the C++ concepts with them. This may take 2 months roughly? To somewhat get the basics? SO I expect that we can start doing little practical stuffs for the project in about 2 months from now. I will present it as challenges.

Will keep you knowledgeable of every step of our progress so that it all doesn't just remain 'in the air' from your point of view.

Peace

afriaen

Share this post


Link to post
Share on other sites

Forget about those Wiki pages: it's not an official EL site, and the only person that has the

required access rights seems unable or unwilling to correct the problem

Share this post


Link to post
Share on other sites
Guest afriaen

Ok, and is there an official wiki? Or maybe it isn't deemed necessary because the info already exists at other places? Now, a wiki would be a good beginners way for my students to learn and practice webdev skills... And also a fast way to give you something tangible already.

afriaen

Share this post


Link to post
Share on other sites
On 20/06/2021 at 2:05 PM, revi said:

Forget about those Wiki pages: it's not an official EL site, and the only person that has the

required access rights seems unable or unwilling to correct the problem

 

The wiki is the one and only wiki. The wiki owner (ermabwed) and admins (me and burn) only have acces to the wiki content side of things, and the issue is caused by a server update a long time ago, which can only be resolved by a server admin, who has been totally unresponsive in spite of many attempts to correct the problem. 

Burn has provided some workarounds for the wiki and associated forum pages, and the wiki content is still maintained and accessible. If you want to contribute to the wiki content (e.g. after the upcoming update), then feel free to make a wiki account and ask for edit rights.I hope that we can fix the wiki by moving it to another server, but so far I havent had the time to do this.

 

On 20/06/2021 at 8:52 AM, Guest afriaen said:

And only after that it might be interesting for us to setup a custom server for ourselves, for the learning experience.

Since the server code is not open source, this is not really possible. 

Share this post


Link to post
Share on other sites
Guest wiki accounts
On 8/6/2021 at 12:26 PM, Maxine said:

 feel free to make a wiki account

 

viz. account registration, Is there a difference between the "the wiki" and "the wiki forums"?

I am unable to make an account for the wiki forums, and have not tired with wiki simply because I assumed doing so will not give me access to the forums that contain the content pointed to by a lot of links in the wiki. The registration UI, such as they are, are very different from one another and I assume that separate registrations are therefore required. I see the forums are on an old simple machine forums base which probably has not be integrated with the wiki registration. I can't get past the "I accept terms" button.

Share this post


Link to post
Share on other sites

Yes there is a difference between EL char, EL forum (which you both have mastered) and WIKI and WIKI forum, the latter two have each their own username and password registration. I am admin on both, but wiki is currently a total mess.

For the wiki forum, see the link on the wiki homepage for a workaround by burn. I do not know if this will allow you to register. Issues with new forum accounts might also be caused by the same php update that totally messed up the wiki. Some of the admin functions still work, though.

Please let me know what your username on the wiki is. I normally get an email if registration in the forum needs confirmation, but have not received such an email since March 2020, when things went bonkers.

 

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×