[Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    POINT BLANK EMULATOR
    Point Blank Emulator is an emulator of Point Blank client 3.24 (last Piercing Blow client) that aim to be as most stable and coded as possible.

    All the emulators currently around are poorly made and not very customizable servers, so I started working to finish the 3.24 server (original link: https://forum.ragezone.com/f904/rele...020-a-1172826/) by fixing the major problems and coding the missing packages.

    The server will be customizable as much as possible, with a new system of commands and permissions that will make it possible to adapt to your liking.

    Tecnology:
    Actually the server is coded in C# with .Net Framework, but I'll move it to .Net Core soon.
    For the database it use PostgreSQL.

    Features:
    Spoiler:

    - Rooms (create, change host, change team, etc.)
    - Inventory (weapons, characters, items, random box, etc.)
    - Shop (buy weapons, characters, items, sets, random box, etc.)
    - Missions (all the base mission cards work properly)
    - Titles
    - Daily visit events
    - Battles (bomb, deathmatch, free-for-all, AI, eliminate, sniper mode, shotgun mode, knuckle)




    Screenshots:

    Spoiler:
















    Screenshots album: https://imgur.com/a/YFQ4biF
    Last edited by FusionDev; 05-08-21 at 12:28 PM.


  2. #2
    Would You Kindly? Bola is offline
    DeveloperRank
    Dec 2011 Join Date
    BrazilLocation
    1,759Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Why PostgreSQL ?

  3. #3
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Quote Originally Posted by Bola View Post
    Why PostgreSQL ?
    The server it is based on uses postgresql, so I continued with that. Probably later, however, I will switch to MySql (probably with a v2 from scratch, because the server is really badly written and it would take me less to do it from scratch)

  4. #4
    Would You Kindly? Bola is offline
    DeveloperRank
    Dec 2011 Join Date
    BrazilLocation
    1,759Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Quote Originally Posted by FusionDev View Post
    The server it is based on uses postgresql, so I continued with that. Probably later, however, I will switch to MySql (probably with a v2 from scratch, because the server is really badly written and it would take me less to do it from scratch)
    If you are rewriting why don't you change, else you will only writing the same code again, go different from the owned of project you're using as base project.

  5. #5
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Quote Originally Posted by Bola View Post
    If you are rewriting why don't you change, else you will only writing the same code again, go different from the owned of project you're using as base project.
    I'll move to mysql, but for now I prefer to keep postgresql.

    By the way, this is the changelog of the last week:
    Code:
    - Removed useless logs from battle server (that make my eyes blood)
    - Removed top-ups- Removed pc-cafe (will be coded as vip)
    - Removed level-up for rank over 51
    - Added plant and defuse duration static in the server (to avoid decimal separator problems, plant and defuse time don't need a configuration)
    - Added observer checkbox on room for player with rank GM or MOD (I'll code a system for rank permissions)
    - Small bug fixing- Database and encoding configuration are now readed from 'Data\Database.ini' (to avoid multiple configurations)
    - Implemented RCON on gameserver (useful for real-time interaction from website to server)
      - RCON use Fleck (WebSocket) for receive packets
      - RCON can be enabled / disable from configuration
      - RCON have a password that must be sended on packet for confirm that sended packet's are valid
    - Cleared auth / game from useless logs
    - !! Added weapon synchronization in battle 
    - !! Removed "10 minutes remaining" after battle end, maybe I'll code playtime events in the future
    - !! Added clan enable / disable from config Auth.ini
    - Replaced table 'info_login_configs' with table 'server_settings'
    - Replaced table info_basic_items'' with table 'server_inventory_template'
    - Replaced table 'info_channels' with table 'channels'
    - Replaced table 'info_gameservers' with table 'gameservers'
    - Replaced table 'info_cupons_flags' with table 'server_effect_flags'
    - Replaced table 'info_missions' with table 'server_cards'
    - Replaced table 'info_rank_awards' with table 'server_rank_awards'
    - Moved 'Data\Cards\MissionAwards' to database, table 'server_cardsawards'
    - Replace tables 'events' with 'serverevents'
    - Moved 'Data\Rank\Player.xml' to database, table 'server_ranks'
    - Moved 'Data\Rank\Clan.xml' to database, table 'server_clan_ranks'
    - Replaced table 'auto_ban' with table 'logs_auto_ban'
    - Replaced table 'nick_history' with table 'logs_nick_history'
    - Removed table 'gamerules', I'll code tournaments in the future
    - Replaced table 'friends' with table 'player_friends'
    - Replaced table 'clan_data' with table 'clans'
    - Replaced table 'accounts' with table 'players'
    - Removed table 'online' (not needed, can use players.online and players.state)
    - Improvement on BattleManager
    - Improvement on GameManager
    - Added RconSendMoney (Opcode: 1, Pattern: opcode|rconPassword|userId|moneys)
    - Added RconSendPoints (Opcode: 2, Pattern: opcode|rconPassword|userId|points)
    - Bunch of small bug fixed
    - Translated 'logs_nick_history' motive from Thai to English
    - Fixed channels user count on auth server
    - Added attendance check events (up to 31 rewards)
    - Added attendance check multi-reward (up to 2 items to choose)
    - Added settings 'enable_greenblood' in table 'server_settings', turn on / off age selection and force normal blood to everyone
    - Now 'access_level' permissions will be readed from table permissions_rights
    - Added permissions
    - Added permissions_levels (base database will have the follow levels: normal, vip, advanced vip, trial moderator, moderator, gamemaster)
    - Added permissions_rights
    - Added 'observer_enabled' permission
    - Added ':commands %page%' command (permission: commandscommand)
      - Show all the commands available for this user
    - Added ':gift %userid% %type% %value%' command (permission: giftcommand)
      - type 'money/moneys/cash', value 'amount': give money to user  - type 'point/points/gold', value 'amount': give points to user
      - type 'item/good/good', value 'goodid': give good item to user inventory (no characters and masks)
    - Added ':update %what%' to update part of the emulator (permission: updatecommand)
      - Can update: 
      - shop (instant for command sender, must login back for other players)
      - events (instant for everyone and force update even on the Auth server)
      - permissions (instant for everyone but fake_rank won't apply without login back, force update even on the Auth Server)
    - Quickstarts preferences now are saved in the database- Removed 'QuickStart.xml'

  6. #6
    Novice sojang is offline
    MemberRank
    Aug 2017 Join Date
    3Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Hey bro. Im developer server OZ Network :) (Hello from 2015)
    Good look bro but use net core.
    However the game is already dead and does not bring interest.
    I did a lot for this game. More than the rest here. Without me, PVP, shop and other things would not have appeared.
    I lost interest in this because the game became dead. Almost no one plays it
    But in any case, I wish you good luck :) If I can help you with something, I will be glad

  7. #7
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator [C# - PostgreSQL]

    Quote Originally Posted by sojang View Post
    Hey bro. Im developer server OZ Network :) (Hello from 2015)
    Good look bro but use net core.
    However the game is already dead and does not bring interest.
    I did a lot for this game. More than the rest here. Without me, PVP, shop and other things would not have appeared.
    I lost interest in this because the game became dead. Almost no one plays it
    But in any case, I wish you good luck :) If I can help you with something, I will be glad
    I will probably load all on GitHub, then I will share the link

  8. #8
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Code:
    - Added 'items' table where Battle server pick informations about weapons
    - Now damage is limited by items informations on 'items' table
      - Added configuration to allow or deny damage from unlisted items
      - Added configuration to turn off this protection
    - Added auto ban for users who use auto-kill on bot mode
    - Added auto ban for users who seems to have hack (PROTOCOL_BATTLE_TIMERSYNC_REQ)
      - Can be turned on / off from config
    - Added configuration 'ClearToken' to clear Token after login
        (I recommend leaving it active for safety reasons. The token must be regenerated by the launcher at each start)
    - Remove "shop" table, moved to:
        - 'item_goods' for weapons, characters & normal items
        - 'item_goods_effects' for effect items  - Both the table have now a 'discount' value, it will automatically calculate the price and add the 'sale' icon
        - Now goods don't need multiple line for more days, can just be added with a comma splitting them
    Example of new goods setup: https://prnt.sc/1jgz5np

  9. #9
    Valued Member Wafflee is offline
    MemberRank
    Oct 2015 Join Date
    139Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    im keeping an eye at this project , good job and good luck :)
    give me your discord , willing to give you an offer

  10. #10
    Account Upgraded | Title Enabled! Tryout is offline
    MemberRank
    Jul 2020 Join Date
    345Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Much btter if you will start from scratch and use MySQL instead of PostgreSQL since you are using the shared file then why don't just get those pointers so you can start from scratch as a base source? If I found my source with a bugless fixes I will share it here.

    Sent from my CPH1803 using Tapatalk

  11. #11
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Actually a few days ago I started developing my emulator for the client v1 (it will support all clients from v1.15.37 to v1.15.42).
    From now on, this post will no longer be about the server for v3, but for v1.

    About the new emulator:
    - I'm using Mysql
    - I'm creating the emulator with a slightly different structure than usual, there will be no separate projects for the authentication server and the game server, but only a single server that must be started with specific parameters


    This is how I structured that:



    And for start it:



    The project will be open source on GitHub when it actually makes sense (i.e. when we have a minimal base), so the community can contribute.

  12. #12
    Check http://arcturus.pw The General is offline
    DeveloperRank
    Aug 2011 Join Date
    7,607Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    When I tried to refactor some old server last year I was like, its better to write a new one from scratch. I gave up after trying to figure out what mess was written.

    Hopefully you can build something cool thats actually cleanish.

    Might I suggest to use dapper so you're not stuck with a specific database type.
    Also try to use dependency injection, it makes it all a lot cleaner.
    Seperate logic from the packets and move it to services so parts can be re-used and are not implemented in the packet.

  13. #13
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Quote Originally Posted by The General View Post
    When I tried to refactor some old server last year I was like, its better to write a new one from scratch. I gave up after trying to figure out what mess was written.

    Hopefully you can build something cool thats actually cleanish.

    Might I suggest to use dapper so you're not stuck with a specific database type.
    Also try to use dependency injection, it makes it all a lot cleaner.
    Seperate logic from the packets and move it to services so parts can be re-used and are not implemented in the packet.
    I'm on vacation and for 3 weeks I can't go to the pc, as soon as I come back and work on the project I will at least try to use dapper because it seems very flexible to me

  14. #14
    Proficient Member qabeel is offline
    MemberRank
    Apr 2013 Join Date
    177Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Quote Originally Posted by FusionDev View Post
    I'm on vacation and for 3 weeks I can't go to the pc, as soon as I come back and work on the project I will at least try to use dapper because it seems very flexible to me
    why you left v 3.24 , because v3 have a lot to development not like v1 ?

  15. #15
    Apprentice FusionDev is offline
    MemberRank
    Sep 2020 Join Date
    22Posts

    Re: [Development] Point Blank Emulator 3.24 [C# - PostgreSQL]

    Quote Originally Posted by qabeel View Post
    why you left v 3.24 , because v3 have a lot to development not like v1 ?
    I'm working on v1 just because i've a private server running with v1.15.41, so if I end this emulator I can use it instead of v3 client.



Page 1 of 2 12 LastLast

Advertisement