Giter Club home page Giter Club logo

tes3mp-deploy's Introduction

TES3MP-deploy

Script that simplifies the installation, upgrade and packaging of TES3MP

Usage

./tes3mp-deploy.sh --help

Can be used in conjunction with TES3MP-forge to quickly create distributable packages that support a wide range of GNU/Linux distros and architectures.

./tes3mp-deploy.sh -C armhf --install --make-package --version "0.8.1" --server-only

Attribution

Big thanks to Testman, Shnatsel, Shatur and the TES3MP community for their intense testing, debugging contributions and suggestions.

Additional gratitude to FreeAethernet and Joe for their relentless testing of the auto generated packages.

tes3mp-deploy's People

Contributors

grimkriegor avatar grimuninova avatar konkode avatar shatur avatar shnatsel avatar strikersix23 avatar testman42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tes3mp-deploy's Issues

Can't start server after build

Hello. I have compiled 0.7.1 but cannot start the server browser, only openmw works and I can start the game, but nothing else, "Program launch error". How do I start the server? I'm not very familiar with linux and don't know how to start just the server, and the build looks to be completed successfully.

tes3mp-server fails to build on Mint 18.1

When running the script it always fails at the same point. I'm running Linux Mint 18.1.
Error:


[ 96%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/mwmp/Cell.cpp.o
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp: In member function ‘bool mwmp::DedicatedActor::hasItem(std::__cxx11::string, int)’:
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:228:28: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                            ^
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:228:61: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                                                             ^
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp: In member function ‘void mwmp::DedicatedActor::equipItem(std::__cxx11::string, int)’:
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:28: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                            ^
/home/master/Games/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:61: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                                                             ^
[ 96%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/mwmp/CellController.cpp.o
[ 96%] Building CXX object apps/openmw/CMakeFiles/tes3mp.dir/mwmp/MechanicsHelper.cpp.o
apps/openmw/CMakeFiles/tes3mp.dir/build.make:6038: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o' failed
make[2]: *** [apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:501: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/all' failed
make[1]: *** [apps/openmw/CMakeFiles/tes3mp.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

tes3mp-deploy.sh: 562: tes3mp-deploy.sh: [[: not found

Switching to the STABLE branch.
No local changes to save
Already up-to-date.
Already on '0.6.2'
Your branch is up-to-date with 'origin/0.6.2'.
tes3mp-deploy.sh: 562: tes3mp-deploy.sh: [[: not found
tes3mp-deploy.sh: 562: tes3mp-deploy.sh: stable: not found
tes3mp-deploy.sh: 567: [: stable: unexpected operator
-e
Checking out stable
No local changes to save
Already up-to-date.
error: pathspec 'stable' did not match any file(s) known to git.

Ubuntu 16.04.3 fails to build

Ubuntu 16.04.3 fails to deploy at this step:
/home/ryan/TESMP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp: In member function ‘void mwmp::DedicatedActor::equipItem(std::__cxx11::string, int)’: /home/ryan/TESMP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:28: error: use of ‘ptr’ before deduction of ‘auto’ for (const auto &ptr : ptr.getClass().getInventoryStore(ptr)) ^ /home/ryan/TESMP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:61: error: use of ‘ptr’ before deduction of ‘auto’ for (const auto &ptr : ptr.getClass().getInventoryStore(ptr)) ^ apps/openmw/CMakeFiles/tes3mp.dir/build.make:6038: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o' failed make[2]: *** [apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:501: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/all' failed make[1]: *** [apps/openmw/CMakeFiles/tes3mp.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

Change [Modules] to [Plugins]

Server executable says that it doesn't find "plugins" when built with current TES3MP-deploy.
settings file seems to have [Plugins] section for LUA stuff now.

After I copied the

[Plugins]
home = ~/local/openmw/tes3mp
plugins = serverCore.lua

part into the settings fine (with correct path to CoreScripts) the issue was resolved.

Can't Build Server

Hello,

I have a small server that I am trying to get TES3MP working for but it keeps failing.
OS: Ubuntu 20.04.4 LTS

Every time I try to build with the script I just get this error on the command line:

-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring OpenMW...
-- Found Git: /usr/bin/git (found version "2.25.1")
-- /opt/TES3MP-deploy-master/dependencies/raknet/include
-- /opt/TES3MP-deploy-master/dependencies/raknet/build/lib/libRakNetLibStatic.a
-- Found RakNet_LIBRARY_RELEASE: /opt/TES3MP-deploy-master/dependencies/raknet/build/lib/libRakNetLibStatic.a
-- Found RakNet_INCLUDES: /opt/TES3MP-deploy-master/dependencies/raknet/include/raknet
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find LZ4 (missing: LZ4_LIBRARY LZ4_INCLUDE_DIR LZ4_VERSION)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
cmake/FindLZ4.cmake:95 (find_package_handle_standard_args)
CMakeLists.txt:204 (find_package)

-- Configuring incomplete, errors occurred!
See also "/opt/TES3MP-deploy-master/build/CMakeFiles/CMakeOutput.log".
See also "/opt/TES3MP-deploy-master/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found. Stop.

I have checked my LZ4 dependancy and I do have it. So it could be a red harring. Also I have followed the install guide here:
https://openmw.readthedocs.io/en/latest/manuals/installation/install-openmw.html#the-ubuntu-way

to get openmw working and everything seems to be installed correctly. I was initially using the command:
sudo ./tes3mp-deploy.sh -i -s

to get it to install since I only want the server potion running on it. However I have had to switch over to this command for it to recompile and get an error at all:
sudo ./tes3mp-deploy.sh -u --cmake-local

I'll attach the two build logs as well thanks!

CMakeError.log
CMakeOutput.log

tes3mp-server fails to compile on an Odroid xu4 running Debian Stretch

I get this error near the end of the compilation whenever I run the command ./tes3mp-deploy.sh --install --server-only:

LangLua.cpp:(.text._ZN1CILj599EE2FnEP14LuaFuctionData[_ZN1CILj599EE2FnEP14LuaFuctionData]+0x34): undefined reference to F_<599u>::F' CMakeFiles/tes3mp-server.dir/Script/LangLua/LangLua.cpp.o: In function C<600u>::Fn(LuaFuctionData*)':
LangLua.cpp:(.text._ZN1CILj600EE2FnEP14LuaFuctionData[ZN1CILj600EE2FnEP14LuaFuctionData]+0x34): undefined reference to `F<600u>::F'
collect2: error: ld returned 1 exit status
apps/openmw-mp/CMakeFiles/tes3mp-server.dir/build.make:1167: recipe for target 'tes3mp-server' failed
make[2]: *** [tes3mp-server] Error 1
CMakeFiles/Makefile2:294: recipe for target 'apps/openmw-mp/CMakeFiles/tes3mp-server.dir/all' failed
make[1]: *** [apps/openmw-mp/CMakeFiles/tes3mp-server.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Sorry I'm having trouble pasting this error into a proper comment.

Script claims "All done" even if build fails

I got the following error by running the script on Ubuntu MATE 16.04:

/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp: In member function ‘bool mwmp::DedicatedActor::hasItem(std::__cxx11::string, int)’:
/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:228:28: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                            ^
/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:228:61: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                                                             ^
/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp: In member function ‘void mwmp::DedicatedActor::equipItem(std::__cxx11::string, int)’:
/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:28: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                            ^
/home/shnatsel/Code/TES3MP-deploy/code/apps/openmw/mwmp/DedicatedActor.cpp:239:61: error: use of ‘ptr’ before deduction of ‘auto’
     for (const auto &ptr : ptr.getClass().getInventoryStore(ptr))
                                                             ^
apps/openmw/CMakeFiles/tes3mp.dir/build.make:5966: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o' failed
make[2]: *** [apps/openmw/CMakeFiles/tes3mp.dir/mwmp/DedicatedActor.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:501: recipe for target 'apps/openmw/CMakeFiles/tes3mp.dir/all' failed
make[1]: *** [apps/openmw/CMakeFiles/tes3mp.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Yet the script did not signal failure and proceeded with the following output:

>> Creating symlinks of the config files in the build folder

>> Creating symlinks for resources inside the config folder

>> Creating useful shortcuts on the base directory



All done! Press any key to exit.
May Vehk bestow his blessing upon your Muatra.

The script should abort on errors. Consider adding set -e to the beginning of the script.

Difficulties with Arch (SOL && QT4/5)

Hi, I know, I know. This is repo mostly used for automating builds but I still like using it due to being able to tinker with tes3mp's source and I had to reinstall my laptop due to some fun DD mistake.
LSB_release:

LSB Version:    1.4
Distributor ID: Arch
Description:    Arch Linux
Release:        rolling
Codename:       n/a

Kernel: 4.14.49-1-lts

Upon first install (./tes3mp-deploy.sh -i) it will fail on SOL, which can be easily fixed by manually cloning the repo into the correct spot.

cd code/extern
rm -rf sol
git clone https://github.com/ThePhD/sol2.git sol

Being careful to avoid having to do that again I did a rebuild (./tes3mp-deploy.sh -r) which now fails with a CMake failure (though not the same as I am used to)
Error:

CMake Error at apps/browser/CMakeLists.txt:102 (qt5_use_modules):
  Unknown CMake command "qt5_use_modules".

-- Configuring incomplete, errors occurred!
See also "/home/1338/Development/projects/tes3mp/0.6.2/normal/build/CMakeFiles/CMakeOutput.log".
See also "/home/1338/Development/projects/tes3mp/0.6.2/normal/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found.  Stop.

I have these QT versions:

  • qt4-4.8.7-24
  • qt5-base-5.11.0-1

Do I need to add some more qt packages or is there some toggle somewhere I'm forgetting?

Credits file checksum

It is one of latest functions added to 0.7.0

$ ./tes3mp-server 
Loading settings file: ./tes3mp-server-default.cfg
Loading settings file: /home/leon/.config/openmw/tes3mp-server.cfg
TES3MP dedicated server 0.7.0-alpha (Linux 64-bit)
Protocol version: 7
Commit hash: 837c5369c0
------------------------------------------------------------
[2018-07-19 18:44:00] [FATAL]: The server is shutting down
- To respect the hard work that has gone into creating TES3MP, you are
required to keep an unmodified tes3mp-credits file corresponding to this
version of the code in the same folder as this executable. It can have either
an .md or a .txt extension.

I think that server executable is just confused about file's location, as with TES3MP-Deploy it is in /code/tes3mp-credits.md instead of server's directory (or whatever this translates to)

Can't build on Arch ([Makefile:136: all] Error 2)

I tried to install it with the command tes3mp-deploy.sh --install --branch 0.8.1-vr, which resulted in an error that told me that bullet didn't have double precision enabled. I fixed that by installing bullet-multithreaded from the AUR.

Now the error I get when running the same command is make: *** [Makefile:136: all] Error 2

Make --version also apply to CoreScripts

From what I see, currently -v (or -version) clones the correct branch of openmw-tes3mp, but still clones master branch of CoreScripts, making the compiled TES3MP server crash once compiled TES3MP client tries to make a new character on it.

Cant't build on Ubuntu 18.04 LTS

I'm getting:
>> Checking if the compiler has the necessary features ./tes3mp-deploy.sh: 334: ./tes3mp-deploy.sh: arithmetic expression: expecting primary: "7*(10**(5-1))"

gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)

Server only packages

Should be quite trivial, just gotta make things more dynamic on the packaging side.

Tie TES3MP and CoreScripts git pulls and branch switches together

For automation purposes it would make sense to tie up TES3MP and CoreScripts git pulls and branch switches together, but that will surely cause problems for users relying on the deploy script for their development practices, at least at present time.

Still, something to consider.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.