Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Perfect World Server 1.5.5 In docker-compose

Initiate Mage
Joined
Feb 23, 2022
Messages
5
Reaction score
9
Hi, this is my project to make the Perfect World server easier to deploy! this will run every perfect world server subsystem in each container with separate MySQL server. This is to archive better scalability for each subsystem.

Description
- server version 1.5.5 build 2567
- simple user registration
- all subsystems are running on Ubuntu 18.04 images

You can run individual subsystems, since it's using different images
- ossperfectworld/perfect-world-authd
- ossperfectworld/perfect-world-gacd
- ossperfectworld/perfect-world-gamed
- ossperfectworld/perfect-world-gamedbd
- ossperfectworld/perfect-world-gdeliveryd
- ossperfectworld/perfect-world-gfactiond
- ossperfectworld/perfect-world-glinkd
- ossperfectworld/perfect-world-logservice
- ossperfectworld/perfect-world-uniquenamed

Installation

It's doesn't care about the operating system, as long as it can run docker & docker-compose, should be fine! tested in Ubuntu 18.04.

-
Install &
- clone this repository
Code:
git clone https://github.com/oss-perfectworld/perfectworld.git
- edit docker-compose.yaml, change `{PUBLIC_IP}` with your server public IP
Code:
    ports:
    - "{PUBLIC_IP}:29000:29000"
- run all services
Code:
 make up-perfectworld

Troubleshooting

Server Network Error
try to restart authd container by running this command
Code:
docker stop perfectworld-authd
docker start perfectworld-authd

currently, it does not support pwAdmin since pwAdmin`required modifying & executing to each subsystem. This is not possible in microservices, since we are running each subsystem in a different container.

Server Source Code: https://forum.ragezone.com/f751/pw-155-box-1154029/
Client Source Code: https://forum.ragezone.com/f751/share-original-pwi-client-1-a-1146119/

Example

Code:
docker ps -a                                   
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED         STATUS        PORTS                                                              NAMES
8f1f1c2238c9   ossperfectworld/perfect-world-gamed:latest              "sh /home/entrypoint…"   15 hours ago    Up 15 hours                                                                      perfectworld-gamed
9ad381a809d4   ossperfectworld/perfect-world-glinkd:latest             "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29001-29006/tcp, {PUBLIC_IP_REDACTED}:29000->29000/tcp, 29301-29307/tcp   perfectworld-glinkd
c8395b455d38   ossperfectworld/perfect-world-gdeliveryd:latest         "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29100/tcp, 29300/tcp                                               perfectworld-gdeliveryd
a0038b58bffd   ossperfectworld/perfect-world-gfactiond:latest          "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29500/tcp, 29600/tcp                                               perfectworld-gfactiond
1add617110c2   ossperfectworld/perfect-world-gacd:latest               "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29702/tcp, 29712/tcp                                               perfectworld-gacd
80a1ccf73994   ossperfectworld/perfect-world-gamedbd:latest            "sh /home/entrypoint…"   15 hours ago    Up 6 hours    29400/tcp                                                          perfectworld-gamedbd
ee43fa3f6a51   ossperfectworld/perfect-world-authd:latest              "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29200/tcp                                                          perfectworld-authd
a8a7cc108594   ossperfectworld/perfect-world-uniquenamed:latest        "sh /home/entrypoint…"   15 hours ago    Up 15 hours   29401/tcp                                                          perfectworld-uniquenamed
9aaf6fc7e858   ossperfectworld/perfect-world-logservice:latest         "sh /home/entrypoint…"   15 hours ago    Up 15 hours   11100/udp, 11101/tcp                                               perfectworld-logservice
8fffe4eeb53a   mysql:5.7                                               "docker-entrypoint.s…"   15 hours ago    Up 15 hours   3306/tcp, 33060/tcp                                                perfectworld-db
3c6c68becccd   ossperfectworld/perfect-world-website-register:latest   "apache2-foreground"     15 hours ago    Up 15 hours   80/tcp                                                             perfectworld-website-register
 
Last edited:
Initiate Mage
Joined
Feb 23, 2022
Messages
5
Reaction score
9
Hi, I am updating all of the docker images to support the timezone. Now you can settings which timezone your server will run. By default, it will run in Asia/Jakarta. You just need to update all environment variables in the docker-compose.yaml file to set to your specific timezone.


Why this is needed? because some events are running based on time. You need to set it to make sure you can enjoy the events!
 
Initiate Mage
Joined
Mar 15, 2022
Messages
1
Reaction score
0
Gostaria de saber se consigo rodar o servidor usando docker na arquitetura Linux ARM64 em uma máquina virtual, seria possível?
 
Initiate Mage
Joined
Feb 23, 2022
Messages
5
Reaction score
9
Gostaria de saber se consigo rodar o servidor usando docker na arquitetura Linux ARM64 em uma máquina virtual, seria possível?

not sure if it's can run in ARM64, I am only testing it on top of x86 only. I think it wont run, since I am using `i386/ubuntu:18.04` as the base image.
 
Initiate Mage
Joined
Feb 23, 2022
Messages
5
Reaction score
9
What is the advantage of you using a 32bit system in the container to run Perfect World?

I believe the binary itself is build on 32bit system. So to simplify things, I decide to use 32 bit Ubuntu 18.04
 
Joined
Jul 13, 2013
Messages
35
Reaction score
8
I understand, maybe there will be a new att for x64, because I ask if this becomes a public server for someone who will use this tool, the processing capacity will be much much less than an x64 architecture
 
Initiate Mage
Joined
Aug 9, 2022
Messages
2
Reaction score
0
Hello! I have a problem "Your current client program version is low. Please exit and update".
Server side using docker-compose from repo provided in this topic.
Client side from link in this thread too
 
Elite Diviner
Joined
Jan 5, 2017
Messages
475
Reaction score
345
Gshop.data files not synced between server and client...
Using a gshop editor, set the timestamp and save the gshop.data and gshop.sev files for each gshop.data, gshop1.data, etc files...
The .data files are client side, .sev are server side...
 
Initiate Mage
Joined
Aug 9, 2022
Messages
2
Reaction score
0
Thanks for answer! But I've copied .data files from server to the client.
Is there any guide for syncing gshop files?
Sorry, I'm newbie in pw serv development..
 
Back
Top