liveoverflow / pwnadventure3 Goto Github PK
View Code? Open in Web Editor NEWPwnAdventure3 Server
License: GNU General Public License v3.0
PwnAdventure3 Server
License: GNU General Public License v3.0
Hi everyone, I set up my private server successful, but I lose my game progress every time i stop the docker compose, I want to know how can i backup the game progress
I followed the instructions on Windows.. I had to use 7zip to extract the .tar.gz, and initially I put it in a folder named pwn3
but that failed to build. So I moved the contents (client
/server
folders) up to the main folder and now I get this:
PS M:\Games\PwnAdventure3\DockerServer> docker-compose.exe up
Starting dockerserver_init_1 ... done
Starting dockerserver_master_1 ... done
Starting dockerserver_game_1 ... done
Attaching to dockerserver_init_1, dockerserver_master_1, dockerserver_game_1
: No such file or directory
game_1 | standard_init_linux.go:190: exec user process caused "no such file or directory"
dockerserver_master_1 exited with code 127
dockerserver_init_1 exited with code 0
dockerserver_game_1 exited with code 1
I'll post back if I figure out what's up, but I thought it worth having here in case others hit the same issue. There are lots of suggestions online about what this might be (from missing Bash, to Linux newlines) but I don't think any of those are it.
Step 6/7 : ADD --chown=pwn3 server/MasterServer/initdb.sql $PWN3/initdb.sql ERROR: compose.cli.main.main: Service 'init' failed to build: Unknown flag: chown
I haven't looked into this issue but anyone wanting a quick work around just remove --chown from the dockerfile.
My quick test allows it to work and doesn't appear to have any permission errors.
Hey there ! 😃
I have tried several times, on different Ubuntu desktop versions : 14 / 16 / 18, and everytime I get an error when doing the command sudo docker-compose up -d
.
I've been following the guides : fresh VM with Ubuntu 16, updated, docker & docker-compose installed by doing copypastas from their official guides, then cloned the repo, downloaded pwnadventure3.tar.gz
, extracted, ran docker-compose build and then finally docker-compose up.
While the docker-compose build
command is running, I have several red notes (but I don't get if it's an error or not) :
and finally :
(but I notice that in the video, @LiveOverflow has the same red note as the one I have in this 3rd picture).
My docker-compose build command ends with :
Successfully built edf9691aef95
Successfully tagged pwn3server:latest
So I went ahead and tried to docker-compose up, resulting in this error :
Having absolutely no idea on how to solve this problem, here am I asking for your help please 😄
Has anyone else problems with the Linux client ? I've tried to make it work with several Ubuntu version (14.04, 18.04, 19.04) and with two hypervisors (VMware and VirtualBox) and I couldn't. Depending on the hypervisor chosen, either it causes a crash or a freeze.
I've also tried to use the old client version provided in this guide, but it freezes in the "Checking for updates" part.
The Windows client works well at least, but it seems harder to exploit the VM.
Hi! So last night I gathered the relevant files from the repository, pwn3 website, and docker to use docker-compose to setup the repository. Running the docker-compose binary doesn't fail, however there is a problem with the setup scripts that causes the game server to fail to boot, and exit with code 139:
[sudo] password for pwn3:
Starting pwnadventure3_init_1 ... done`Starting pwnadventure3_master_1 ... done
Starting pwnadventure3_game_1 ... done
Attaching to pwnadventure3_init_1, pwnadventure3_master_1, pwnadventure3_game_1
master_1 | * Starting PostgreSQL 9.3 database server
pwnadventure3_init_1 exited with code 0
game_1 | FMallocCrash overhead is 3780608 bytes
game_1 | bash: line 1: 7 Segmentation fault ./PwnAdventure3Server
pwnadventure3_game_1 exited with code 139
master_1 | ...done.
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:1: ERROR: role "pwn3" already exists
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:2: ERROR: database "master" already exists
master_1 | GRANT
master_1 | rm: cannot remove /opt/pwn3/client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Saved/Logs/*': No such file or irectory
master_1 | No backup data found!
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | INSERT 0 1
master_1 | INSERT 0 1
master_1 | UPDATE 1
master_1 | UPDATE 1
master_1 | Use the following team hash to join the admin team:
master_1 | [local hash not needed for this issue]
master_1 | bash: /opt/pwn3/server/creds: Permission denied
I've just followed the docker installation, the server is running fine, it connects to the game server and master server.
Now when I try to launch the game and join the server I just get the error Failed to load master server certificate
however there is a certificate in both the master server and the client.
I'm a bit lost, thanks for any help!
What OS did you use?
Also it seems like you extracted everything to /opt/pwn3
which wasn't documented in Readme. Not sure if that's necessary to make this work.
I'm getting segfaults with Ubuntu 16 LTS
user@pwnadventure3:/opt/pwn3$ sudo docker-compose up
Starting pwn3_init_1 ... done
Starting pwn3_master_1 ... done
Starting pwn3_game_1 ... done
Attaching to pwn3_init_1, pwn3_master_1, pwn3_game_1
pwn3_init_1 exited with code 0
master_1 | * Starting PostgreSQL 9.3 database server
game_1 | FMallocCrash overhead is 3780608 bytes
game_1 | bash: line 1: 7 Segmentation fault (core dumped) ./PwnAdventure3Server
pwn3_game_1 exited with code 139
master_1 | ...done.
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:1: ERROR: role "pwn3" already exists
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:2: ERROR: database "master" already exists
master_1 | GRANT
master_1 | rm: cannot remove '/opt/pwn3/client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Saved/Logs/*': No such file or directory
master_1 | No backup data found!
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | INSERT 0 1
master_1 | INSERT 0 1
master_1 | UPDATE 1
master_1 | UPDATE 1
master_1 | Use the following team hash to join the admin team:
master_1 | [hash_be_here]
when I issued docker-compose build
after a few seconds I got the error below.
$ docker-compose build
Building init
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/docker/utils/build.py", line 180, in create_archive
t.addfile(i, f)
File "/usr/lib/python3.6/tarfile.py", line 1978, in addfile
copyfileobj(fileobj, self.fileobj, tarinfo.size, bufsize=bufsize)
File "/usr/lib/python3.6/tarfile.py", line 252, in copyfileobj
dst.write(buf)
File "/usr/lib/python3.6/tempfile.py", line 483, in func_wrapper
return func(*args, **kwargs)
OSError: [Errno 28] No space left on device
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 11, in <module>
load_entry_point('docker-compose==1.21.2', 'console_scripts', 'docker-compose')()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 71, in main
command()
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 127, in perform_command
handler(command, command_options)
File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 282, in build
gzip=options.get('--compress', False),
File "/usr/lib/python3.6/site-packages/compose/project.py", line 373, in build
service.build(no_cache, pull, force_rm, memory, build_args, gzip)
File "/usr/lib/python3.6/site-packages/compose/service.py", line 1047, in build
platform=platform,
File "/usr/lib/python3.6/site-packages/docker/api/build.py", line 154, in build
path, exclude=exclude, dockerfile=dockerfile, gzip=gzip
File "/usr/lib/python3.6/site-packages/docker/utils/build.py", line 31, in tar
root=root, fileobj=fileobj, gzip=gzip, extra_files=extra_files
File "/usr/lib/python3.6/site-packages/docker/utils/build.py", line 183, in create_archive
'Can not read file in context: {}'.format(full_path)
OSError: Can not read file in context: /home/makiftasova/github/PwnAdventure3/pwn3.tar.gz
and
$ df -h
Filesystem Size Used Avail Use% Mounted on
dev 3.9G 0 3.9G 0% /dev
run 3.9G 1.2M 3.9G 1% /run
/dev/sda6 40G 26G 12G 70% /
tmpfs 3.9G 6.6M 3.9G 1% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 332K 3.9G 1% /tmp
/dev/sda3 2.0G 60M 1.8G 4% /boot
/dev/sda5 439G 150G 267G 36% /home
tmpfs 789M 20K 789M 1% /run/user/120
tmpfs 789M 16K 789M 1% /run/user/1000
After some digging, I find out docker-compose complains about the size of temp directory (which is mounted to /tmp
and RAM backed in my case) (see: https://stackoverflow.com/q/38619286 )
also # mount -o remount,size=7G,noatime /tmp
was enough to solve the issue in my case. (I beleive docker-compose tries to create a temporary archive around 5GB and my default tmpfs size is 4GB)
PS. onening this issue for future reference only, I've managed to run server on my old Asus k53sv with 8GB of RAM
OS: ArchLinux x86_64 (linux 4.17.2-1 & systemd 238.133-4)
Docker Version: 18.05.0-ce build f150324782
I installed the docker image for the first time and tried running it by following the step-by-step guid, but
after sending the command docker-compose up
there comes this error
bash: /opt/pwn3/server/creds: Permission denied
I tried using sudo but it made no difference.
Full docker-compose up
history bevor the error:
Lorem@Ispum:~/PwnAdventure3$ docker-compose up
Starting pwnadventure3_init_1 ... done
Starting pwnadventure3_master_1 ... done
Starting pwnadventure3_game_1 ... done
Attaching to pwnadventure3_init_1, pwnadventure3_master_1, pwnadventure3_game_1
master_1 | * Starting PostgreSQL 9.3 database server
pwnadventure3_init_1 exited with code 0
game_1 | FMallocCrash overhead is 3780608 bytes
game_1 | bash: line 1: 9 Segmentation fault ./PwnAdventure3Server
pwnadventure3_game_1 exited with code 139
master_1 | ...done.
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:1: ERROR: role "pwn3" already exists
master_1 | psql:/opt/pwn3/setup/postgres_init.sql:2: ERROR: database "master" already exists
master_1 | GRANT
master_1 | rm: cannot remove '/opt/pwn3/client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Saved/Logs/': No such file or directory
master_1 | No backup data found!
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | DROP TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE TABLE
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | CREATE INDEX
master_1 | INSERT 0 1
master_1 | INSERT 0 1
master_1 | UPDATE 1
master_1 | UPDATE 1
master_1 | Use the following team hash to join the admin team:
master_1 | 7509750a02d7438bb3ff***********
master_1 | CREATE TABLE
master_1 | DELETE 0
master_1 | INSERT 0 0
master_1 | DELETE 0
master_1 | DELETE 0
master_1 | DROP TABLE
master_1 | bash: /opt/pwn3/server/creds: Permission denied
Notes:
I researched about this and found out "libssl.so.1.0.0" has security issues thats why it has been removed.
My system:
Linux pop-os 5.3.0-20-generic #21+system76157230485419.10~8caa3e6-Ubuntu SMP Tue Oct 29 00:4 x86_64 x86_64 x86_64 GNU/Linux
`pwn@pwnie-server:~/PwnAdventure3$ docker-compose build
master uses an image, skipping
game uses an image, skipping
Building init
Traceback (most recent call last):
File "site-packages/docker/utils/build.py", line 97, in create_archive
File "tarfile.py", line 1972, in addfile
File "tarfile.py", line 250, in copyfileobj
File "tempfile.py", line 481, in func_wrapper
OSError: [Errno 28] No space left on device
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bin/docker-compose", line 6, in
File "compose/cli/main.py", line 72, in main
File "compose/cli/main.py", line 128, in perform_command
File "compose/cli/main.py", line 303, in build
File "compose/project.py", line 403, in build
File "compose/project.py", line 385, in build_service
File "compose/service.py", line 1106, in build
File "site-packages/docker/api/build.py", line 160, in build
File "site-packages/docker/utils/build.py", line 31, in tar
File "site-packages/docker/utils/build.py", line 100, in create_archive
OSError: Can not read file in context: /home/pwn/PwnAdventure3/client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Binaries/Linux/PwnAdventure3Server
[1373] Failed to execute script docker-compose`
this is my problem
What processes the circuit's state is the GameAPI::GetCircuitOutputs.
This function is missing from the GameLogic library.
For the offline mode it's implemented in the PwnAdventure3-[Plaform]-Shipping and calls a script in the game.
For online mode it's implemented in the GameServer.
What you are looking for is the CircuitFinalStage::Update function.
If you open it up in IDA this is what you get:
char __fastcall CircuitFinalStage::Update(CircuitFinalStage *this)
{
char v1; // al
char v2; // al
char v3; // al
char v4; // al
char v5; // r14
char v6; // bp
char v7; // si
char v8; // al
char v9; // r15
char v10; // r8
char v11; // dl
char v12; // r12
char v13; // r9
char v14; // dl
char v15; // al
char v16; // r11
char v17; // r13
char v18; // r10
char v19; // cl
char v20; // al
char v21; // r9
char v22; // al
char v23; // bl
char v24; // al
char v25; // si
char v26; // cl
char v27; // al
char v28; // dl
char v29; // al
char v30; // al
char v31; // al
char v32; // cl
char v33; // r11
char v34; // al
char v35; // al
char v36; // r13
char v37; // al
char v38; // dl
char v39; // al
bool v40; // zf
char v41; // al
char v42; // al
char v43; // al
char v44; // al
char v45; // dl
char v46; // al
char v47; // r14
char v48; // al
char v49; // cl
char v50; // bl
char v51; // r9
char v52; // r8
char v53; // r13
char v54; // si
char v55; // r11
char v56; // al
char v57; // cl
char v58; // dl
char v59; // r10
char v60; // al
bool v61; // r12
char v62; // bl
char v63; // r15
char v64; // al
char v65; // dl
char v66; // dl
char v67; // cl
char v68; // r9
char v69; // r14
char v70; // al
char v71; // al
char v72; // si
char v73; // r13
char v74; // cl
char v75; // r8
char v76; // cl
char v77; // bp
bool v78; // r12
char v79; // bl
char v80; // bp
char v81; // dl
char v82; // bl
char v83; // al
bool v84; // dl
char v85; // r11
char v86; // r10
char v87; // cl
char v88; // r9
char v89; // al
char v90; // al
char v91; // r15
char v92; // r15
bool v93; // r8
char v94; // cl
bool v95; // r9
char v96; // al
char v97; // cl
char v98; // al
char v99; // dl
char v100; // dl
bool v101; // si
char v102; // bl
char v103; // cl
bool v104; // cl
char v105; // al
char v106; // dl
char v107; // dl
char v108; // r8
char v109; // bl
char v110; // cl
bool v111; // r8
char v112; // r14
char result; // al
char v114; // dl
char v115; // bl
char v116; // cl
char v117; // [rsp+15h] [rbp-1Bh]
char v118; // [rsp+16h] [rbp-1Ah]
char v119; // [rsp+18h] [rbp-18h]
char v120; // [rsp+1Ah] [rbp-16h]
char v121; // [rsp+1Bh] [rbp-15h]
char v122; // [rsp+1Ch] [rbp-14h]
char v123; // [rsp+1Dh] [rbp-13h]
char v124; // [rsp+1Eh] [rbp-12h]
char v125; // [rsp+1Fh] [rbp-11h]
char v126; // [rsp+1Fh] [rbp-11h]
char v127; // [rsp+20h] [rbp-10h]
char v128; // [rsp+20h] [rbp-10h]
char v129; // [rsp+21h] [rbp-Fh]
char v130; // [rsp+21h] [rbp-Fh]
char v131; // [rsp+22h] [rbp-Eh]
char v132; // [rsp+22h] [rbp-Eh]
unsigned __int8 v133; // [rsp+23h] [rbp-Dh]
char v134; // [rsp+24h] [rbp-Ch]
char v135; // [rsp+24h] [rbp-Ch]
char v136; // [rsp+25h] [rbp-Bh]
char v137; // [rsp+25h] [rbp-Bh]
char v138; // [rsp+26h] [rbp-Ah]
char v139; // [rsp+27h] [rbp-9h]
char v140; // [rsp+27h] [rbp-9h]
char v141; // [rsp+28h] [rbp-8h]
char v142; // [rsp+29h] [rbp-7h]
unsigned __int8 v143; // [rsp+29h] [rbp-7h]
char v144; // [rsp+2Ah] [rbp-6h]
char v145; // [rsp+2Bh] [rbp-5h]
char v146; // [rsp+2Bh] [rbp-5h]
char v147; // [rsp+2Ch] [rbp-4h]
char v148; // [rsp+2Ch] [rbp-4h]
char v149; // [rsp+2Dh] [rbp-3h]
char v150; // [rsp+2Dh] [rbp-3h]
char v151; // [rsp+2Eh] [rbp-2h]
char v152; // [rsp+2Eh] [rbp-2h]
char v153; // [rsp+2Fh] [rbp-1h]
char v154; // [rsp+2Fh] [rbp-1h]
char v155; // [rsp+2Fh] [rbp-1h]
this->m_trace[23] = this->m_input[0];
this->m_trace[18] = this->m_input[1];
this->m_trace[13] = this->m_input[2];
this->m_trace[97] = this->m_input[3];
this->m_trace[106] = this->m_input[4];
this->m_trace[117] = this->m_input[5];
this->m_trace[129] = this->m_input[6];
this->m_trace[80] = this->m_input[7];
this->m_trace[76] = this->m_input[8];
v1 = this->m_input[9];
v124 = v1;
this->m_trace[69] = v1;
v2 = this->m_input[10];
v125 = v2;
this->m_trace[62] = v2;
v3 = this->m_input[11];
v123 = v3;
this->m_trace[55] = v3;
v4 = this->m_input[12];
v122 = v4;
this->m_trace[48] = v4;
v5 = this->m_input[13];
this->m_trace[42] = v5;
v6 = this->m_input[14];
this->m_trace[35] = v6;
v7 = this->m_input[15];
this->m_trace[29] = v7;
v8 = this->m_input[16];
v147 = v8;
this->m_trace[44] = v8;
v9 = this->m_input[17];
this->m_trace[37] = v9;
v10 = this->m_input[18];
this->m_trace[30] = v10;
v11 = this->m_input[19];
this->m_trace[25] = v11;
v12 = this->m_input[20];
this->m_trace[19] = v12;
v13 = this->m_input[21];
this->m_trace[15] = v13;
this->m_trace[98] = this->m_input[22];
this->m_trace[107] = this->m_input[23];
this->m_trace[119] = this->m_input[24];
this->m_trace[131] = this->m_input[25];
v13 ^= 1u;
v14 = v11 ^ 1;
v15 = this->m_input[26];
v117 = v15;
this->m_trace[81] = v15;
v16 = this->m_input[27];
this->m_trace[78] = v16;
v17 = this->m_input[28];
this->m_trace[71] = v17;
v18 = this->m_input[29];
this->m_trace[64] = v18;
v19 = this->m_input[30];
this->m_trace[57] = v19;
v20 = this->m_input[31];
v153 = v20;
this->m_trace[50] = v20;
this->m_trace[14] = v13;
v21 = this->m_trace[13] ^ v13;
this->m_trace[12] = v21;
v22 = this->m_trace[18];
v119 = v22;
if ( v22 )
v22 = v12;
v121 = v22;
this->m_trace[17] = v22;
this->m_trace[24] = v14;
v23 = this->m_trace[23];
v118 = v23;
if ( v23 )
v23 = v14;
v145 = v19;
this->m_trace[22] = v23;
v24 = v7;
v120 = v7;
if ( v7 )
v24 = v10;
v136 = v24;
this->m_trace[28] = v24;
this->m_trace[34] = v6 ^ 1;
v25 = 0;
this->m_trace[36] = v9 ^ 1;
v26 = 0;
if ( v6 != 1 )
v26 = v9 ^ 1;
this->m_trace[33] = v26;
this->m_trace[41] = v5 ^ 1;
this->m_trace[43] = v147 ^ 1;
v151 = 0;
if ( v5 != 1 )
v151 = v147 ^ 1;
v142 = v14;
v27 = 0;
if ( v124 != 1 )
v27 = v17 ^ 1;
v134 = v26;
v149 = 0;
if ( v125 != 1 )
v149 = v18 ^ 1;
v129 = v27;
v139 = v10;
v28 = v153 ^ 1;
v29 = v122;
if ( v122 )
v29 = v153 ^ 1;
v131 = v29;
this->m_trace[40] = v151;
this->m_trace[49] = v28;
v154 = v153 ^ 1;
this->m_trace[47] = v29;
v30 = 0;
if ( v123 != 1 )
v30 = v145 ^ 1;
v127 = v30;
this->m_trace[54] = v123 ^ 1;
this->m_trace[56] = v145 ^ 1;
this->m_trace[53] = v30;
this->m_trace[61] = v125 ^ 1;
this->m_trace[63] = v18 ^ 1;
this->m_trace[60] = v149;
this->m_trace[68] = v124 ^ 1;
this->m_trace[70] = v17 ^ 1;
this->m_trace[67] = v129;
v31 = this->m_trace[76];
this->m_trace[75] = this->m_trace[76] ^ 1;
this->m_trace[77] = v16 ^ 1;
v32 = 0;
if ( v31 != 1 )
v32 = v16 ^ 1;
this->m_trace[74] = v32;
v33 = v31 ^ v16;
this->m_trace[82] = v33;
if ( this->m_trace[80] )
{
v34 = v117;
if ( v117 )
v34 = v33;
v25 = v34;
}
this->m_trace[79] = v25;
v35 = 1;
if ( !v32 )
v35 = v25 & 1;
this->m_trace[73] = v35;
v36 = v124 ^ v17;
this->m_trace[83] = v36;
if ( v35 )
v35 = v36;
this->m_trace[72] = v35;
v130 = v35 | v129;
this->m_trace[66] = v130;
this->m_trace[84] = v125 ^ v18;
v37 = v130;
if ( v130 )
v37 = v125 ^ v18;
this->m_trace[65] = v37;
v150 = v37 | v149;
v38 = v122 ^ v28;
this->m_trace[59] = v150;
this->m_trace[85] = v123 ^ v145;
v39 = v150;
if ( v150 )
v39 = v123 ^ v145;
this->m_trace[58] = v39;
v40 = ((unsigned __int8)v39 | (unsigned __int8)v127) == 0;
v128 = v39 | v127;
this->m_trace[52] = v128;
this->m_trace[86] = v38;
v41 = v128;
if ( !v40 )
v41 = v122 ^ v154;
v133 = v125 ^ v18;
v155 = v122 ^ v154;
this->m_trace[51] = v41;
v40 = ((unsigned __int8)v41 | (unsigned __int8)v131) == 0;
v132 = v41 | v131;
this->m_trace[46] = v132;
this->m_trace[87] = v5 ^ v147;
v42 = v132;
if ( !v40 )
v42 = v5 ^ v147;
v146 = v123 ^ v145;
this->m_trace[45] = v42;
v40 = ((unsigned __int8)v42 | (unsigned __int8)v151) == 0;
v152 = v42 | v151;
this->m_trace[39] = v152;
this->m_trace[88] = v6 ^ v9;
v43 = v152;
if ( !v40 )
v43 = v6 ^ v9;
this->m_trace[38] = v43;
v40 = ((unsigned __int8)v43 | (unsigned __int8)v134) == 0;
v135 = v43 | v134;
this->m_trace[32] = v135;
this->m_trace[89] = v120 ^ v10;
v44 = v135;
if ( !v40 )
v44 = v120 ^ v10;
this->m_trace[31] = v44;
v45 = v44 | v136;
this->m_trace[27] = v44 | v136;
this->m_trace[90] = v118 ^ v142;
v46 = v45;
if ( v45 )
v46 = v118 ^ v142;
v148 = v5 ^ v147;
v137 = v45;
this->m_trace[26] = v46;
v47 = v46 | v23;
this->m_trace[21] = v46 | v23;
this->m_trace[91] = v119 ^ v12;
v48 = v47;
if ( v47 )
v48 = v119 ^ v12;
v144 = v119 ^ v12;
v49 = 0;
this->m_trace[20] = v48;
v50 = v48 | v121;
this->m_trace[16] = v48 | v121;
v51 = (v48 | v121) ^ v21;
this->m_trace[11] = v51;
this->m_trace[10] = v51 ^ 1;
v52 = this->m_trace[37];
this->m_trace[92] = this->m_trace[37] ^ 1;
v53 = this->m_trace[97];
v54 = this->m_trace[98];
v55 = v53 ^ this->m_trace[98];
this->m_trace[96] = v55;
if ( this->m_trace[13] )
v49 = this->m_trace[14];
v138 = v6 ^ v9;
v140 = v120 ^ v139;
v143 = v118 ^ v142;
this->m_trace[100] = v49;
v56 = 0;
if ( v50 )
v56 = this->m_trace[12];
this->m_trace[101] = v56;
v57 = v56 | v49;
this->m_trace[99] = v57;
this->m_trace[95] = v57 ^ v55;
v58 = v57 ^ v55 ^ 1;
this->m_trace[94] = v58;
v59 = this->m_trace[18];
v60 = this->m_trace[18] ^ 1;
v61 = 1;
this->m_trace[102] = v60;
this->m_trace[93] = v58 | v60;
if ( v51 == 1 )
v61 = v57 == v55 || v59 == 0 || v52 == 0;
this->m_trace[9] = v61;
v62 = this->m_trace[106];
v63 = this->m_trace[107];
v64 = v62 ^ this->m_trace[107];
this->m_trace[105] = v64;
v65 = v53;
if ( v53 )
v65 = v54;
this->m_trace[109] = v65;
if ( v57 )
v57 = v55;
this->m_trace[110] = v57;
v66 = v57 | v65;
this->m_trace[108] = v66;
v67 = v66 ^ v64;
this->m_trace[104] = v66 ^ v64;
if ( v66 )
v66 = v64;
v141 = v47;
if ( v62 )
v62 = v63;
v68 = v66 | v62;
v69 = v53 ^ 1;
v70 = this->m_trace[25] ^ 1;
this->m_trace[111] = v70;
v71 = v67 | v70;
this->m_trace[103] = v71;
v72 = this->m_trace[117];
v126 = v53;
v73 = v72 ^ 1;
this->m_trace[116] = v72 ^ 1;
v74 = this->m_trace[119];
v75 = v74 ^ v72;
v76 = v74 ^ 1;
v77 = (v66 | v62) ^ v75;
v40 = !v61;
this->m_trace[118] = v76;
this->m_trace[115] = v75;
this->m_trace[121] = v62;
this->m_trace[122] = v66;
this->m_trace[120] = v66 | v62;
this->m_trace[114] = v77;
this->m_trace[113] = v77 ^ 1;
this->m_trace[123] = v69;
this->m_trace[112] = v77 ^ 1 | v69;
v78 = 1;
if ( v40 )
v78 = v77 != 1 || v126 == 0 || v71 != 0;
this->m_trace[8] = v78;
v79 = this->m_trace[129];
this->m_trace[128] = this->m_trace[129] ^ 1;
v80 = this->m_trace[131];
this->m_trace[130] = this->m_trace[131] ^ 1;
if ( v68 )
v68 = v75;
v81 = 0;
if ( !v72 )
v81 = v76;
v82 = v80 ^ v79;
v83 = (v68 | v81) ^ v82;
this->m_trace[127] = v82;
this->m_trace[133] = v81;
this->m_trace[134] = v68;
this->m_trace[132] = v68 | v81;
this->m_trace[126] = v83;
this->m_trace[125] = v83 ^ 1;
v40 = v82 == ((unsigned __int8)v68 | (unsigned __int8)v81);
v84 = 1;
if ( !v40 )
v84 = this->m_trace[15] != 0;
this->m_trace[124] = v84;
v85 = this->m_trace[80];
v86 = this->m_trace[81];
v87 = v85 ^ this->m_trace[81];
this->m_trace[137] = v87;
this->m_trace[136] = v87 ^ 1;
this->m_trace[138] = v73;
v88 = 1;
this->m_trace[135] = v73 | v87 ^ 1;
if ( !v78 )
v88 = v84 || v87 == 0 || v72 == 0;
this->m_trace[7] = v88;
v89 = v85;
if ( v85 )
v89 = v86;
this->m_trace[141] = v89;
v90 = this->m_trace[82] ^ v89;
this->m_trace[140] = v90;
v91 = v63 ^ 1;
this->m_trace[142] = v91;
v92 = v90 | v91;
this->m_trace[139] = v92;
v93 = 1;
v94 = this->m_trace[83] ^ this->m_trace[73];
v40 = v88 == 0;
this->m_trace[145] = v94;
this->m_trace[144] = v94 ^ 1;
this->m_trace[146] = v85 ^ 1;
this->m_trace[143] = v94 ^ 1 | v85 ^ 1;
v95 = 1;
if ( v40 )
v95 = v94 == 0 || v85 == 0 || v92 != 0;
this->m_trace[6] = v95;
this->m_trace[149] = v133 ^ v130;
this->m_trace[148] = v133 ^ v130 ^ 1;
this->m_trace[147] = v80 | v133 ^ v130 ^ 1;
this->m_trace[151] = v146 ^ v150;
v96 = this->m_trace[69];
v97 = this->m_trace[69] ^ 1;
this->m_trace[152] = v97;
this->m_trace[150] = v97 | v146 ^ v150;
if ( !v95 )
v93 = (v133 ^ (unsigned __int8)v130) != 1 || v80 != 0 || v150 != v146 || v96 == 0;
this->m_trace[5] = v93;
this->m_trace[155] = v155 ^ v128;
v98 = v155 ^ v128 ^ 1;
this->m_trace[154] = v98;
v99 = this->m_trace[78] ^ 1;
this->m_trace[156] = v99;
v100 = v98 | v99;
this->m_trace[153] = v100;
v101 = 1;
this->m_trace[158] = v148 ^ v132;
v102 = this->m_trace[55];
v103 = this->m_trace[55] ^ 1;
this->m_trace[159] = v103;
this->m_trace[157] = v103 | v148 ^ v132;
v104 = 1;
if ( !v93 )
v104 = v132 != v148 || v102 == 0 || v100 != 0;
this->m_trace[4] = v104;
this->m_trace[162] = v138 ^ v152;
v105 = v138 ^ v152 ^ 1;
this->m_trace[161] = v105;
v106 = this->m_trace[64] ^ 1;
this->m_trace[163] = v106;
v107 = v105 | v106;
this->m_trace[160] = v107;
this->m_trace[165] = v140 ^ v135;
v108 = this->m_trace[42];
v109 = this->m_trace[42] ^ 1;
this->m_trace[166] = v109;
this->m_trace[164] = v109 | v140 ^ v135;
if ( !v104 )
v101 = v135 != v140 || v108 == 0 || v107 != 0;
this->m_trace[3] = v101;
this->m_trace[169] = v143 ^ v137;
this->m_trace[168] = v143 ^ v137 ^ 1;
v110 = 1;
v111 = 1;
if ( (v143 ^ (unsigned __int8)v137) == 1 )
v111 = this->m_trace[50] != 0;
this->m_trace[167] = v111;
v112 = v144 ^ v141;
this->m_trace[172] = v144 ^ v141;
result = v144 ^ v141 ^ 1;
this->m_trace[171] = result;
v114 = this->m_trace[29];
v115 = this->m_trace[29] ^ 1;
this->m_trace[173] = v115;
this->m_trace[170] = result | v115;
if ( !v101 )
{
result = v112 != 1;
v110 = v111 || v112 != 1 || v114 == 0;
}
this->m_trace[2] = v110;
v116 = v110 ^ 1;
this->m_trace[1] = v116;
this->m_trace[0] = v116;
return result;
}
Not nice, but can readable.
The CircuitFinalStage::GetOutputIndex tells you what trace to look for in m_trace. It's 0 in all 5 circuits.
the setup directory should be renamed to postgres-data to be able to run docker-compose up,
Hi,
Assuming that I followed the docker compose and got a server running properly, how can I backup and restore the database to a fresh new container?
I hope this repo active again on developing and issue resolving. Any idea what's going on?
I get this error after docker compose anyone can help me ?
~/PwnAdventure3$ docker-compose build
/usr/lib/python3/dist-packages/requests/init.py:87: RequestsDependencyWarning: urllib3 (2.0.5) or chardet (5.2.0) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File "/usr/lib/python3/dist-packages/docker/api/daemon.py", line 181, in version
return self._result(self._get(url), json=True)
File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 237, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 557, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 544, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 657, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/home/xoxo/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File "/home/xoxo/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 496, in _make_request
conn.request(
TypeError: HTTPConnection.request() got an unexpected keyword argument 'chunked'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 33, in
sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
command_func()
File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 200, in perform_command
project = project_from_options('.', options)
File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 60, in project_from_options
return get_project(
File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 152, in get_project
client = get_client(
File "/usr/lib/python3/dist-packages/compose/cli/docker_client.py", line 41, in get_client
client = docker_client(
File "/usr/lib/python3/dist-packages/compose/cli/docker_client.py", line 170, in docker_client
client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs)
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 197, in init
self._version = self._retrieve_server_version()
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 221, in _retrieve_server_version
raise DockerException(
docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument 'chunked'
Using the current version with a database backup feature that writes the database to data.sql
could lead to a mismatch between the game server and master server credentials.
Symptoms:
ps
will show the server running, but netstat
shows no listening server.During setup the master server creates a server account in the database and dumps the credentials into /opt/pwn3/server/creds
. The game server setup then uses these credentials to connect to the master server. So when the account in the postgres database doesn't match the credentials used by the game server, then the player is stuck in the Queue. The game server will show these errors:
[2018.05.23-17.09.59:124][358]LogGameLogic:Display: [Master server connect] Unable to connect to master server.
[2018.05.23-17.09.59:124][358]LogGameLogic:Display: Error connecting to master server: Unable to connect to master server.
[2018.05.23-17.09.59:259][362]LogGameLogic:Display: Error logging in to master server: Invalid username or password
[2018.05.23-17.09.59:286][363]LogGameLogic:Display: Error logging in to master server: Invalid username or password
Workaround:
# on the host system, get a shell for the master server
docker exec -i -t pwnadventure3_master_1 /bin/bash
# in the master container create a new server account. this will write new credentials in the database
cd /opt/pwn3/server/MasterServer/
su pwn3
./MasterServer --create-server-account
# output should show something like this:
Username: server_10520dxxxxxxx
Password: 80bc3de5abbxxxxxxxx
# leave the container now. back on the host:
# edit the creds file to contain these credentials. actually the server.ini is the important one, but let's make sure everything is synced.
cat ./server/creds
Username: server_10520dxxxxxxx
Password: 80bc3de5abbxxxxxxxx
# make sure the server.ini also contains these creds
cat ./client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Content/Server/server.ini
[MasterServer]
Hostname=master.pwn3
Port=3333
[GameServer]
Hostname=game.pwn3
Port=3000
Username=server_10520dxxxxxxx
Password=80bc3de5abbxxxxxxxx
Instances=3
# tear down the game server
docker-compose down game
# restart the game server
docker-compose up -d game
TODO:
somehow make sure the creds are also backuped and not overwritten or whatever.
part5_walking_speed_test.cpp.txt
fails with
Thread 1 "PwnAdventure3-L" received signal SIGSEGV, Segmentation fault.
0x00007ffff7bd674c in World::Tick (this=0x7acb950, f=0.0305555463) at part5_walking_speed.cpp:22
22 player->m_walkingSpeed = 999;
(gdb) bt
#0 0x00007ffff7bd674c in World::Tick (this=0x7acb950, f=0.0305555463) at part5_walking_speed.cpp:22
#1 0x00007ffff7461345 in GameAPI::Tick (this=0xbc49bd8, deltaTime=0.0305555463) at GameLogic.cpp:743
#2 0x0000000001405919 in ?? ()
#3 0x0000000000531a09 in ?? ()
#4 0x0000000000531045 in ?? ()
#5 0x000000000053126e in ?? ()
#6 0x00000000005d86e5 in ?? ()
#7 0x0000000001407762 in ?? ()
#8 0x0000000001406d93 in ?? ()
#9 0x000000000120839b in ?? ()
#10 0x000000000115a730 in ?? ()
#11 0x000000000049242a in ?? ()
#12 0x00000000004969da in ?? ()
#13 0x00007ffff61ba06b in __libc_start_main () from /usr/lib/libc.so.6
#14 0x000000000048f4cc in ?? ()
#15 0x00007fffffffdd28 in ?? ()
#16 0x000000000000001c in ?? ()
#17 0x0000000000000001 in ?? ()
#18 0x00007fffffffe0af in ?? ()
#19 0x0000000000000000 in ?? ()
Running 4 x86_64 processors (8 logical cores)
Exception was "SIGSEGV: invalid attempt to access memory at address 0x00001011"
When I start the game launcher, it freezes in the screen checking for updates and I don't know how to fix that. Anyone has been able to runnig the game
Output from docker-compose up
: ```
[+] Running 4/4
OS: Windows
When I run the command docker-compose up
after building successfully I get the error:
master_1 | bash: ./MasterServer: cannot execute binary file: Exec format error
I'm trying to setup this Pwn Adventure 3 server on a Raspberry Pi 4 with 4GB of RAM.
I of course looked at the internet for answers and what I found out was that you apparently can't run the Pwn Server on the RPi's ARM64 architecture?
Is there no way to run the server successfully on RPi?
Here is the whole output:
pwn3@ubuntu:~/PwnAdventure3$ docker-compose up Creating pwnadventure3_init_1 ... done Creating pwnadventure3_master_1 ... done Creating pwnadventure3_game_1 ... done Attaching to pwnadventure3_init_1, pwnadventure3_master_1, pwnadventure3_game_1 pwnadventure3_init_1 exited with code 0 master_1 | * Starting PostgreSQL 9.3 database server game_1 | bash: ./PwnAdventure3Server: cannot execute binary file: Exec format error pwnadventure3_game_1 exited with code 126 master_1 | ...done. master_1 | CREATE ROLE master_1 | CREATE DATABASE master_1 | GRANT master_1 | rm: cannot remove '/opt/pwn3/client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Saved/Logs/*': No such file or directory master_1 | No backup data found! master_1 | psql:/opt/pwn3/initdb.sql:1: NOTICE: table "users" does not exist, skipping master_1 | DROP TABLE master_1 | DROP TABLE master_1 | DROP TABLE master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:2: NOTICE: table "teams" does not exist, skipping master_1 | psql:/opt/pwn3/initdb.sql:3: NOTICE: table "team_state" does not exist, skipping master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:4: NOTICE: table "characters" does not exist, skipping master_1 | psql:/opt/pwn3/initdb.sql:5: NOTICE: table "char_items" does not exist, skipping master_1 | psql:/opt/pwn3/initdb.sql:6: NOTICE: table "char_slots" does not exist, skipping master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:7: NOTICE: table "char_quests" does not exist, skipping master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:8: NOTICE: table "char_pickups" does not exist, skipping master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:9: NOTICE: table "names" does not exist, skipping master_1 | DROP TABLE master_1 | psql:/opt/pwn3/initdb.sql:10: NOTICE: table "info" does not exist, skipping master_1 | DROP TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE TABLE master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | CREATE INDEX master_1 | INSERT 0 1 master_1 | INSERT 0 1 master_1 | UPDATE 1 master_1 | UPDATE 1 master_1 | bash: ./MasterServer: cannot execute binary file: Exec format error master_1 | CREATE TABLE master_1 | DELETE 0 master_1 | INSERT 0 0 master_1 | DELETE 0 master_1 | DELETE 0 master_1 | DROP TABLE master_1 | bash: ./MasterServer: cannot execute binary file: Exec format error master_1 | bash: ./MasterServer: cannot execute binary file: Exec format error pwnadventure3_master_1 exited with code 126 pwn3@ubuntu:~/PwnAdventure3$ ls Dockerfile README.md docker-compose.yml server tools LICENSE client postgres-data setup pwn3@ubuntu:~/PwnAdventure3$ cd server/ pwn3@ubuntu:~/PwnAdventure3/server$ ls GameServer MasterServer README creds pwn3@ubuntu:~/PwnAdventure3/server$ cd MasterServer/ pwn3@ubuntu:~/PwnAdventure3/server/MasterServer$ ls MasterServer initdb.sql server.crt server.key pwn3@ubuntu:~/PwnAdventure3/server/MasterServer$ file MasterServer MasterServer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=0279745823cef309cb0bc9a85ca686abbe61fa3f, with debug_info, not stripped pwn3@ubuntu:~/PwnAdventure3/server/MasterServer$ uname -a Linux ubuntu 5.4.0-1012-raspi #12-Ubuntu SMP Wed May 27 04:08:35 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux pwn3@ubuntu:~/PwnAdventure3/server/MasterServer$ ls MasterServer initdb.sql server.crt server.key pwn3@ubuntu:~/PwnAdventure3/server/MasterServer$
I am having an issue with both apt and pacman to get the private server operational. I have checked both apt repositories and pacmans to find openssl 1.0.0 and could not find that version in either. The version I do find is openssl-1.1.1 which has the dependencies:
libcrypto.so.1.1
libssl.so.1.1
I would love if you guys could guide me in the right direction or get this fixed, so more individuals can run a private server instead of using your resources.
mkdir /pwnadventure3/postgres-data
Problem:
[root@pwnadventure3 MasterServer]# ./MasterServer --create-server-account
./MasterServer: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Fix I tried:
[root@pwnadventure3 MasterServer]# cp /lib/libcrypto.so /lib/libssl.so.1.0.0
libcrypto.so libcrypto.so.1.1 libcrypto.so.3
[root@pwnadventure3 MasterServer]# cp /lib/libcrypto.so.1.1 /lib/libcrypto.so.1.0.0
[root@pwnadventure3 MasterServer]# ./MasterServer --create-server-account
./MasterServer: /usr/lib/libcrypto.so.1.0.0: version OPENSSL_1.0.0' not found (required by ./MasterServer) ./MasterServer: /usr/lib/libssl.so.1.0.0: version
OPENSSL_1.0.0' not found (required by ./MasterServer)
[root@pwnadventure3 MasterServer]# pacman -S openssl-1.0
error: target not found: openssl-1.0
[root@pwnadventure3 MasterServer]# pacman -Ss openssl
./MasterServer: /usr/lib/libcrypto.so.1.0.0: version OPENSSL_1.0.0' not found (required by ./MasterServer) ./MasterServer: /usr/lib/libssl.so.1.0.0: version
OPENSSL_1.0.0' not found (required by ./MasterServer)
-----------------------------------------------------
Tried fix on Ubuntu:
sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Outputted same:
./MasterServer: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
./MasterServer: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
I'm running the server in my home network. Which ports do I need to forward for it to be accessed from the internet?
So i see and write the code from the tcp proy but i've one issue, i can't establish a connection between my game and the proxy here: self.game, addr = sock.accept()
idk from where it comes
Thank you for your help
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.