Are you on vmware or so? Itll def go slower there but ik there's some problems with xml in iweb.
Printable View
I am using VirtualBox too, but the server doesnt want start
First off: Great release, thanks for sharing with us. I appreciate it.
Also, I think I'll need your help regarding my server, set up locally.
It's working fine except for one thing:
Sometimes certain parts seem to drop in responsiveness (e.g. at IP/admin the "Server Configuration" tab takes forever to load and changes aren't being saved when clicking that "Save" button).
Another issue I have is that when that happens the server DCs (an) account(s) and refuses to let that one / those log back in again without a server restart. I'm not yet 100% sure since it doesn't happen all the time and isn't rly predictable, but I think the DC only happens to one account, which then also loses some progress (aka the savefile doesn't get updated when it happens). That specific account also is the only one with a character in the 7-days deletion period.
I know it's not the connection to that PC being interrupted or terminated, other clients running on that computer don't seem to fall victim to that occurrance.
Of course, when I restart the server it works fine again for at least a while.
Also, something I noticed is that in "Server Control" the Service "Game Link Daemon" sometimes only has 1 instance running and sometimes more (not sure if that helps, just seems a little awkward to me).
The Machine used as Server has an Intel Core i7 3610QM QuadCore @3.2GHz-3.3GHz (with boost), 16GB RAM, a Nvidia 560M graphics card and a 750GB HDD, just in case you're wondering about that.
On the Server I've installed v136 first, then v131, v146, v151 in that order since I wasn't sure if v151 would need v131 and v146.
I've set the active version to v151 using the "service pwversion 151" command.
I have NOT set any of the versions as service (since v151 would need 32GB for that).
On the Client I only installed the v151 itself.
Edit:
I just noticed that the other logged in accounts also get disconnected after a while, though in that time (about 30 minutes) those can interact normally and play just fine.
Edit 2:
I suspect that there have to be 4 "Game Link Daemon"s running for the server to work properly and that it somehow only starts 1 instead of the 4 at bootup and has to manually be stopped and restarted.
Edit 3:
It seems to work with manually restarting it on the server console (not over the network but by touching the actual server). Though I don't really have any clue why that is.
I'll update this post again if needed.
I haven't been on here in a while or posted much, but I feel this needs said.
I have been a member of this community for a number of years & posted, shared, liked, replied to, & helped whenever where ever I could. I have used 343's package for pretty much the entire time, since long before the current release. There are now 267 pages of replies & comments in this thread. I have shared the current build torrent 5,000 times only to see only 2 seeders on the torrent.
My daughter has been deving right beside me almost the entire time since she was 14. This package is the most complete straight forward release anywhere in this section and yet people are still having issues or can't comprehend what or how to do something. This is beyond sad in my opinion. If you are reading this post and are having issues, go back to page one and read from there back to this post. If after that you are still having issues and have yet to try anything yourself to fix it, start over again. Or you can do everyone a favor and just stop.
Yes a community is designed to help those just learning and this community used to be all about that, however it has turned into a bunch of newbie idiots that want all of the latest things fed to them on a silver spoon now. That's not how it works, and that is why most senior members have stopped helping. If this offends you or rubs you the wrong way oh well get over it and grow up.
Now that I'm done feel free to start whining that I should help instead of bashing/insulting.
thx 343 for a great release i was wondering im using navicat to ssl to mysql but its not working any help plz thx
thx for the advice i got it working
So I re- downloaded this package, and saw a addition of the 1.5.1 server files and client,(deleted everything pw related sometime ago), installed 1.3.6, then 1.5.1, got everything running pwAdmin works, 'cept for xml editing, same as the release i was using before, iweb works, my guess is that it is memory dependent, this discussion was held somewhere on this forum, those of you that want to 'toy' with a server should do so on 1.3.6 if 8GB is all you can allocate, also winscp should be installed after you;
1. update your ubuntu installation.
2. apt-get install openssh-client
3. apt-get install openssh-server
launch winscp, fill in your server's ip (ifconfig in your server's terminal) and your server's password.
login as root.
hope this helped.
I have a couple of questions not sure if they have been answered but I did search for answers and did not come up with anything.
1) with 343's 1.3.6 release I tried to do a mysqldump but it said that it was not installed and when I tried to install it, there were a bunch of errors about dependencies that would have to be updated. Is there a way to install mysqldump with 343's release?
2) Is there a way to do an automatic backup of character data I did read something dealing with the crontab but it was putting it into a .tar file is there another way of doing that or is that the best way.
3) Where can you find the death messages of the monsters to edit what they say when they die?
I'll admit I'm ecstatic that someone is still interested in v136 (other than myself)! So (and while) I would normally "chew people out" if they've asked something that's been asked a lot - I honestly can't even remember whether I've answered these before or not. So I will go ahead and help ya :D
1) My release uses XAMPP which (ofc) does have MYSQLDUMP so that you can back up the game DB's
2) Yes you could do an auto backup at whatever interval you wanted (every second, every minute, every hour, every day, every week, every month, etc etc etc.) by using crontab - you'd just modify your crontab to include a command or script to do so! (example to follow)
3) OMG I do not remember off hand to be honest. Have you tried using something like 010 editor "find in all files" and typing in a search string for what you'd like to find? I'll tell ya what, I'll even go take a look later today and get back to ya! But I will say, if (which it most likely is) it is inside one of the .PCKs you'd have to extract them all in order for a search using this method to be effective (which I already have done for CPW conveniently enough)
example & guide (from #2 ):
There's actually a built in guide in the release to help out with setting crontab up! Navigate to http://yourIP:8080/pwAdmin/AA/ (URLs ARE case sensitive do not forget!). There you will see exactly how you'd have to set up crontab to run said "backup" every time you wanted it to run, whether that was hourly, daily, weekly, monthly, yearly, @ReBoot, every 5 mins, 1 min past every hour, daily @ 8:17, 4:00 every SUN, 4:42 every 1st of the month, hourly on the 19th of July! You can really customize crontab to run it EXACTLY when and the frequency of when you want to run something! So, for example, we'll go with once a week. I'd create the actual script to perform the backup, and tell cron to run it once per week! (if this was an actual live server I'd probably make sure this was scheduled for when the server was down so that it did NOT interfere with play/the server!) So to do that you'd add something like the following line to crontab:
0 0 * * 0 root /etc/cron.pw/136/BgameDB.sh # Run backup once a week [@weekly]
Where the actual contents of the file (BgameDB.sh) would simply be your command(s) to perform the backup that will now be ran once per week!
Example contents of (BgameDB.sh) bear in mind you can call it whatever the fuck you want to! Just make sure crontab has the right name (whatever you name it)[duh]
#!/bin/sh
#make a bz2 tar of the gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
tar -cjf /gameDB.bz2 *
#make a bz2 tar of the unameDB
cd /PWServer/136/uniquenamed/uname/dbdata/
tar -cjf /unameDB.bz2 *
#backup mysqlDB too
cd /opt/lampp/bin/
./mysqldump --opt -Q -uroot -proot "dbo" > /dboMySQL.sql
#archive with timestamp
cd /
mkdir /BACKUP_ARCHIVE
archive_name=gameDB.bz2
archive2_name=unameDB.bz2
archive3_name=dboMySQL.sql
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_filename=$archive_name.$current_time
new2_filename=$archive2_name.$current_time
new3_filename=$archive3_name.$current_time
cp $archive_name $new_filename
cp $archive2_name $new2_filename
cp $archive3_name $new3_filename
mv $new_filename /BACKUP_ARCHIVE
mv $new2_filename /BACKUP_ARCHIVE
mv $new3_filename /BACKUP_ARCHIVE
That would be the simple solution to your inquiry...
Oh that and, I'm moving this to the proper thread :wink:
Thank you 343,
I have been banging my head upon my desk so much that I think the desk is warping a little. Now I have to do a little more researching to see if I can find out how to make the server reboot itself at a scheduled time and start back up again after the database has been backed up.
Simple, tell the "installer" I made (when you're installing) that "NO" you do NOT want it to run as a system service/daemon and modify my above example script to be as follows:
#!/bin/sh
#make a bz2 tar of the gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
tar -cjf /gameDB.bz2 *
#make a bz2 tar of the unameDB
cd /PWServer/136/uniquenamed/uname/dbdata/
tar -cjf /unameDB.bz2 *
#backup mysqlDB too
cd /opt/lampp/bin/
./mysqldump --opt -Q -uroot -proot "dbo" > /dboMySQL.sql
#archive with timestamp
cd /
mkdir /BACKUP_ARCHIVE
archive_name=gameDB.bz2
archive2_name=unameDB.bz2
archive3_name=dboMySQL.sql
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_filename=$archive_name.$current_time
new2_filename=$archive2_name.$current_time
new3_filename=$archive3_name.$current_time
cp $archive_name $new_filename
cp $archive2_name $new2_filename
cp $archive3_name $new3_filename
mv $new_filename /BACKUP_ARCHIVE
mv $new2_filename /BACKUP_ARCHIVE
mv $new3_filename /BACKUP_ARCHIVE
#assuming server is NOT running during backup, now start server
service PW start
That would take care of automatically starting the server back up after the backup is complete, however you'd still have to figure out how you're going to cause it to reboot to take said backup at specified intervals. I'd also recommend just running the above sample script (or one like it to better suit you if you decide to make your own) like this:
@ReBoot root /etc/cron.pw/136/BgameDB.sh # Run backup @ReBoot (or any time the cron daemon is started/re-started)
Instead of at a specified time, as you'd want to set the server to reboot at specified times which in turns will run your backup and subsequently restart the server! Now, at least for a production environment server I wouldn't necessarily recommend using /etc/cron.pw/136/stopPW.sh or "service PW stop" because that performs a "harsh" shutdown (which may be dangerous for the DB itself!), so you'd want to find your own way to "safely" shutdown the server before performing the reboot (which will in turn run this backup and restart the server). One such example below (backupreboot.sh):
#!/bin/sh
#you'll have to come up with your own method to "SAFELY" shutdown the server HERE
#or uncomment the following line to use my "harsh" method
#service PW stop
reboot
And run that in crontab as follows (of course however frequently you want this to happen - I just use weekly as an example!):
0 0 * * 0 root /etc/cron.pw/136/backupreboot.sh # Run once a week [@weekly]
All you have to do is come up with a method to safely shut down the game services before the system reboots and will then subsequently take a full DB backup and restart the game services!
Now the fun part for you, finding out how to SAFELY shut down the game services! Admittedly I've never ran a production environment server, so I haven't personally cared much about "SAFE" shutdowns (hence my "brutal" method of "just getting it done" using KILL/PKILL). If you don't mind risking the data (and it's integrity) you could use the "harsh" method as I've included with the release, just tell it to run "service PW stop" or /etc/cron.pw/136/stopPW.sh (they both do the same thing)... That /would/ "get the job done", but you may be putting the gameDB data "at risk" :wink:
Once again I want to thank you 343 for your help, as I have stated I have been racking my brain on this for about a month and I even had my wife helping me search the forums for information that may be beneficial.
Hit da like button if I helped ya :wink: :D:
Hi guys,
I'm having troubles (mainly network-related) setting up the server correctly, could you please help with it?
I have a server with a single IP, and installed ubuntu on a virtual machine (KVM, if that's important) there. So, this virtual machine has network access using NAT, and has an IP address in this NAT. When setting up the server, I was asked about LAN and WAN IP addresses, and I'm not sure what to enter there.
When I tried using the NAT IP address of the machine with ubuntu, the web pages (at least, / and /admin URLs) became accessible from the virtual machine itself and from the server. But how can I use it from my PC? I tried forwarding ports using SSH like ssh -L 80:<NAT IP>:80 user@server and it worked partially: localhost/admin page redirects to <NAT IP>:8080/pwAdmin, which is clearly not accessible from my PC.
So, the question is - how to set up PW to work in such environment? I wouldn't like to make it directly available at <server IP>, because the server has many other uses and the PW will be private, for friends.
Okay I'm gonna start all over, sorry, this is why I shouldn't "forum" when I first wake!
Noticed you said VM. You do not want to set the VM to "NAT" you want to set it to "bridged" and tick "replicate physical"
That way it will be like it's it's own machine - it will get it's own LAN IP...
Attachment 151595
Simple, control access using either a physical hardware firewall or IPTABLES... Either way the server has to either be public or not public, it can't be both. To make it available to the WAN it will have to be PUBLIC, but if you only want certain people to connect (not "FULL" public) you control access using a hardware firewall, or at least IPTABLES... There's NO reason to attempt to get overly complicated and start using crap like SSH/SSL/VPN when you can set up the server to be public, and restrict access using a firewall and or IPTABLES...!Quote:
So, the question is - how to set up PW to work in such environment? I wouldn't like to make it directly available at <server IP>, because the server has many other uses and the PW will be private, for friends.
- - - New Post - - -
I do apologize but I've given you some bunk information (well, not so much bunk as I just failed to mention something / left something out) - but it's VERY important!
For doing a backup of the MySQL DB (dbo) you will want to make SURE you also use the flag --routines
VERY VERY VERY important! So here is a corrected version of the last example I gave you:
#!/bin/sh
#make a bz2 tar of the gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
tar -cjf /gameDB.bz2 *
#make a bz2 tar of the unameDB
cd /PWServer/136/uniquenamed/uname/dbdata/
tar -cjf /unameDB.bz2 *
#backup mysqlDB too
cd /opt/lampp/bin/
./mysqldump --opt -Q --routines -uroot -proot "dbo" > /dboMySQL.sql
#archive with timestamp
cd /
mkdir /BACKUP_ARCHIVE
archive_name=gameDB.bz2
archive2_name=unameDB.bz2
archive3_name=dboMySQL.sql
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_filename=$archive_name.$current_time
new2_filename=$archive2_name.$current_time
new3_filename=$archive3_name.$current_time
cp $archive_name $new_filename
cp $archive2_name $new2_filename
cp $archive3_name $new3_filename
mv $new_filename /BACKUP_ARCHIVE
mv $new2_filename /BACKUP_ARCHIVE
mv $new3_filename /BACKUP_ARCHIVE
#assuming server is NOT running during backup, now start server
service PW start
- - - New Post - - -
It may also be worth mentioning that - while I would still recommend taking a backup of ALL of the DB's - when / if / whenever you go to RESTORE the DB's (from the backups) you do NOT need to restore the uniquenamed DB. If I recall correctly the uniquenamed daemon will crash if you even try. So while it appears to be not necessary to back up, I (being the anal retentive prick that I am) would back it up anyway in case there are any "new developments" in the future!
With that being said, the same will happen with the gamedbd and I remember it's related to the file CLSCONFIG inside the gamedb directory. The first method I found (without having to worry about messing with clsconfig and it's config/importing etc) would be to WIPE the DB if there is one (with the server off of course), which is done by simply deleting the files in the gameDB directory. Then starting the gamedbd daemon - doing this it creates a new game database (all of the files that comprise the DB). Then killing the gamedbd daemon and copying / overwriting EVERYTHING EXCEPT the clsconfig (allow the one it just created to stay and/or NOT get overwritten). Here I'll show you an example script for performing a restoration too below (restore.sh):
#!/bin/sh
#restore dboMySQL
/opt/lampp/bin/mysqladmin -uroot -proot -f DROP "dbo";
/opt/lampp/bin/mysqladmin -uroot -proot CREATE "dbo";
/opt/lampp/bin/mysql -uroot -proot "dbo" < /BACKUP_ARCHIVE/dboMySQL.sql
#restore gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
rm -R *
cd ../..
./gamedbd gamesys.conf > /dev/null &
sleep 15
pkill -9 gamedbd
cd /BACKUP_ARCHIVE
mkdir temp
tar -xjf gameDB.bz2 -C ./temp
cd temp
rm clsconfig
mv * /PWServer/136/gamedbd/dbhomewdb/dbdata/
rm -R /BACKUP_ARCHIVE/temp
#assuming server is NOT running during restore, now start server
service PW start
Although the way I just wrote that up it will be looking for a file that doesn't exist (from the backup) SO, to have both examples work together you'd have to use the following (modified yet again) backup script:
#!/bin/sh
#make a bz2 tar of the gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
tar -cjf /gameDB.bz2 *
#make a bz2 tar of the unameDB
cd /PWServer/136/uniquenamed/uname/dbdata/
tar -cjf /unameDB.bz2 *
#backup mysqlDB too
cd /opt/lampp/bin/
./mysqldump --opt -Q --routines -uroot -proot "dbo" > /dboMySQL.sql
#archive with timestamp
cd /
mkdir /BACKUP_ARCHIVE
archive_name=gameDB.bz2
archive2_name=unameDB.bz2
archive3_name=dboMySQL.sql
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_filename=$archive_name.$current_time
new2_filename=$archive2_name.$current_time
new3_filename=$archive3_name.$current_time
cp $archive_name $new_filename
cp $archive2_name $new2_filename
cp $archive3_name $new3_filename
mv $new_filename /BACKUP_ARCHIVE
mv $new2_filename /BACKUP_ARCHIVE
mv $new3_filename /BACKUP_ARCHIVE
mv gameDB.bz2 /BACKUP_ARCHIVE
mv unameDB.bz2 /BACKUP_ARCHIVE
mv dboMySQL.sql /BACKUP_ARCHIVE
#assuming server is NOT running during backup, now start server
service PW start
My dedicated server has only one public IP, and as I understand using "bridged" here requires another IP - for this VM?
The problem is I need to use ports 80 and 8080 of my server for other purposes (29000 is ok, btw). So, this requires changing them in the PW server (not sure how), or forwarding using ssh, for example. We are tech-savvy persons, so ssh for port forwarding would be OK for my case :)
I think I get it a little better now. I presume you're renting a server that is a non Linux OS, and you're running a VM for Linux/PW? Being limited to ONE IP, would kill any area I'd be able to help in sadly. I am used to only having one PUBLIC IP myself on my residential connection, however I'm used to having a router (NAT device) so that I can connect "as many" further devices as I want. If you're renting a machine (presumably in a data center) and you have ONE device, ONE IP, and it's not behind any kind of NAT device/router - I don't know that I'll be able to help TBH. For me "sharing" port 80 is no problem because, despite having ONE WAN IP, I have a router, and a million computers and servers. I actually DO host multiple sites on port 80 too, even on different machines behind the NAT, but that's EASY using ReverseProxy. Example:
# This part is for internal LAN forwarding : 80
<VirtualHost *:80>
ServerName www.domain.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://10.2.0.6/
ProxyPassReverse / http://10.2.0.6/
</VirtualHost>
This config (for apache httpd) allows the following to happen: Incoming request from the WAN for www.domain.com (port 80) comes into my router/NAT device - my router NAT device sees that all incoming port 80 goes to LAN machine 10.2.0.1, so the request goes to 10.2.0.1 but that machine sees that www.domain.com is actually being hosted on internal LAN machine 10.2.0.6 (because of the above config), so it forwards that request (transparently to the "end user") to machine 10.2.0.6.
But again, if you're hosting (renting) at a data center, a single machine with a single IP available - that will do you no good!
Although (epiphany) you could probably host all the web stuff on the main machine instead of the VM and use <virtualhost> to separate the domain names... I still wouldn't even begin to pretend to know what to tell you for the VM and "sharing" the main host machines IP though (so that 29000 for PW works and gets sent to the VM).
Either way, at least to me, it certainly looks like a bind to be in! Although this is mainly because you're limited to ONE IP, for ONE machine, that isn't behind a router/NAT device (of your controlling)... Because even if you set up all the web stuff (and MySQL) on the HOST OS, I'm not sure how you'd get, for example, MySQL and AUTHD to "talk" (which is NECESSARY for game operation)...
I have to take off for now but, if I come up with anything I'll post back, and or hopefully someone that may be knowledgeable in "sharing" an IP between the host OS and guest OS can chime in on this one!
- - - NEW POST - - -
Okay, I know I've posted a LOT and I'm hoping you didn't lose track! :lol: So I will post up the most pertinent parts for you in THIS post. (with the most updated modifications since I know I've made a TON)!
First: To address taking a backup, you want to make the machine reboot to do this (because it will be set to automatically take backups @ReBoot)
backupreboot.sh
modify/add the following line to crontab to make this "reboot" for backup happen once per week as follows (and make sure to put the above script in /etc/cron.pw/136/)Code:#!/bin/sh
#you'll have to come up with your own method to "SAFELY" shutdown the server HERE
#or uncomment the following line to use my "harsh" method
#service PW stop
reboot
Now that we've set the machine up to reboot once per week, we need to actually set up the backup part/process:Code:0 0 * * 0 root /etc/cron.pw/136/backupreboot.sh # Run once a week [@weekly]
PWbackup.sh
and we'll set this to happen automatically whenever the machine boots (or crontab starts or is restarted)(and make sure to put the above script in /etc/cron.pw/136/)Code:#!/bin/sh
#make a bz2 tar of the gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
tar -cjf /gameDB.bz2 *
#make a bz2 tar of the unameDB
cd /PWServer/136/uniquenamed/uname/dbdata/
tar -cjf /unameDB.bz2 *
#backup mysqlDB too
cd /opt/lampp/bin/
./mysqldump --opt -Q --routines -uroot -proot "dbo" > /dboMySQL.sql
#archive with timestamp
cd /
mkdir /BACKUP_ARCHIVE
archive_name=gameDB.bz2
archive2_name=unameDB.bz2
archive3_name=dboMySQL.sql
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
new_filename=$archive_name.$current_time
new2_filename=$archive2_name.$current_time
new3_filename=$archive3_name.$current_time
cp $archive_name $new_filename
cp $archive2_name $new2_filename
cp $archive3_name $new3_filename
mv $new_filename /BACKUP_ARCHIVE
mv $new2_filename /BACKUP_ARCHIVE
mv $new3_filename /BACKUP_ARCHIVE
mv gameDB.bz2 /BACKUP_ARCHIVE
mv unameDB.bz2 /BACKUP_ARCHIVE
mv dboMySQL.sql /BACKUP_ARCHIVE
#assuming server is NOT running during backup, now start server
service PW start
There you have it, with the above modifications/additions your server will reboot and take a backup / archive backups AND restart the server daemons once per week!Code:@ReBoot root /etc/cron.pw/136/PWbackup.sh # Run backup @ReBoot (or any time the cron daemon is started/re-started)
If you need to restore the backup(s) the following script will automatically restore the LATEST backup taken and stored in /BACKUP_ARCHIVE
restore.sh
that one (restore.sh) can be placed anywhere you want it, /root or /BACKUP_ARCHIVE or anywhere - it doesn't matter as it will run the same from anywhere you put it! Just make sure the game server daemons are NOT running when you do a restore!!!Code:#!/bin/sh
#restore dboMySQL
/opt/lampp/bin/mysqladmin -uroot -proot -f DROP "dbo";
/opt/lampp/bin/mysqladmin -uroot -proot CREATE "dbo";
/opt/lampp/bin/mysql -uroot -proot "dbo" < /BACKUP_ARCHIVE/dboMySQL.sql
#restore gameDB
cd /PWServer/136/gamedbd/dbhomewdb/dbdata/
rm -R *
cd ../..
./gamedbd gamesys.conf > /dev/null &
sleep 15
pkill -9 gamedbd
cd /BACKUP_ARCHIVE
mkdir temp
tar -xjf gameDB.bz2 -C ./temp
cd temp
rm clsconfig
mv * /PWServer/136/gamedbd/dbhomewdb/dbdata/
rm -R /BACKUP_ARCHIVE/temp
#assuming server is NOT running during restore, now start server
service PW start
No you have not lost me yet 343 and its a lot of great information and just goes to show how much more I have to learn to be a good server admin. I do have a question for you though the map q20 was that something you designed as well as z9?
Sorta, but not really. I didn't actually "make" them (if that's what you mean), they are "borrowed" from Jade Dynasty I think it was. I didn't put any actual "design" effort into them, and they're just blank maps for the "end user" of my package to be able to make their own customizations, and at least slightly set them apart from any others who may be running this release... Although I do have plenty of "ideas" for q20 or z9, I have never even made "my own" from those ideas... Same for some of the other blank maps included in this release, such as "house" (the "guild house") or the variants of that map that there are for the different major territories. "Guild Base" is also "borrowed" from a newer version of PW (obviously, wasn't in 136), and is also empty. JAIL is a totally custom map, in the respect that I came up with the idea of putting players in there (so they're STUCK in there) if or when they deserve punishment - rather than "banning" them - it too is empty and ready for customization. The only map that I implemented WITH my ideas was the perfect chapel. I "borrowed" the perfect chapel from a newer version of PW, and since the older version of PW obviously doesn't have all the mechanics the newer version has it's almost pointless TBH. If I recall correctly there's nothing special about it other than I moved the NPC to get married at inside there, so now you do have to go INSIDE the chapel to get married... Something like that... But if I do recall correctly there's no like "wedding quests" or anything like there is whenever they implemented it on official PWI...
Yea there's actually TONS of "easter eggs" if you hunt them down in the v136 of this release! That's my FAV version and I have been slowly adding and adapting that said release since the year 2009. So the version that the release is right now, is a culmination of my work of the last 6 years! Sadly, I couldn't tell you all of said "easter eggs" even if I wanted to because granted in the beginning I tried to keep "changelogs" that became too tedious for me to do, and I ceased and deleted any existing "changelogs"! So, no "changelogs" exist, I'll admit there's probably even shit in there that *I* forgot is there! :lol:
On topic, of maps - I do have a tut floating somewhere around here that explains how to "clone" a map too :wink: Like how I cloned City of Abominations and made a "JAIL" map out of that! It's actually REALLY simple to clone a map, so that it can be it's own map - for it's own NPCGEN etc... For massive game customization :wink:
- - - Updated - - -
/Also on topic/
If I knew of a way to actually EDIT or MAKE maps, OMG - I would be a pig in shit, because I used to do level design for some of the more popular FPS games. If I could MAKE or even so much as actually EDIT the actual MAP itself. /drool - like I said, I'd be a pig in shit.
Sadly a few things I never did learn about v136 - and have come to accept that I probably never will:
- how to control big/small jump (the difference in jumping IE in world map vs dungeons)
- how to MAKE/EDIT maps (the actual format of maps)
- how to directly access the gameDB (it would be nice to access the gameDB in the same manner one accesses MySQL or any other DB [to have "raw" access to the tables/columns/rows/data])
I think some of the stuff that I found from your release is pretty cool, I just wish I knew more about the server management than I currently do. I did find out I think how to safely shutdown services but I have not had a chance to actually test it out yet as I need to do a little more research. I also was meaning to ask you if you still run a server or not?
343, I just wanted to comment that your previous post about auto backups is pure gold to me, so thanks a lot!
Really well explained, with code and all.
I would also like to comment on a separate issue im having:
Im using the 1.4.6 version of your pack, everythings works fine, easy installation etc.
I recently switched the parameter "pvp = 1" in "gamesys.conf" to make the server PvP instead of the default PvE. Now all the characters (old and new) that are below lvl 30, have their name in white and their auto attack stops automatically after a couple of hits. This only happens in these conditions. If i revert to PvE and create a new character, its name is in blue and auto attacks work just fine.
Am i missing something basic or is this just a possible bug? I now you don't care to much about anything thats not 1.3.6 but maybe this happens there as well (haven't tried myself as i don't have a running 1.3.6 right now)
Thanks!
I've actually never ran a public PW server :O :lol:
No, but in all seriousness I doubt there'd be much if ANY demand for the type of server I would run... That is, I would probably run a next to bone stock server, and probably not even have regularly scheduled updates of any kind. With the main exception being for guild icons, and even that would be a stretch TBH... It is just not something I've ever had the time to invest in, doing it as a hobby here and there, sure - but to have a 'playerbase' that count on me for stuffs (like updates, and "new content"); just not happening. I would consider running a "stock" server if I knew there was actually a demand for it though... But again, I doubt there's any much such demand for something like that...
If I was wrong and there was any "demand" for a nostalgic server that would never or almost never 'update' - then yea, I'd consider running one. But I also don't see that being possible when people can download my release and run their own... Because my "nostalgic" server would pretty much be what my release is, with no real future expansion plans (and yes it'd HAVE to be v136)!
Not sure, never tried switching from PVE to PVP or PVP to PVE once a DB has been established... That could be the 'problem'. You'd have to create another one and make sure the change those settings as you see fit prior to starting up the server and establishing the gameDB... That or just bad luck and something in one of the DB's is corrupt =\ Then again, I've never had a single instance of any server (even my own packages) running more than a week before they get deleted and I start a fresh. Most of my testing I do with a "virgin" set of files as to make sure other things don't affect my testing... And is the primary reason I have installed the package almost if not literally a million times! There have been days I recall installing/testing/deleting - rinsing, lathering, and repeating - in upwards of 25-50+ times in one day...!
I'd say create another server (VM?) and start testing... What does sound a little odd is regardless of PVE or PVP server, players are blue / non PVP until level 30 no matter which type of server you're/they're on... Which kinda makes me wanna lean toward corrupted data somewhere, so no matter what you do that DB may just be "bad"... IDK, time to start some tests for you :wink: I don't imagine they made it with being able to change between PVE and PVP server "on the fly" as "official" servers get set and BAM - that's it, for as long as that server is open... But yea, I'm gonna lean toward a corrupted DB, and the switching from PVE to PVP server may very well have been what caused said corruption... Not sure at all on that, so don't hold me to it...! Does going back to/staying on PVE resolve any 'problem' for existing toons? or does it have to be a newly created toon to not have 'problems'? If old/existing toons are still "broke" after putting it back to PVE then I'd surely say "it's almost definitely DB corruption"! If new AND old toons "work" when you go back to/stay in PVE server mode then I'd think there's somehow data on that (the server type PVE vs PVP) in the DB/toon data. Which I would not be able to confirm or deny with as little as we know about the actual internal contents of the gameDB! But if *everything* works just fine when you go back to/stay on PVE mode that would be indicative that, the DB/toon data is now exclusive to being in PVE server mode... (wouldn't really mean it is corrupt, but would mean it HAD to be used on a server in PVE mode)... However, I'm still gonna take a wild guess that, that's not the problem - and it's corrupted data/DB... =\
And to touch base on the first 1/2 of this post - knowing all that I know about PW now I'd also HAVE to run a PVE server if I ever did run one. That's based on personal bias of course!!! See prior to PW I was an MMO "virgin" myself. When I started playing official PW, I rolled PVP (under the not being a "carebear" principle) upon some "light" guidance from seasoned friends... Well knowing what I know now, I would have SURELY rolled a PVE server... As I learned, most other games of the genre (MMORPG) if you roll a server, that's pretty much what you get - PVE servers are REALLY PVE servers, and PVP servers are REALLY PVP servers. Well, in MY opinion PW breaks the mold on that one. In my opinion PVP gets the short end of the stick because you as a player cannot switch between modes (enter griefing), while in PVE mode (for PW) you can actually opt in or opt out (be blue or white name) depending on what you want to participate in... Getting ganked/griefed a lot? Simple, click da button go back to a blue name if you're on a "PVE" server. Not possible on a PVP server... Sure it's all a part of the game, but even most other games don't have full open world PVP like PW either... So I could see that being a headache even for someone who normally enjoys PVP, if all they're trying to do is PVE at the moment! So again, I'd 100% positively run a ("bone stock") PVE server if I ever were to run one! That way I could rest assured that ganking/griefing wouldn't be an issue, because the carebears could stay blue all the time and never go white. Or if someone is getting 'harassed' they simply "go blue"... Of course the cooldown to switch between the two modes totally makes sense to me too. As that will discourage switching "on a whim"!
Ok, im gonna run some test later and report back any useful info.
In regards toWhen swapping back to PvE, existing characters below lvl 30 still have white name and the PK switch button is locked and tells to wait 10 hours to switch back to PvE. Also the auto-attack problem persists on this chars, but i guess it is because they have not come to blue names yet (ill have to wait those 10 hours i guess ^^)Quote:
Does going back to/staying on PVE resolve any 'problem' for existing toons? or does it have to be a newly created toon to not have 'problems'?
When you say that you usually reinstall the package, do you mean you destroy/uninstall absolutely everything and reinstall it? or just wipe the DB or something like that?
I would presume that he would wipe everything and start fresh, I can say that I have had to do that with my test server a few times. Some minor thing would happen and I would have to wipe and start over.
343
Looking at your kill script why is it set to kill -9 and not kill -15
343
Actually I managed to run and access PW server in my setup (described in the previous message), it wasn't that difficult :)
Now I'm trying to create/edit items, but don't succeed in it yet :( Which tool should be used for editing HEX of items in 1.5.1? A couple of years ago I ran an older server, but those tools don't work for 1.5.1, as I see.
I believe there have been some releases for tools that work with 1.5.1 in the 1.4.4+ threads. I believe that there are some on 343's PW_Dev disc that has them too as I think that is where I found an elements.data editor that worked.
Oh 343, did you happen to find out if you were ever able to prevent the creation of the new classes from the later versions other then just preventing them from logging in with allow_login_class_mask = 219 from the ptemplate.conf file?
Also, I did look for the death messages for the mobs and had no luck finding them as of yet.
Usually whenever I perform test(s), I'll do it like all scientific n shit... Depending on what exactly is desired from said results. For example, I've done tests before where I've set up 3 VMs - 1 as a "control", 1 where I do A, and the other where I do B - compare results. It doesn't matter if that took an hour, day, week, whatever those 3 VM's were only kept around as long as they were needed. So get to the technical part of your question I destroy/nuke everything! But then again my host ("dev") PC is good enough to do all this VERY fast. It will create a brand new VM with OS install and all in only a few minutes! (Ubuntu server 12.04.3). I can run 16GB in each VM, for THREE VM's and STILL have 16GB left over for my host system!
That is a very good question! I'm guessing because it's around 6/7 years old and I have never really given it a second look! You'll have to let me know if -15 works for PW daemons...
Sure they do, hex standards are the same. Only thing you may "miss" is the fact that any 'dated' tools don't include ways to make "new hex" for say the new race or new classes. IE, you're not going to get accurate hex data to make a GM dagger. But if you're slick enough you'll be able to use an outdated hexgen to create weapon stats JUST the way you want the stats themselves, then create a class that uses dagger in game, then figure out the hex for weapon, then go back and replace the item you just made from an older version and change it THERE. That's just an example of something I've actually done myself so :ott1:
You really HAVE to think outside da box man!!!
Nope, I was going to attempt to actually remove them from the client (yes I despise the new races entirely!) just for sake of "professionalism" (wouldn't be very professional to run a server where you couldn't make them but they were an option from the client), but I've never completed this goal. Obviously you'd still have to run the class login mask for the server otherwise people with modded clients could still make 'em...
This brings me to my next question to you. Do you happen to know how to link the client to the server so that the only client that will be able to connect to your server is the one that you release?
Also the server I am working on is basically your server with very little changes :lol:
Now, admittedly, I'm no I.S. (information security) expert, BUT, I will say:
NOT possible - it's seriously just not even possible. I for one don't personally believe in "digital security" because there really is no such thing. Just like DRM for movies/games - the 'newest' stuff may keep people from copying it, but the question is, how long does that last - a minute, day, week, month, and hour??? The thing is, while we may "invent" ways to keep things secure, they're only secure UNTIL someone figures out a way around it. Which people ALWAYS WILL, because there's really no such thing as KEEPING it secure!
This is why when you have something that is a CLIENT => SERVER relationship (such as PW) the SERVER is to NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER NEVER EVER EVER EVER EVAH to trust a CLIENT - EVER
Because the client is something people can alter or emulate, as where of course they don't have direct access to the SERVER (that YOU control)...
So while you MAY be able to come up with a method to "make someone" use a specific client to use with your server, it would only last an arbitrary amount of time before someone WOULD figure out a way around that!
So for this reason I don't even feel it's worth the effort - it'd be a wasted effort (unless IS is your kind of thing, and always trying to stay ahead of the assholes of the world)...
Hope this helps :lol:
Yes it did help I didn't it was possible but I figured I would ask, also I did test my safe shutdown with -15 on all the pw daemons and it worked so so. There was at least two that did not stop with the kill -15. 10 of 11 gameDB services were stopped as well as 20 or 21 uniquenamed services. the problem is I am not sure which one of those were not stopped.
The question would be finding out a way to check which ones were not stopped with -15 and use -9 if the -15 wasnt strong enough. Some research shows that services that have open sockets will not be able to be closed with -15 and a -9 would have to be used.
Is this your home address 343?: Independence Square complex at 300 E Street SW in Washington D.C.Quote:
I can run 16GB in each VM, for THREE VM's and STILL have 16GB left over for my host system!
:D:
:lol: no
Is it possible to have old characters view the new quests that you create or are they doomed to never see them? I ask because I added a couple new quests and when I go to the NPC on an old player character that was made I am no able to see the quest however when I take my GM character to the NPC I am able to see it. What is really strange is that a newly created character is also able to see the new quests as well. Am I missing something that is preventing the player character from viewing the quest?
Also 343 is there much work that would have to be done to upgrade your server from 1.3.6 to 1.3.8? and would there be tools on your disc that would actually work for 1.3.8?
So i have a host now, but it does not give the option to install your own OS. okay fine i will use the ubuntu server they have in a list of OS that i can choose. Well that OS is an update or few higher than the ubuntu server given in this package and which the server looks for before install. is there a way to install the package on a newer Ubuntu server?
I'm not sure yet as I haven't actually looked myself either, BUT, they may be in here (read this post):
If you give me some specific strings to search for, if I had something specific to search for, then I could probably find it :wink:
- - - Updated - - -
https://forum.ragezone.com/f755/map-...ml#post6062216
So after searching around. i have come up empty handed. When i try to access pwAdmin from the host, apache tomcat blocks me out. is there a way to access the pwAdmin without being on the same IP as the server .-.
--
More detailed: when i goto access pwAdmin while the host server is running it brings me to an apache error page that looks like this ( http://prntscr.com/6zczz7 ) basically what i understand is that error 403 is basically telling me that apache tomcat is blocking all "foreign IP's" from accessing this page or something along those lines. Is there a way to allow my IP into apache so i can access pwAdmin?
Yep, add your (specific) IP to the list of allowed IP's. By default the package only accepts connections to pwAdmin from either 127.0.0.1 or a LAN address. This can be found in context.xml (in meta-inf) within the pwAdmin directory (same for iweb if you want to use it :wink:). More specifically you're going to be editing the following line, edit as follows:
from:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="*" allow="127.*.*.*,10.*.*.*,192.*.*.*,172.*.*.*" />
to:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="*" allow="127.*.*.*,10.*.*.*,192.*.*.*,172.*.*.*,x.x.x.x" />
Where x.x.x.x == the WAN IP you want to permit/allow access...
- - - Updated - - -
You may also want to edit the .htaccess in /opt/lampp/htdocs/admin/ to allow connections from your IP as well.
Just add x.x.x.x (your IP) under the line "allow from 172.0.0.0/255.0.0.0" (add "allow from x.x.x.x")
I just wanted to state as far as my question about new quests and what not the problem was I didn't copy the right elements.data to the client so the client was not showing them as actually being there.
@343
I know I asked this but I did try and search but did not find anything. Is it possible to update your 1.3.6 version to 1.3.8 and are there tools on your dev disc that allows for development of that version? I figured I would ask before wasting my time in trying to get a 1.3.8 client.
Well as stated before i believe in this thread, the "1.3.6 version" of pw in this release is actuall 1.3.1 using a 1.3.6 client, tho im not sure of the differences between those two versions i am not sure you can update i could be wrong.
I am currently having an issue tho with the pwAdmin, everytime i go to load a template for the classes (so i can set their spawn and stuff of that nature) i get a load template error or something like that. Link to a picture: http://prntscr.com/7139p6 and xml mode does not load for me .-.
Unless I am being completely dumb at the moment (probably am anyway but moving on) it still does not load the templates and i have logged in as each class .-. the error im getting is "Loading Character Data Failed" when trying to load it, I have tried with and without the server on. so i am at a loss with that, I still have yet to try a different pwAdmin that i find from forums here but im not sure its a problem with pwAdmin itself.
Hey 343, what are your thoughts on a situation like this:
Say you want to have a "beta" PW server where some users register and play some time, get and use cubis, test for bugs, etc. Then some time later you want to launch the "release" PW server (on the same physical server), from scratch, but want to only preserve the registered accounts and nothing else (so those users don't have to register again), without any of the former characters, cubis, gold, etc. Only the blank accounts.
How would you approach this?
I have some ideas that i think might probably work but wanted to know your input as well
Thanks
Simple - delete the gameDB
That was one of my options, but wouldn't that delete the accounts as well?
I'm having a little trouble figuring out what-gets-placed-where in regards to the accessible Mysql database and the gameDB "balck box" database.
I believed that the gameDB had ALL the info (accounts, chars, inventory, whatever) and the Mysql one was just a "mirror" of what is accessible to us of that "black box" just to make it easier to navigate through that info.
Am i wrong with this assumption? because if i delete the gameDB then im left to believe that the account information is only stored on the Mysql DB, right?
Ohh ok, that makes sense.
What about the cubis each account has? is this stored in the gameDB or with the account information?
I am going to go on a limb and say yes it is. However i cannot verify that currently.
Ok great thanks.
Lets wait for 343, see if he can shed some light on this.
The MySQL DB does not contain anything pertinent to the game data. The MySQL DB contains user accounts, almost exclusively. Account ID, username, password, and some other non pertinent data (such as create time, email address etc). It also contains the functions necessary to operate the DB, and say, a registration page (IE the procedure ADDUSER). The MySQL DB can (may) also contain SOME character data, but this is limited to data we've intentionally "extracted" (from the GameDB) to be used for "website" purposes. IE: the table "uwebplayers" and "roles" contains certain (character) data for use in/with pwAdmin or a web-page for "ranking" info.
The GameDB contains EVERYTHING else, characters, their names, inventories, XML etc - EVERYTHING about them (down to their location and quests they've done)!
Now, the way "gold" or "cubi" works is, upon first getting "gold" or "cubi" that data is entered into MySQL (IE, say you "addgold" from pwAdmin). This info FIRST goes into the MySQL DB, but then at specified intervals is 'transferred' into the GameDB data. This is the reason your "gold" or "cubi" isn't "INSTANTLY" there after adding it. I don't know if you can even control the interval when this 'transfer' happens, at least I have not located it to date... But, when you first acquire your "gold" or "cubi" it will go into the MySQL DB table => usecashnow, all the entries you see sitting in "usecashnow" are "gold" or "cubi" /about/ to be transferred into a characters account (actually "sent to their toons" in the GameDB). Once this 'transaction' is complete the data can be found in "usecashlog". So, that being said, any actual "gold" or "cubi" the "account" has cannot be controlled through MySQL, other than adding (never tried it but you may be able to add a NEGATIVE amount to take away "gold"/"cubi"). But once the 'transaction' has left MySQL "usecashnow" that information is actually in the gameDB, and there's only a "log" of it in "usecashlog".
That being said, at least to an extent, the two DB's work in tandem. If you start with both empty, or delete BOTH - obviously you'll have a "clean" server. That is, NO accounts, NO characters, etc... NO data... Now, as you run a server (no matter what kind, public or not) the two DBs become populated together. IE: The first account you create gets assigned the account ID 1024, the first toon created (on said account) gets assigned the toon ID 1024. So, what happens if you delete ONE DB and NOT the other??? Well, if you delete the MySQL DB and NOT the GameDB, when you start with a fresh MySQL DB, there will be no accounts (you just wiped them all by clearing the MySQL DB), but, when the first person/account signs up - ID 1024, there will already be a character with that ID (assuming one was made in the first place - any preexisting toons will still be there after a MySQL wipe), so whoever creates that account, gets that toon(s), and everything about it (money, gold/cubi etc)... How about the other way around: lets say you delete the GameDB and NOT the MySQL DB, well now you've cleared out all game data, but all the accounts that were previously made will still be there. So if account 1024 signs in, he'll sign in to having NO toons, and will have to start from scratch (character creation).
So:
Delete both - like starting all over with a completely new/blank server, no accounts - no toons/money
Delete MySQL - no accounts, YES toons/money
Delete GameDB - YES accounts, no toons/money
So, for your case/idea of running a "beta" server, then wiping all data except accounts when you move into "production" is completely possible and actually quite simple. You simply create the new/fresh server and launch it in your "beta" phase. You can be very liberal with your "beta" phase (as they normally are) such as passing out tons of free shit. Then when you want to move into the "production" phase simply delete the GameDB (and uniquenamed DB). Of course you need to be clear on this intent to your player-base or you will almost be guaranteed to wind up with a LOT of pissed off people, and probably lose quite a few too. So, make sure to be open about it @ launch! Something along the lines of "BETA" and a full disclosure that when the server moves into "production" phase EVERYTHING WILL BE WIPED. I'd even broadcast exactly that ON the sign up page! Then of course warn again before actually doing it! I'd say at least a week or two in advance (as not everyone can play every day). In game auto announce would be most suited as even if you run a forum, there are MANY players out there who actually PLAY games rather than waste their time in a forum! (I know I'm one of em)! Then, whenever you say you're going to do it, DO IT. Just make sure that you never do it again once you make claims to have left said "beta" phase (for "production" phase)!
Hello , is there any way to host a 1.2.6 server ?
Thanks for your extremely detailed and helpful reply 343, really appreciated!
Now everything is much clear on how things work.
The only question that i have now is: If the accounts are solely managed in the MySql DB (like as you mentioned, if i delete the gameDB the accounts still exists in the Mysql one) then how does autentication work? I mean when the player tries to log in, does the authentication only check with the Mysql DB?
Im asking this mostly because i noticed that the way to store passwords is to encrypt them with MD5, which is not the most secure way to do this kind of things nowadays.
If i change the way the password is stored (eg: another encryption algorithm, or a salt-hash method) where is the part that handles the authentication with this data? Or is the client already expecting it to be handled that way (login+pwd MD5)?
Now going into another topic: your suggestions about the beta (thanks for that as well) regarding notifiing the players about the wiping and all, made me remember about this thread that i posted to a couple of days ago: https://forum.ragezone.com/f756/welcomemessage-1017723/
So i thought it would be nice to mention this info to the players also via the login chat message that im having trouble with in that thread. If you can give me some input on that as well, i would really appreciate it!
Thanks
Authentication happens in the authentication daemon (authd)
^this^
You're not changing the HASHING (coughnotencryptioncough) method without changing the AUTHD too. Of course you could put (register with) whatever you want in the DB, but unless you rewrite AUTHD too - this would not work! That being said md5 is the only one "out there". There are a few variants but all are md5 of the login+password. These are all the ones I've seen for PW (different AUTHD's), note they're all MD5 (first set, which this release is, - MD5 of login+pass in ascii/binary ; second one - MD5 of login+pass in HEX representation ; third one - same thing as second one with an added "0x" in front ; fourth set - MD5 of login+pass encoded in base64).
"0x".md5($Login.$Pass) = "ëg@”}ßHªàÁ,Æñp"
md5($Login.$Pass, TRUE) = "ëg@”}ßHªàÁ,Æñp"
md5($Login.$Pass) = "eb186740947ddf48aae0c12cc6f11170"
'0x'.md5($Login.$Pass) = "0xeb186740947ddf48aae0c12cc6f11170"
base64_encode(md5($Login.$Pass, true)) = "6xhnQJR930iq4MEsxvERcA=="
base64_encode(md5($Login.$Pass)) = "6xhnQJR930iq4MEsxvERcA=="
So the basic answer to your question, "no", you're not going to be able to use anything different than md5! It may not be the best method, it may be heavily "dated", but bear in mind, * SO is this game *! That being said, it's "just a game" so "security" is NOT of my top concerns anyway (it's not like you're running an online BANK or something)!
Wow, with most people calling encryption to any form of alteration, i must have read "MD5 encryption" somewhere and never actually checked whether it actually was an encryption mechanism and unintentionally jumped on the same wagon. I can imagine your pain while reading my post :lol:
Yeah, i know its actualy not that important given that it is a game, but just wanted to ask out of curiosity.
I would have probably left it like that anyways :laugh:
Anyhow, thanks very much for the explanation and all your help 343. You da real mvp!
It's a common error, people make it all the time - I just point it out whenever it happens :wink:
Just like when people call a "magazine" a "clip" (if you're familiar with firearms at all) - now THAT'S the one that REALLY drives me bonkers! Like literally, whenever someone calls a magazine a clip my eyes roll into the back of my head and I take on another form (I think a demon takes me over for the moment)! So, just don't call a magazine a clip and we'll be fine :lol:
But no, hashing vs encryption vs encoding - they're not all the same:
https://danielmiessler.com/study/enc...ption_hashing/
As always you seem to have outdone yourself on your release...hope you don't get tired of hearing that. Some of those things that make my ears burn is it's a round not a bullet and it's a NIC not a NIC card.
Hi,
I have installed all the add-ons and I want to play version 1.4.6 not 1.3.6. I been trying to switch to v1.4.6 but when I start the server the 1.3.6 starts not the 1.4.6. Sorry I am very new to this.
So... My question is how can I use the command correctly? I have tried "service pwversion" and it loaded the add-ons. From here on I am clueless. I have tried "service pwversion 146" as a command & it installs the iweb/pwadmin and after I start the server it is still on 1.3.6. Please help me figure this thing out.
What you do is install the 146 package then after that goto a web browser then goto localhost:8080/pwadmin and goto server controller tab. Start button on the left side starts the server. Just get a 146 client to use @-@
I did as u asked and only 1.3.6 starts. And i am using 343's 1.4.6 client. I opened the client and got no ping. I opened 1.3.6 and got a ping.
Would you be willing to help me out through T.V?
Im switching houses but o ce i get to the other house sure shoot me a message and i can assist through that id you dont get help by then
Okay perfect! Send me a pm when you are all ready to help me out. I'll just be watching anime until then.
343, i noticed that your pack does not get the latest xamp from a package manager, and uses an outdated version.
Thats probably fine for most cases, but if i have a public server and want to run a webpage with apache in the same machine, i would prefer having an updated version for security reasons.
Would you suggest just installing another updated xamp somewhere else, or updating the one that comes in your package?
What i actually mean is: would that break something?
Thanks
Is it normal to not beable to connect to mySQL via navCAT? says denied access to me.
Add a user in phpmyadmin and allow the ip of the machine using navicat to use that database
http://i57.tinypic.com/2jctti0.jpg
Thank you sora!
With the untouched release you should NOT be able to connect as "root"/"root"
You SHOULD be able to connect as "pwAdmin"/"root" (though)
Quote:
MySQL = username:pwAdmin password:root (access from ANY host)[ie... for BatGM, or Navicat]
I tried that before I left and still didn't work, i will try more troubleshooting when i get home. As well as more looking then what i have already done
343
I have been meaning to ask. If I unpack the models and surfaces from another client would I be able to import them to this version or would there me more that i would have to do. The reason I am asking is because I have one of the later clients and was wondering if i could take some of the monsters from that version and import them to the earlier version
Where would be a good guide on how to learn how to do that?
Okay, So basically aside of using the search button for a bunch of it (i really suggest that it will be helpful.) Here is a few links that i would find usefull if i was doing what you were.
Perfect World Ultimate Guide: By lvdrake
"[Wiki] Everything you will need...": By Vinute
There is a guide for porting models from other games (Such as jade dynasty i.e similar if not the same engines.) around and about both in the 1.4.4+ and 1.3.6- categories i would look there.
I appreciate you giving me some links to go by. Also I do use the search a lot for other problems and questions i come up with, and the problem is in this instance I really wouldn't know what to search for to find the right information. So again I do thank you for your assistance.
Also it wasn't so much porting from other games it was all just form PW just a later version of the client.
best thing i can say, do alittle reading. and search for keywords on your topic.
343, once again i come to you in my time of need
This is the situation: i rented a dedicated server for PW in which the closest OS that i can choose is Ubuntu 12.04.5 LTS (note the .5 at the end instead of .3)
I obviously couldn't run your script as it was because of the checkings and all, so i decided to run each of the steps manually in order to have more control, know what was the last step done if anything went wrong, and also to learn how all the procedure is made.
Note: I have already installed with no problems your pack (both 135 and 146 versions) with the script in a test server in which i could directly install the OS from your pack.
The only things i changed regarding the script:
-I downloaded the last version of xampp instead of the one that was on the pack.
-I used "apt-get install ia32-libs" because first i attempted to do the same as the script (dpkg -i *.deb) and it fucked up some dependencies and had to reinstall the whole OS.
-I didn't import the "support" DB to mysql as i will not be needing to use the provided hesk.
Everything else i did the same: copied all the folders and files to the correct directory, double checked everything, set IPs, etc.
Now when i start the server from pwAdmin, i get the status shown in the attached picture.
Now at first i wasn't to worried cause i expected a little bit of hassle, but after two straight days of testing, searching, trying, thinking, every possible solution/idea that crossed my mind or that i found, i am starting to get desperate.
I won't even list all the things i tried/tested because i could be writing until tomorrow.
I know that you mentioned somewhere that you would not give support to installations in other distros/versions, but maybe you could point me in the right direction to where to look, or luckily something like this has happened to you before while building the pack.
Believe me that i didn't want to post for help for this reason, but im quite out of ideas.
Thanks
Attachment 151925
Edit: i forgot to mention that although "auth" is down, i can login with an account i created but then im stuck at the character creation screen, where the only enabled button is "exit".
Sweet, its been awhile since Im missing... 4months I guess.. Well, now that Im back, feel free to shoot some problems u guys going through, I'll help as much as I can do. So far @343 file hasnt failed me yet, and I have a stable server with 30+ players (not online though, my server only runs in my own Internet Cafe shop, so its not public). So yeah, feel free to ask. And its good to be back, finally.. lolz
P/S:- Oh yeah, just a reminder, Im only helping if u having problem running 343 package or error after installation using the original file and version provided by 343. If u are using other version such as different version of ubuntu or additional files and etc to the package or during installation and an error occurred after that, then u should probably dont bother asking me. What I can promise u is, if u are using the exact file from 343 package and asked for my help, I'll help u all the way until u and the server perfectly running without problem. XD
Spoiler:
I totally miss-read this entire thing at first. the problem with you "not being able to run the scripts" is actually false, while yes it may be a problem you can run the scripts on any version of ubuntu #.#.# LTS, this was answered i believe a page back however i will give you a hint as to install 343's scripts (i suggest a fresh install of everything!)
Hint
However if you have the same problem as i do (if you install on a version higher than 12.4.2 i believe or whatever is included in the package) your authd when starting up will appear offline. dont worry it is actually online make sure when starting you have both the world map and astral domain open.Code:./install-pw --force
Yes, i've been able to partially solve my issue (which includes a lot of fresh installs =P). I forgot to post here any news about it though.
And yes, i knew about the force install (and currently i ended up using it) but my initial approach was instead of "forcing" something that i don't really know what was doing (the script) i thought it was a better idea to do it manually and learn along the way.
I plan on explanining more in detail the different methods that i tried and how i got it "working" in the end, but now im short on time.
Thanks for the help
excuse me 343 can u add me ? ,
i want to talk with you about somethings , if you dont mind
This is just a general question about crontab I am using 343's release so that is why I put it here. Is there anything I typed wrong because a lot of my AA messages are not working and yes they are set properly to be executed.
Code:# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 */2 * * * root /etc/cron.pw/136/welcome.sh
00 0 * * * root /etc/cron.pw/guildicon.sh
00 0 * * 0 root /etc/cron.pw/tpr.sh
0 0 * * * root /etc/cron.pw/136/backup.sh
0 6 * * 1 root /etc/cron.pw/136/brokenbridge.sh
0 18 * * 1 root /etc/cron.pw/136/brokenbridge.sh
0 6 * * 1 root /etc/cron.pw/136/hiddenhero.sh
0 18 * * 1 root /etc/cron.pw/136/hiddenhero.sh
0 6 * * 1 root /etc/cron.pw/136/bamboo.sh
0 18 * * 1 root /etc/cron.pw/136/bamboo.sh
0 8 * * 1 root /etc/cron.pw/136/silverpool.sh
0 20 * * 1 root /etc/cron.pw/136/silverpool.sh
0 8 * * 1 root /etc/cron.pw/136/sumor.sh
0 20 * * 1 root /etc/cron.pw/136/sumor.sh
0 8 * * 1 root /etc/cron.pw/136/arrowhead.sh
0 20 * * 1 root /etc/cron.pw/136/arrowhead.sh
0 8 * * 1 root /etc/cron.pw/136/tusktown.sh
0 20 * * 1 root /etc/cron.pw/136/tusktown.sh
0 10 * * 1 root /etc/cron.pw/136/sirrywine.sh
0 22 * * 1 root /etc/cron.pw/136/sirrywine.sh
0 10 * * 1 root /etc/cron.pw/136/naught.sh
0 22 * * 1 root /etc/cron.pw/136/naught.sh
0 10 * * 1 root /etc/cron.pw/136/northbarrier.sh
0 22 * * 1 root /etc/cron.pw/136/northbarrier.sh
0 6 * * 5 root /etc/cron.pw/136/timber.sh
0 18 * * 5 root /etc/cron.pw/136/timber.sh
0 6 * * 5 root /etc/cron.pw/136/wellspring.sh
0 18 * * 5 root /etc/cron.pw/136/wellspring.sh
0 6 * * 5 root /etc/cron.pw/136/vibrantcliffs.sh
0 18 * * 5 root /etc/cron.pw/136/vibrantcliffs.sh
0 8 * * 5 root /etc/cron.pw/136/tradewind.sh
0 20 * * 5 root /etc/cron.pw/136/tradewind.sh
0 8 * * 5 root /etc/cron.pw/136/sundown.sh
0 20 * * 5 root /etc/cron.pw/136/sundown.sh
0 8 * * 5 root /etc/cron.pw/136/arrivals.sh
0 20 * * 5 root /etc/cron.pw/136/arrivals.sh
0 8 * * 5 root /etc/cron.pw/136/whetstone.sh
0 20 * * 5 root /etc/cron.pw/136/whetstone.sh
0 10 * * 5 root /etc/cron.pw/136/immolation.sh
0 22 * * 5 root /etc/cron.pw/136/immolation.sh
0 10 * * 5 root /etc/cron.pw/136/villagelost.sh
0 22 * * 5 root /etc/cron.pw/136/villagelost.sh
0 10 * * 5 root /etc/cron.pw/136/southbarrier.sh
0 22 * * 5 root /etc/cron.pw/136/southbarrier.sh
0 20 * * 4 root /etc/cron.pw/136/adcwave1.sh
0 21 * * 4 root /etc/cron.pw/136/adcwave2.sh
0 22 * * 4 root /etc/cron.pw/136/adcwave3.sh
0 23 * * 4 root /etc/cron.pw/136/adcwave4.sh
0 24 * * 4 root /etc/cron.pw/136/adcwavefinal.sh
#
what is inside the shell scripts, do they each send a message to the game?
if that's the case looks like multiple commands are being sent at the same time, causing the issue!?
0 18 * * 1 root /etc/cron.pw/136/brokenbridge.sh does this work
0 6 * * 1 root /etc/cron.pw/136/hiddenhero.sh and this
0 18 * * 1 root /etc/cron.pw/136/hiddenhero.sh but not this
0 6 * * 1 root /etc/cron.pw/136/bamboo.sh and this?
no none of those announcement are working that is the problem. My backup script even didnt work.
whats in it is just a message saying the invasion is active
Code:<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="protocol.*"%>
<%@page import="com.goldhuman.auth.*"%>
<%@page import="com.goldhuman.util.*"%>
<%@page import="org.apache.commons.logging.Log"%>
<%@page import="org.apache.commons.logging.LogFactory"%>
<%@page import="java.io.*"%>
<%@page import="java.sql.*"%>
<%
//
// Coded by [B]aSH from Vendetta Gaming Network.
//
String msg = "Wraiths have attacked Bamboo Village! Who will help defend them!?!";
try {
protocol.DeliveryDB.broadcast((byte)9,-1,msg);
}
catch (Exception e)
{
out.println("<font color=red>Error Attempting to Broadcast Message!</font>");
}
%>
<%
out.println("<font color=green>Successfully Sent Broadcast Message!</font>");
%>
that's java, it wants to be called from a webserver not shell....
you can call it via wget if you like
I thought I did it right because I copied the Welcome.sh for each one?
here is the code for the bamboo.sh
here is the code for bamboo.jspCode:#!/bin/sh
wget http://127.0.0.1:8080/pwAdmin136/AA/bamboo.jsp
rm *jsp*
and I posted my crontab earlier... and when I do a manual call it works but it doesnt call automatically at the set times. could it be that I have to space them apart by a few seconds?Code:<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>
<%@page import="protocol.*"%>
<%@page import="com.goldhuman.auth.*"%>
<%@page import="com.goldhuman.util.*"%>
<%@page import="org.apache.commons.logging.Log"%>
<%@page import="org.apache.commons.logging.LogFactory"%>
<%@page import="java.io.*"%>
<%@page import="java.sql.*"%>
<%
//
// Coded by [B]aSH from Vendetta Gaming Network.
//
String msg = "Wraiths have attacked Bamboo Village! Who will help defend them!?!";
try {
protocol.DeliveryDB.broadcast((byte)9,-1,msg);
}
catch (Exception e)
{
out.println("<font color=red>Error Attempting to Broadcast Message!</font>");
}
%>
<%
out.println("<font color=green>Successfully Sent Broadcast Message!</font>");
%>
After reading more on cron this is what I came up with from what was explained.
here is my edited crontab
Code:# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#m h dom moy dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 */2 * * * root /etc/cron.pw/136/welcome.sh
00 0 * * * root /etc/cron.pw/guildicon.sh
00 0 * * 0 root /etc/cron.pw/tpr.sh
0 0 * * * root /etc/cron.pw/136/backup.sh
0 6 * * 1 root /etc/cron.pw/136/brokenbridge.sh && /etc/cron.pw/136/hiddenhero.sh && /etc/cron.pw/136/bamboo.sh
0 8 * * 1 root /etc/cron.pw/136/silverpool.sh && /etc/cron.pw/136/sumor.sh && /etc/cron.pw/136/arrowhead.sh && /etc/cron.pw/136/tusktown.sh
0 10 * * 1 root /etc/cron.pw/136/sirrywine.sh && /etc/cron.pw/136/naught.sh && /etc/cron.pw/136/northbarrier.sh
0 18 * * 1 root /etc/cron.pw/136/brokenbridge.sh && /etc/cron.pw/136/hiddenhero.sh && /etc/cron.pw/136/bamboo.sh
0 20 * * 1 root /etc/cron.pw/136/silverpool.sh && /etc/cron.pw/136/sumor.sh && /etc/cron.pw/136/arrowhead.sh && /etc/cron.pw/136/tusktown.sh
0 22 * * 1 root /etc/cron.pw/136/sirrywine.sh && /etc/cron.pw/136/naught.sh && /etc/cron.pw/136/northbarrier.sh
0 20 * * 4 root /etc/cron.pw/136/adcwave1.sh
0 21 * * 4 root /etc/cron.pw/136/adcwave2.sh
0 22 * * 4 root /etc/cron.pw/136/adcwave3.sh
0 23 * * 4 root /etc/cron.pw/136/adcwave4.sh
0 24 * * 4 root /etc/cron.pw/136/adcwavefinal.sh
0 6 * * 5 root /etc/cron.pw/136/timber.sh && /etc/cron.pw/136/wellspring.sh && /etc/cron.pw/136/vibrantcliffs.sh
0 8 * * 5 root /etc/cron.pw/136/tradewind.sh && /etc/cron.pw/136/sundown.sh && /etc/cron.pw/136/arrivals.sh && /etc/cron.pw/136/whetstone.sh
0 10 * * 5 root /etc/cron.pw/136/immolation.sh && /etc/cron.pw/136/villagelost.sh && /etc/cron.pw/136/southbarrier.sh
0 18 * * 5 root /etc/cron.pw/136/timber.sh && /etc/cron.pw/136/wellspring.sh && /etc/cron.pw/136/vibrantcliffs.sh
0 20 * * 5 root /etc/cron.pw/136/tradewind.sh && /etc/cron.pw/136/sundown.sh && /etc/cron.pw/136/arrivals.sh && /etc/cron.pw/136/whetstone.sh
0 22 * * 5 root /etc/cron.pw/136/immolation.sh && /etc/cron.pw/136/villagelost.sh && /etc/cron.pw/136/southbarrier.sh
#
Wonder if someone can help.. I have no issues w/ the server install... installed 136 then 151, all went smoothly. Connected to website, started server, created account via web, all nice.
I'm using the 1.5.1 client provided in the pack also. I have no real familiarity with the PW client, I just edited the serverlist.txt inside the patcher folder for it to let me connect to the server. It lets me connect, then I create character... ok, creation goes fine.
After creation, select character, hit start, and I get kicked out to login screen with 'could not connect to server (Y)' error.
WHAT IS CAUSING THIS?! I've reinstalled the server with NO extra bullshit steps in between... just straight clean install. I'm only trying to connect to a Virtualbox server, which I can connect to with no issues, using Host Only networking. Is there something I'm not doing right with the client?...
you will need to start the, starter map, is62 i believe
in your start script you could replace the section that starts the world map with
Code:PW=home #change to suite
cd /$PW/gamed/
for map in gs01 is62 #add as many maps here as you like
do
echo "Loading $map"
./gs $map > /$PW/logs/$map.log &
sleep 5; echo "$map Loaded"
done
That did it! Thanks! Ugh... there's no way a total noob to PW in general would have known that _._
Is there a list of 'essential' maps that must be running? Or can you get by with just the world map only until you try to enter an instance gate somewhere? Which are the 'core' must run maps?
yeah just world will do and origination , just open/close maps as you need them
v101 is the elements.data version
I don't know what is in 343's as I don't have the files
use sEledit to check
Spoiler:
is this compatible with CentOS 6.5?
Assuming you know what you're doing, yes - you could get this to work with CentOS. The package itself will install on Ubuntu (for new people) very easily (you could teach a monkey how to do it!). That being said, the installer is only set up to install very specifically on Ubuntu server 12.04.3 x64. To get it to work on anything else you would either have to use the FORCE command flag and or manually do installation. Notes on the FORCE command flag, using the FORCE command flag will not avoid an attempt to install included ia32-libs (could be a bad idea if NOT ubuntu 12.04.3 - that's why 12.04.3 is REQUIRED) {although for you&CentOS that actually should not be a problem since CentOS is a YUM based OS}. I personally run DEB based Linux distros, so some of the items in the release are DEB installers - the only thing in the release that you'd be missing (since it comes as a .DEB) would be: ia32-libs, binutils, and 7z (p7zip). That being said I would not install this on any x86 or "desktop" version OS (and I'm assuming you know that too). I do NOT recommend any "desktop" or x86 version - ONLY x64 ¤SERVER¤ edition!
Short answer: Yes and No
No: this installer (the actual installer script) will not work w/ CentOS (you could try using --force but I don't "support" that [--force is an ADVANCED option {something goes wrong you have to figure it out yourself - don't ask me for help})
Yes: the PW server itself will work on CentOS (last I remember, I only bother with Ubuntu since that's what this installer package was being designed and developed for)
Another side note: be glad the release wound up the way it is, I (at one point) was actually considering making the whole package itself a DEB installer! At least now you can have an opportunity to dissect the release to make it work on CentOS (YUM) if you so desire! :):
Thank you so much 343 for this release.
You are totally spoon feeding a lot of us... Especially me... but thanks a lot for everything. Really awesome that you did this.
343,
Remember that some time ago i mentioned the issue when switching to pvp mode, and you told me that maybe it was because of some corrupt data as my server had been already set up in PvE mode?
Well, i ran some tests in some VMs and real machines where i installed your pack with the provided Ubuntu, all untouched, and i'm afraid the issue persists.
To be more specific: I installed Ubuntu, mounted the 136 version and run the install script, rebooted, mounted the 146 version, run the script, rebooted, modified gdelivery/gamesys.conf and set pvp=1, changed my ip to a static one (on the VM), went to pwAdmin and start the PW server for the first time after that. The "lvl 1 white name and interrupted auto attack" issue is still there.
Any thoughts, ideas or possible solutions are really appreciated!
Thanks!
#343 is there any other way you can work on 1.4.4? Also is there a way to run this server on 32-bit computer?