PDA

View Full Version : Setting up a server on an Ubuntu 16.04 VM


Bradyhawke
04-23-2018, 05:52 PM
Hey guys,

I'm looking to set up a server for experimentation on a VM running Ubuntu 16.04, and I keep coming across some issues. Before I go all into the issues though, I figured I should check and see if there is a recommendation as to a different flavor / version of Linux / Ubuntu over 16.04?

Thanks!

- Bradyhawke

Bradyhawke
04-25-2018, 10:23 AM
I'm attempting to install a server on an Ubuntu 16.04 VM - the VM stats:

100GB HDD space
16GB Memory
4 x CPUs (1 core per socket)


I'm using the Linux installation found here:

https://github.com/EQEmu/Server#-debianubuntucentosfedora

The installation begins just fine, but then it locks up after a few warnings during the "Building EQEmu server code" process - see code below:

-- Build files have been written to: /home/eqemu/server_source/Server/build
Building EQEmu Server code. This will take a while./home/eqemu/server_source/Server/common/database_conversions.cpp: In member function ‘bool Database::CheckDatabaseConversions()’:
/home/eqemu/server_source/Server/common/database_conversions.cpp:476:47: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result]
system("perl eqemu_server.pl ran_from_world");
^
In file included from /usr/include/string.h:635:0,
from /usr/include/c++/5/cstring:42,
from /home/eqemu/server_source/Server/common/misc.cpp:20:
In function ‘void* memcpy(void*, const void*, size_t)’,
inlined from ‘void encode_length(long unsigned int, char*)’ at /home/eqemu/server_source/Server/common/misc.cpp:339:43:
/usr/include/x86_64-linux-gnu/bits/string3.h:53:71: warning: call to void* __builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned int) will always overflow destination buffer
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
^
In function ‘void* memcpy(void*, const void*, size_t)’,
inlined from ‘long unsigned int decode_length(char*)’ at /home/eqemu/server_source/Server/common/misc.cpp:362:43:
/usr/include/x86_64-linux-gnu/bits/string3.h:53:71: warning: call to void* __builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned int) will always overflow destination buffer
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
^
/home/eqemu/server_source/Server/common/proc_launcher.cpp: In member function ‘ProcLauncher::ProcRef ProcLauncher::Launch(ProcLauncher::Spec*&)’:
/home/eqemu/server_source/Server/common/proc_launcher.cpp:248:36: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
write(outfd, err, strlen(err));
^
/home/eqemu/server_source/Server/common/proc_launcher.cpp:254:36: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
write(outfd, err, strlen(err));
^
/home/eqemu/server_source/Server/common/net/servertalk_client_connection.cpp: In member function ‘void EQ::Net::ServertalkClient::SendHandshake(bool)’:
/home/eqemu/server_source/Server/common/net/servertalk_client_connection.cpp:338:77: warning: ignoring return value of ‘int crypto_box_beforenm(unsigned char*, const unsigned char*, const unsigned char*)’, declared with attribute warn_unused_result [-Wunused-result]
crypto_box_beforenm(m_shared_key, m_public_key_theirs, m_private_key_ours);
^
/home/eqemu/server_source/Server/common/net/servertalk_server_connection.cpp: In member function ‘void EQ::Net::ServertalkServerConnection::ProcessHandsh ake(EQ::Net::Packet&, bool)’:
/home/eqemu/server_source/Server/common/net/servertalk_server_connection.cpp:215:79: warning: ignoring return value of ‘int crypto_box_beforenm(unsigned char*, const unsigned char*, const unsigned char*)’, declared with attribute warn_unused_result [-Wunused-result]
crypto_box_beforenm(m_shared_key, m_public_key_theirs, m_private_key_ours);

/home/eqemu/server_source/Server/common/patches/rof2.cpp: In static member function ‘static void RoF2::Strategy::Encode_OP_Trader(EQApplicationPack et**, std::shared_ptr<EQStreamInterface>, bool)’:
/home/eqemu/server_source/Server/common/patches/rof2.cpp:3671:106: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘int64 {aka long int}’ [-Wformat=]
erialNumber, sizeof(eq->items[i].SerialNumber), "%016d", emu->SerialNumber[i]);
^
/home/eqemu/server_source/Server/common/patches/rof2.cpp:3671:106: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘int64 {aka long int}’ [-Wformat=]



It gets to that point and the VM stops responding. Any help or suggestions as to what is going wrong would be greatly appreciated.

Thanks again!


-Bradyhawke

Riklin
08-05-2018, 12:33 AM
I just did this on a new test server using Debian 9, which is what ubuntu is based on and it worked perfectly. At the point you are seeing those warnings, the terminal acts like it has locked up, but it has not. The server is actually building, compiling, etc. You need to be patient and wait. I'm talking like 30+ minutes depending on your computer's capabilities, how much resources you gave the VM, etc.