
It consists of a highly configurable stand-alone server and a client based on Qt4/5. The client's development is now ceased and in search of a new maintainer, transforming it from a worse and annoying showstopper to a usable and fun to play one.
Features
Play against an unlimited number of tactical playing computer (AI) opponentsPlay against an unlimited number of human players over the networkPlay ace/queen/king rounds (optional)Support for player imagesSpoken feedbackServer side scoresAway from home, but PC is running? On Linux/BSD you can run the server on demand by using (x)inetd, on Windows install it as serviceHighly customizeable rules, even tweak them to your needs with LuaIntegrated webserver to show the server's status
Ubuntu users can add my PPA repo ppa:velnias/velnias to get the latest releases.
http://www.playdeb.net/game/NetMauMau offers binaries for Ubuntu too.
The package is available in the AUR (Arch Linux) at https://aur.archlinux.org/packages/nmm-qt-client/
openSUSEServer: http://software.opensuse.org/download.html?project=home%3Aecsos&package=NetMauMau-serverClient: http://software.opensuse.org/download.html?project=home%3Aecsos&package=NetMauMau-client-qt
Visit https://github.com/velnias75/NetMauMau for more information.
Ratings & Comments
19 Comments
OK, I've changed the appropriate line to: %{qmake_qt4} CONFIG+=release src.pro The %{qmake_qt4} macro expands to: $ rpm --eval %{qmake_qt4} /usr/lib64/qt4/bin/qmake \ QMAKE_CFLAGS_DEBUG="${CFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \ QMAKE_CFLAGS_RELEASE="${CFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \ QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \ QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \ QMAKE_LFLAGS_DEBUG="${LDFLAGS:--Wl,-z,relro }" \ QMAKE_LFLAGS_RELEASE="${LDFLAGS:--Wl,-z,relro }" \ QMAKE_STRIP= Same files in the package: $ tree . └── usr ├── bin │ └── nmm-qt-client └── share ├── applications │ └── nmm_qt_client.desktop ├── icons │ └── hicolor │ └── 256x256 │ └── apps │ └── nmm_qt_client.png └── licenses └── nmm-qt-client └── COPYING
Last idea, I guess you didn't took the src.pro 1:1? Important for the translation are the last 3 lines of the src.pro. Do you have pasted them, too?
Hm, you are right. Now it doesn't work for me too :-O
Now it works. I create the qm file with lrelease-qt4 -nounfinished nmm_qt_client_de_DE.ts \ -qm nmm_qt_client_de_DE.qm and install it: mkdir -p %{buildroot}%{_datadir}/%{name} install -p -m 644 nmm_qt_client_de_DE.qm %{buildroot}%{_datadir}/%{name} After restarting nmm-qt-client, I see the UI in German.
Ok, but for the future, it seems I got it to work in the src.pro as well. But there are new source files listed as well, so you may want to update your spec after 0.13 is finished (should happen tomorrow) Also if you publish your packages somewhere, can you give me the instructions for both packages to include in my README.md's?
OK, I will wait for the next release. Anyway, the package is still far from being releasable officially for review. There are still some unanswered questions (mostly regarding the packaging guidelines for Fedora): Should I start the server at boot time via systemd? Actually it is not needed, because a local game server can be started using the GUI. Currently the server package is monolithic, maxbe I will split it into the libs needed for the client and the server itself. This way nobody is forced to install the server, if only network games are intended. Due to a change in the next Fedora release, we need an *.appdata file, see http://people.freedesktop.org/~hughsient/appdata/. I will write one and post it here. I'm still missing some basic docs for nmm-qt-client, at least a README file and installation instructions. Once the packages are ready for the users, I will provide them in a Copr repo (similar to Ubuntu's PPAs).
Generally would it be possible to move the discussion to Github? There are also all relevant documentation. Server start is done best via xinetd. You can see, comment and even make pull requests on here: https://github.com/velnias75/NetMauMau-Qt-Client and https://github.com/velnias75/NetMauMau
Also you can see the Debian packaging on how to split the server into suitable subpackages.
For your packaging, you may be insterested in following: https://bugs.launchpad.net/getdeb.net/+bug/1419407
> Isn't it possible, like on Gentoo & Debian, to > call lrelease from the spec and to add the *.qm > manually? Yes, it is. I will do so.
Well, I was able to install and run the game server, but while compiling the nmm-qt-client sources, I cannot use "make install". I can launch the binary from the build directory (in English only, the German translation is not in use this way), but this is not useful at all, because I like to build a RPM package for Fedora. I use "make install INSTALL_ROOT=%{buildroot}", which expands to "make install INSTALL_ROOT=/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64". I get the following: make -f Makefile.Release install make[1]: Entering directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12' make[1]: Nothing to be done for 'install'. make[1]: Leaving directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12' How can I get this working?
The project file hasn't yet any install targets, because they have been simply not needed for Debian and Gentoo. As temporary workaround in src.pro you can add unix:target.path = /usr/bin unix:INSTALLS += target before unix:INCLUDEPATH += "/usr/include/netmaumau" The next release will install all files correct
An updated src.pro you can find here: https://raw.githubusercontent.com/velnias75/NetMauMau-Qt-Client/master/src/src.pro
OK, it installs now the following files: /usr/bin/nmm-qt-client /usr/share/applications/nmm_qt_client.desktop /usr/share/icons/hicolor/256x256/apps/nmm_qt_client.png I'm still missing the *.qm file with the German translation and eventually some other files which are usually installed in /usr/share (internally used icons, *.ui files etc.). However, the package builds, is installable and the application can be launched. I will test the behavior and give feedback.
The updated src.pro from Github should install the translations as well into /usr/share/nmm-qr-client Do you have lrelesse installed? On some systems it may be called lrelease-qt4. Translations are produced by a call to lrelease src.pro. All resources are compiled in with rcc, so they are not installed separately. Can you paste the complete output of make install?
Edit: the translation should go into /usr/share/nmm-qt-client
lrelease is present: $ rpm -ql qt-devel | grep release /usr/bin/lrelease-qt4 /usr/lib64/qt4/bin/lrelease /usr/lib64/qt4/bin/lrelease-qt4 /usr/lib64/qt4/mkspecs/features/debug_and_release.prf /usr/lib64/qt4/mkspecs/features/release.prf /usr/lib64/qt4/mkspecs/features/symbian/release.prf The relevant part of the rpm output: Ausführung(%install): /bin/sh -e /var/tmp/rpm-tmp.Mu92ys + umask 022 + cd /home/mariobl/rpmbuild/BUILD + '[' /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 '!=' / ']' + rm -rf /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 ++ dirname /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 + mkdir -p /home/mariobl/rpmbuild/BUILDROOT + mkdir /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 + cd nmm-qt-client0.12 + make install INSTALL_ROOT=/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 make -f Makefile.Release install make[1]: Entering directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12' install -m 644 -p /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12/nmm_qt_client.desktop /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/share/applications/ install -m 644 -p /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12/nmm_qt_client.png /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/share/icons/hicolor/256x256/apps/ install -m 755 -p "nmm-qt-client" "/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/bin/nmm-qt-client" make[1]: Leaving directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12' + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12 extracting debug info from /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/bin/nmm-qt-client dwz: Too few files for multifile optimization /usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. 4386 blocks Here is the Makefile generated by qmake: https://mariobl.fedorapeople.org/attachments/Makefile
in your spec, did you call qmake CONFIG+=release ?
It seems qmake is extremely reluctant concerning installations. Isn't it possible, like on Gentoo & Debian, to call lrelease from the spec and to add the *.qm manually?