[Need Help] Need jar files for a project

I’m fairly new to jmonkey/networking, but a friend and I want to try to make our first multiplayer (2d) game together. We are both students with programming as main courses, so we have little experience.

We have been looking for some kind of template for a few days, mainly to do the networking for us as we have absolute no experience on this field. That’s why we are interested in:
http://hub.jmonkeyengine.org/forum/topic/multiplayer-game-template/

But we can’t seem to get this running due to not having the correct libraries. So if anyone would be so kind to provide me the jar files, that would be great (com.simsilica.es and org.slf4j).

Reason for making a new topic: we don’t want to hijack someones topic.
This was posted in User Code & Projects as it’s a project and we didn’t found a “help for newbs”-section.
It’s also marked with a [Need Help] for obvious reasons. If it’s possible to change the title (which i hope), it’ll be changed to [Solved] when it’s solved.

Greetings,
Newbie.

If google search didn’t help you can try search.maven.org to find the jar-files.

Also, if this is your first game, do not do multiplayer. You will not have fun because it is very hard. Do a singleplayer game first. Then do multiplayer.

1 Like

If you use JMonkeyengine SDK, add the plugin Zay-es. It should provide the missing jar you ask.
JME doesn’t use the common way (java ecosystem with repository) to manage dependencies. If you want to do manual dowload of the jar, often you can find them under https://code.google.com/p/jmonkeyplatform-contributions/source/browse/ (in “release” sub-folder of each project). I don’t know why but zay-es is no longer hosted at this place.

1 Like

use this link to browse and download, seems more “reliable” : http://jmonkeyplatform-contributions.googlecode.com/svn/trunk/

1 Like

Zay-es doesn’t show up in the main list just because google code cuts it off because there are too many children. But if you search the forum for Zay-ES you will find the forum section for it and all of the links.

Zay-ES is an entity system, though. There is Zay-ES-net which provides networking on top of the entity system. Entity systems on their own can be hard to wrap ones head around initially. So while that game template may use it, it may not be the best place to start for beginners. (Though I personally do believe that an ES is the best foundation for a game… the learning curve is just steep.)

1 Like

Looks like a lot of people are trying to help me, I’m truly amazed.
Thanks a lot everyone.

I got it to work.

http://www.java2s.com/Code/Jar/s/Downloadslf4jjar.htm
http://hub.jmonkeyengine.org/forum/topic/zay-es-links/

Those 2 links helped me out a lot (I’m not sure how to change the title to [solved], but if a mod could do it, that would be great, that way other newbies know what to do).
I’m sorry for not searching through the forum earlier, i just didn’t think that i could actually find it here. But I’ll do that first next time.

And i know that a single player game would be easier to start with. I’ve made one and my friend has made one, both very little. I’d say we have little to no experience in the field, but programming is a hobby and we have vacation so we are still planning to go for a networking game.
If we fail (chances are high), no harm is done and we’ll have more experience and a lot of fun. If we succeed then it’ll be even more fun.

Greetings,
Newbie.

1 Like
(Though I personally _do_ believe that an ES is the best foundation for a game... the learning curve is just steep.)

Seconded, after getting around with it, there are many things, that are kinda solved automatically, due to having everything in data.

1 Like
@Empire Phoenix said: Seconded, after getting around with it, there are many things, that are kinda solved automatically, due to having everything in data.

Yes, and in general, I never have to think “where should I put this new feature?” because it’s generally patently obvious.

1 Like

Problem:
I moved things a bit (had everything on my desktop but i decided to actually put it in a decent folder).
And it went wrong.

I get the following error message while trying to run the server:
run:
java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:189)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:112)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:105)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:235)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:208)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:221)
at com.simsilica.es.net.EntitySerializers.<clinit>(EntitySerializers.java:56)
at NetworkRpg.ServerMain.<clinit>(ServerMain.java:39)
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
… 8 more
Exception in thread “main” Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

And while building the project i get the following:
warning: [options] bootstrap class path not set in conjunction with -source 1.5
Note: C:\Users\x\Documents\Nobackup\do not delete\testprojects\TestMMO\src\NetworkRpg\GameGuiController.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning

I tried removing the libraries and adding them again, this didn’t work.
I tried closing (just the alt+f4 shortcut) and restarting (just clicking again on my jmonkeyengine sdk desktop icon) and again, this didn’t work.

So I think that I have a real problem.
I searched a bit on the internet, and all i can find is some professional-talk about a jdk bug which they don’t want to fix. (In English: I don’t get what they are talking about. source: http://lists.jboss.org/pipermail/jboss-jira/2011-September/195653.html)

I also read about the NoClassDefFoundError, which means that the compiler can compile the code, but it can’t be executed at run time. At least, that’s what I think.

NOTE: I did not change any of the code (yet :p). All I did was move things to get a clear desktop/better organized folder.

Greetings,
Newbie.

Did you have logback (core + classic IIRC) ? (you seems to used it at runtime, not at compile time).

1 Like

Thank you David Bernard.

I downloaded the following:
http://logback.qos.ch/download.html

And added the jars to the project, and it works again.
Could you take a minute (please) to explain what the problem was?
Solving it is one thing, but understanding is another, and I would appreciate it if you explained it so that I could learn why this solved the problem.

Greetings,
Newbie.

slf4j = Simple Logging Facade for Java

librairie provider use slf4j-api to log => slf4j-api required at compile time of the lib but it’only an frontend. At runtime application (main, test,…) require to a backend (slf4j-simple or logback or log4j or any compatible backend). The backend is choose by the application (dev) and ,by default, it is auto-activated by “classpath presence of some classes”. Because the backend is load at runtime you don’t need it at compile time.
With slf4j, librairie can log and let the application to choose its favorite logging system (perf, configutration, constraintes, …)

Your stack trace named a class of logback so I suppose you choose it or try to configure it, but miss some classes so I suggest you to add logback into your runtime classpath.

I hope it’s clearer. else see http://www.slf4j.org/

1 Like

Thank you for explaining.

It’s clear now.
Now I can add something to my “on my journey to my multiplayer game, I learned”-list. Thank you.

Greetings,
Newbie.

As was said, you just need to install the Zay-ES plugin in the SDK and add the Zay-ES Library unde Project Settings->Libraries->Add Library