Current work.

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Thu Oct 19, 2017 5:44 pm

broxen wrote:
Thu Oct 19, 2017 3:25 pm
I'll open an issue regarding the tricks.bin error I'm getting running through wine, and the costume issue.
Thanks that'll help
broxen wrote:
Thu Oct 19, 2017 3:25 pm
The client was crashing in windows, but the server seemed solid. I'll create an issue for that but it seemed entirely random, so I'm not sure I could replicate it.
This might be a server issue too, since server might send something to the client it doesn't like :)
broxen wrote:
Thu Oct 19, 2017 3:25 pm
I think I understand what you mean about Paragon Chat. My understanding is that PC fools the client into running in a sort of debug mode and then intercepts the packets stream to send/receive information. I can see how this isn't truly the same and may not be conducive to a smooth traditional server-client setup. My thoughts regarding feature-parity relate to stability of the client and NPC spawns etc. Also it seemed to me that PC is perhaps further along in identifying and (for lack of a better term) translating the various commands the client may send. I'm not 100% sure why I have that impression and may be entirely mistaken, in which case feel free to educate me. I love learning about all of this.

On the NPC spawns front, I'm assuming they pulled this info from the client side data files, though I haven't dug deep enough to find it yet. As for my part, I'm still working on the Lua scripts which I hope will help to resolve that issue.
...
To be honest, I didn't put any work any work into npc spawning :oops: so it might be pretty easy to load them up at least. As for game commands, I have a pretty complete list too, including their meanings and encoding, just postponing implementation until the client actually sends them :)
broxen wrote:
Thu Oct 19, 2017 3:25 pm
Overall your progress here is amazing and I'm thankful for your hard work.
Thank You kindly, and people trying out the project and giving me feedback is a good source of motivation, so good work Broxen :D
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
broxen
Posts: 62
Joined: Tue Jun 07, 2016 8:26 am
Location: USA
Contact:

Re: Current work.

Post by broxen » Sat Oct 21, 2017 8:06 am

nemerle wrote:
Thu Oct 19, 2017 5:44 pm
...good work Broxen :D
Thanks!

I can confirm that the LUA engine works and communicates with the client. Server console output:

Code: Select all

Received window state 4 - 1
Received window state 4 - 2
Console command received l exec:{ print("Hello LUA World!") }
Hello LUA World!
Console command received l exec:{ client:admin_chat_message("hello world") }
Console command received l exec:{ client:admin_chat_message("hello world") }
Received window state 4 - 1
Received window state 4 - 2
Should I keep opening issues as I identify bugs or incomplete features? Or should I post here? I don't want to fill up the Issue Queue with incomplete features that you're aware need coding, but might just be low priority at the moment.

As an example:
  • Rubberbanding (you already acknowledged this on the github)
  • Character is semi-transparent
  • Jumping produces Unhandled event type 116 message in the server console window.
  • The day/night cycle is too quick and the moon movement is jerky
  • Filler text for character's current zone on Character Select screen during login
  • more.. you get the idea.
-broxen

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Sat Oct 21, 2017 9:20 am

Post those on github please, some of those are simple enough to fix. that I can label them as 'good first issue' , we might get even more people helping out ( fingers crossed :P )
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Sun Oct 22, 2017 1:23 pm

Thank You for adding all those issues to the tracker Broxen.

Right now I'm working on tracking down the problem with entering the map with pre-existing char.
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
broxen
Posts: 62
Joined: Tue Jun 07, 2016 8:26 am
Location: USA
Contact:

Re: Current work.

Post by broxen » Mon Oct 23, 2017 5:27 am

Thank you so much!

I'm working on an updated install/compile guide.

Also, I'm not experienced with sqlite, but it seems like I don't actually have to run a server daemon? Seems like having the sql files in the SEGS directory is enough? Can you walk me through using SQLite instead of postgresql? It'd help with the README I'm working on.

Thank you in advance!
-broxen

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Mon Oct 23, 2017 5:49 am

Sure thing, I'm going to do that after i get some much needed sleep ( in ~10-11h ? )

So sqlite: it uses local files as databases, as such there is no need to install a standalone DB server - this was the main point of including sqlite as an option, as it helps with simple installations/backups/distribution.

The most common sqlite editor is sqlitebrowser.
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
broxen
Posts: 62
Joined: Tue Jun 07, 2016 8:26 am
Location: USA
Contact:

Re: Current work.

Post by broxen » Tue Oct 24, 2017 7:30 am

nemerle wrote:
Mon Oct 23, 2017 5:49 am
Sure thing, I'm going to do that after i get some much needed sleep ( in ~10-11h ? )

So sqlite: it uses local files as databases, as such there is no need to install a standalone DB server - this was the main point of including sqlite as an option, as it helps with simple installations/backups/distribution.

The most common sqlite editor is sqlitebrowser.
This is great! So basically a starter database can be included during compile?

I found the segs and segs_game databases in one of the folders and copied them to my /out/ folder. Works like a charm.

I'll recommend sqlitebrowser in the README I'm writing up.
-broxen

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Tue Oct 24, 2017 8:59 am

broxen wrote:
Tue Oct 24, 2017 7:30 am
nemerle wrote:
Mon Oct 23, 2017 5:49 am
...
This is great! So basically a starter database can be included during compile?

I found the segs and segs_game databases in one of the folders and copied them to my /out/ folder. Works like a charm.

I'll recommend sqlitebrowser in the README I'm writing up.
Yup, and a simple tool can be created to build/reset the sqlite databases ( maybe even update them ? ), might as well pin it as a github issue
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Sat Oct 28, 2017 7:57 pm

Server internals changes:
  • During costume serialization, old code was accessing WorldData singleton to serialize the Color and PartName components using preloaded data.
    This was not a good design, so now all functions that require this specialized serialization are provided with an additional ColorAndPartPacker parameter.
  • Many Costume serialization functions were also converted from the class methods into standalone functions.
  • NetStructure class was removed, it didn't provide any useful abstraction in the current codebase, all of it's static methods were converted into standalone functions.
  • Aborting logout now works
  • implemented serialization of additional data structures ( including class and origin tables )
  • GameServer uses PIMPL idiom to hide it's data members, and thus reducing the number of include files that are parsed each time GameServer.h is included
  • MapServer uses PIMPL idiom to hide some of it's data members, and thus reducing the number of include files that are parsed each time MapServer.h is included
  • Only one instance of MapServer and GameServer are permitted per-process now
  • MapServer and GameServer provide access to their respective *ServerData classes.
  • MapServerData provides access to ColorAndPartPacker instance used by MapServer during it's operation
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

User avatar
nemerle
Posts: 398
Joined: Thu Jan 10, 2013 3:40 pm

Re: Current work.

Post by nemerle » Thu Nov 09, 2017 10:43 pm

Many things happened, for now some pictures:
Support for sending dialogs
Image
Sending informational text messages to client:
Image
And damage floating numbers:
Image
"Ich was in one sumere dale,
in one suthe diyhele hale,
iherde ich holde grete tale
an hule and one niyhtingale."

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests